added phone / express
This commit is contained in:
parent
e2bbb9e238
commit
b8c354958e
29 changed files with 102 additions and 102 deletions
13
.idea/.idea.Wonky.Client/.idea/.gitignore
vendored
13
.idea/.idea.Wonky.Client/.idea/.gitignore
vendored
|
@ -1,13 +0,0 @@
|
|||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Rider ignored files
|
||||
/modules.xml
|
||||
/contentModel.xml
|
||||
/projectSettingsUpdater.xml
|
||||
/.idea.Wonky.Client.iml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="com.jetbrains.rider.android.RiderAndroidMiscFileCreationComponent">
|
||||
<option name="ENSURE_MISC_FILE_EXISTS" value="true" />
|
||||
</component>
|
||||
</project>
|
2
Wonky.Client.sln.DotSettings
Normal file
2
Wonky.Client.sln.DotSettings
Normal file
|
@ -0,0 +1,2 @@
|
|||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Venligst/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
|
|
@ -27,6 +27,8 @@
|
|||
<th scope="col">Note</th>
|
||||
<th class="text-end" scope="col">sas</th>
|
||||
<th class="text-end" scope="col">Beløb</th>
|
||||
<th class="text-center" scope="col">T</th>
|
||||
<th class="text-center" scope="col">H</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
@ -40,6 +42,8 @@
|
|||
<td>@activity.OfficeNote</td>
|
||||
<td class="text-end">@activity.SasAmount</td>
|
||||
<td class="text-end">@(activity.StatusTypeEnum == "Quote" ? 0 : activity.OrderAmount)</td>
|
||||
<td class="text-center">@if(activity.OurRef.Contains("T:")){<i class="oi oi-phone"></i>}</td>
|
||||
<td class="text-center">@if(activity.Express){<i class="oi oi-flash"></i>}</td>
|
||||
</tr>
|
||||
}
|
||||
<tr>
|
||||
|
|
|
@ -19,3 +19,4 @@
|
|||
@using Wonky.Client.Components
|
||||
|
||||
<PageTitle>Inno Web CRM</PageTitle>
|
||||
|
||||
|
|
|
@ -47,7 +47,6 @@ public partial class LandingComponentAdmin : IDisposable
|
|||
private Preferences _prefs { get; set; } = new();
|
||||
private string _workDate { get; set; } = $"{DateTime.Now:yyyy-MM-dd}";
|
||||
private string _today { get; set; } = $"{DateTime.Now:yyyy-MM-dd}";
|
||||
private List<TaskItemDto>? _taskItems { get; set; } = new();
|
||||
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
|
@ -58,45 +57,6 @@ public partial class LandingComponentAdmin : IDisposable
|
|||
|
||||
_interceptor.RegisterEvent();
|
||||
_interceptor.RegisterBeforeSendEvent();
|
||||
|
||||
//await GetTaskItems(_workDate);
|
||||
await GetAllTasks();
|
||||
}
|
||||
|
||||
private async Task GetAllTasks()
|
||||
{
|
||||
_taskItems = await _taskItemRepo.GetTaskList();
|
||||
}
|
||||
|
||||
private async Task OnCompleteTask(string taskItemId)
|
||||
{
|
||||
await _preferenceService.SetWorkDate(DateTime.Now);
|
||||
var item = _taskItems.Find(x => x.TaskItemId == taskItemId);
|
||||
_navigator.NavigateTo($"/companies/{item.ReferenceId}/activities/new");
|
||||
}
|
||||
|
||||
private async Task GetTaskItems(string workDate)
|
||||
{
|
||||
_workDate = workDate;
|
||||
_taskItems = new List<TaskItemDto>();
|
||||
_taskItems = await _taskItemRepo.GetTaskList(workDate);
|
||||
}
|
||||
|
||||
private async Task OnTaskCompleted(string taskItemId)
|
||||
{
|
||||
var item = _taskItems.Find(x => x.TaskItemId == taskItemId);
|
||||
item.IsCompleted = true;
|
||||
await _taskItemRepo.UpdateTaskItem(taskItemId, item);
|
||||
_taskItems.Remove(item);
|
||||
_toast.ShowInfo("Opgaven er markeret som udført.");
|
||||
}
|
||||
|
||||
private async Task OnDeleteConfirmed(string taskItemId)
|
||||
{
|
||||
var item = _taskItems.First(x => x.TaskItemId == taskItemId);
|
||||
_taskItems.Remove(item);
|
||||
await _taskItemRepo.DeleteTaskItem(taskItemId);
|
||||
_toast.ShowInfo("Opgaven er slettet.");
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
|
|
|
@ -22,6 +22,10 @@
|
|||
<thead>
|
||||
<tr class="bg-light text-black">
|
||||
<th colspan="4">
|
||||
@if (ReportItem.Express)
|
||||
{
|
||||
<h2 class="text-center">TELEFONORDRE</h2>
|
||||
}
|
||||
<h2 class="text-center">@ReportItem.Company.Name</h2>
|
||||
</th>
|
||||
</tr>
|
||||
|
|
|
@ -49,9 +49,12 @@
|
|||
<div class="col-md-4">
|
||||
<h4>Kundenavn</h4>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="col-md-3">
|
||||
<h4>Postnr. Bynavn</h4>
|
||||
</div>
|
||||
<div class="col-md-1 text-center">
|
||||
<h4>H</h4>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<h4>Status</h4>
|
||||
</div>
|
||||
|
@ -67,9 +70,15 @@
|
|||
<div class="col-md-4">
|
||||
@order.Company.Name
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="col-md-3">
|
||||
@order.Company.ZipCode @order.Company.City
|
||||
</div>
|
||||
<div class="col-md-1 text-center">
|
||||
@if (order.Express)
|
||||
{
|
||||
<i class="oi oi-flash"></i>
|
||||
}
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
@switch (order.ProcessStatusEnum.ToLower())
|
||||
{
|
||||
|
|
|
@ -92,8 +92,8 @@ namespace Wonky.Client.HttpInterceptors
|
|||
switch (e.Response.StatusCode)
|
||||
{
|
||||
case HttpStatusCode.NotFound:
|
||||
message = "Der var ingen data ...";
|
||||
_toast.ShowInfo(message);
|
||||
// message = "Der var ingen data ...";
|
||||
// _toast.ShowInfo(message);
|
||||
break;
|
||||
case HttpStatusCode.BadRequest:
|
||||
// message = "Der er et problem med data ...";
|
||||
|
@ -102,7 +102,7 @@ namespace Wonky.Client.HttpInterceptors
|
|||
case HttpStatusCode.Unauthorized:
|
||||
ClearInfo();
|
||||
_navigation.NavigateTo($"/login/{currDoc}");
|
||||
message = "Login skal fornyes ...";
|
||||
message = "Venligst login ...";
|
||||
_toast.ShowWarning(message);
|
||||
break;
|
||||
case HttpStatusCode.InternalServerError:
|
||||
|
@ -118,7 +118,7 @@ namespace Wonky.Client.HttpInterceptors
|
|||
|
||||
private async void ClearInfo()
|
||||
{
|
||||
await _storage.RemoveItemsAsync(new List<string> {"_xa", "_xr", "_xe", "_xu"});
|
||||
await _storage.ClearAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,5 +24,6 @@ namespace Wonky.Client.HttpRepository;
|
|||
public interface ISalesItemHttpRepository
|
||||
{
|
||||
Task<PagingResponse<SalesItemView>> GetSalesItemsPaged(CatalogPagingParams pagingParameters);
|
||||
Task<SalesItemView> GetSalesItem(string id);
|
||||
Task<SalesItemView> GetSalesItemId(string salesItemId);
|
||||
Task<SalesItemView> GetSalesVariantId(string variantId);
|
||||
}
|
|
@ -77,10 +77,17 @@ public class SalesItemHttpRepository : ISalesItemHttpRepository
|
|||
return pagingResponse;
|
||||
}
|
||||
|
||||
public async Task<SalesItemView> GetSalesItem(string id)
|
||||
public async Task<SalesItemView> GetSalesItemId(string salesItemId)
|
||||
{
|
||||
var salesItem = await _client
|
||||
.GetFromJsonAsync<SalesItemView>($"{_apiConfig.CrmCatalog}/{id}");
|
||||
.GetFromJsonAsync<SalesItemView>($"{_apiConfig.CrmCatalog}/{salesItemId}");
|
||||
return salesItem ?? new SalesItemView();
|
||||
}
|
||||
|
||||
public async Task<SalesItemView> GetSalesVariantId(string variantId)
|
||||
{
|
||||
var salesItem = await _client
|
||||
.GetFromJsonAsync<SalesItemView>($"{_apiConfig.CrmCatalog}/variant/{variantId}");
|
||||
return salesItem ?? new SalesItemView();
|
||||
}
|
||||
}
|
|
@ -97,7 +97,7 @@ else
|
|||
<div class="row mb-1">
|
||||
<label for="referenceNumber" class="col-md-2 col-form-label">Rekvisition</label>
|
||||
<div class="col-md-4">
|
||||
<InputText id="referenceNumber" class="form-control" @bind-Value="_draft.ReferenceNumber"/>
|
||||
<InputText id="referenceNumber" class="form-control" @bind-Value="_draft.ReferenceNumber" />
|
||||
<ValidationMessage For="@(() => _draft.ReferenceNumber)"></ValidationMessage>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -76,30 +76,33 @@ public partial class ActivityNewVisitPage : IDisposable
|
|||
|
||||
protected override async Task OnParametersSetAsync()
|
||||
{
|
||||
_interceptor.RegisterEvent();
|
||||
_interceptor.RegisterBeforeSendEvent();
|
||||
|
||||
_prefs = await _userPrefs.GetPreferences();
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(_prefs.WorkDate))
|
||||
_workDate = DateTime.Parse(_prefs.WorkDate);
|
||||
_selectedDate = $"{_workDate:yyyy-MM-dd}";
|
||||
|
||||
// raise flag if report is closed
|
||||
_reportClosdd = await _reportRepo.ReportExist(_selectedDate);
|
||||
}
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
|
||||
_editContext = new EditContext(_draft);
|
||||
_editContext.OnFieldChanged += HandleFieldChanged;
|
||||
_editContext.OnValidationStateChanged += ValidationChanged;
|
||||
|
||||
_interceptor.RegisterEvent();
|
||||
_interceptor.RegisterBeforeSendEvent();
|
||||
|
||||
_draft.ActivityDate = $"{_workDate:yyyy-MM-dd}" ;
|
||||
|
||||
_ux = await _storage.GetItemAsync<UserInfoView>("_xu");
|
||||
|
||||
// get company
|
||||
_company = await _companyRepo.GetCompanyById(CompanyId);
|
||||
|
||||
|
||||
// variable to validate if customer needs phone number update
|
||||
_phone = _company.Phone;
|
||||
if (string.IsNullOrWhiteSpace(_company.Phone)
|
||||
|
@ -146,9 +149,11 @@ public partial class ActivityNewVisitPage : IDisposable
|
|||
|
||||
private async Task SelectSku(SelectedSku sku)
|
||||
{
|
||||
// fetch selected item
|
||||
_selectedItem = await _itemRepo.GetSalesItem(sku.ItemId);
|
||||
// get selected item
|
||||
if (string.IsNullOrWhiteSpace(sku.ItemId))
|
||||
return;
|
||||
|
||||
_selectedItem = await _itemRepo.GetSalesItemId(sku.ItemId);
|
||||
ShowItem = true;
|
||||
Price = sku.Rate;
|
||||
Quantity = sku.Quantity;
|
||||
|
@ -156,11 +161,6 @@ public partial class ActivityNewVisitPage : IDisposable
|
|||
StateHasChanged();
|
||||
}
|
||||
|
||||
private void CallHistoryModal()
|
||||
{
|
||||
_historyModal.Show();
|
||||
}
|
||||
|
||||
private void CallPriceHistoryModal()
|
||||
{
|
||||
_priceHistoryModal.Show();
|
||||
|
@ -168,6 +168,9 @@ public partial class ActivityNewVisitPage : IDisposable
|
|||
|
||||
private void SelectPrice(decimal price)
|
||||
{
|
||||
if (price == 0)
|
||||
return;
|
||||
|
||||
Price = price.ToString("N2", CultureInfo.InvariantCulture);
|
||||
StateHasChanged();
|
||||
}
|
||||
|
@ -205,13 +208,16 @@ public partial class ActivityNewVisitPage : IDisposable
|
|||
}
|
||||
|
||||
HideButtons = true;
|
||||
_draft.ActivityDate = _prefs.WorkDate;
|
||||
_draft.ActivityDate = $"{_workDate:yyyy-MM-dd}";
|
||||
_draft.OurRef = _draft.ActivityTypeEnum switch
|
||||
{
|
||||
"phone" => $"T:{_ux.FullName.Split(" ")[0]}",
|
||||
"onSite" => $"B:{_ux.FullName.Split(" ")[0]}",
|
||||
_ => ""
|
||||
};
|
||||
if (_draft.ActivityTypeEnum == "phone" && _draft.Express)
|
||||
_draft.OurRef = $"E{_draft.OurRef}";
|
||||
|
||||
_draft.Lines = new List<ActivityLineDto>();
|
||||
var ln = 0;
|
||||
if (DraftStateProvider.Draft.Items.Count != 0)
|
||||
|
@ -235,12 +241,13 @@ public partial class ActivityNewVisitPage : IDisposable
|
|||
{
|
||||
_company.Phone = _draft.Phone;
|
||||
await _companyRepo.UpdateCompany(_company.CompanyId, _company);
|
||||
_toast.ShowInfo("Kunde telefon nummer er opdateret.");
|
||||
// _toast.ShowInfo("Kunde telefon nummer er opdateret.");
|
||||
}
|
||||
// post to api
|
||||
var result = await _activityRepo.CreateActivity(_draft);
|
||||
// show result message
|
||||
_toast.ShowSuccess($"{result.Message}.");
|
||||
_selectedItem = new SalesItemView();
|
||||
await DraftStateProvider.DeleteDraftAsync();
|
||||
_navigator.NavigateTo($"/companies");
|
||||
}
|
||||
|
@ -292,6 +299,12 @@ public partial class ActivityNewVisitPage : IDisposable
|
|||
|| _poFormInvalid
|
||||
|| DraftStateProvider.Draft.Items.Count == 0
|
||||
|| (_draft.ActivityStatusEnum == "offer" && string.IsNullOrWhiteSpace(_draft.Email));
|
||||
if (_draft.YourRef.Length > 35 || _draft.ReferenceNumber.Length > 20)
|
||||
{
|
||||
_poFormInvalid = true;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (InvalidActivity)
|
||||
{
|
||||
|
|
|
@ -110,14 +110,14 @@
|
|||
<div class="row mb-3">
|
||||
<label for="newPasswd" class="col-md-2 col-form-label">Ny</label>
|
||||
<div class="col-md-10">
|
||||
<InputText id="newPasswd" type="password" class="form-control" @bind-Value="@_passwords.NewPassword"/>
|
||||
<InputText id="newPasswd" class="form-control" @bind-Value="@_passwords.NewPassword"/>
|
||||
<ValidationMessage For="@(() => _passwords.NewPassword)"></ValidationMessage>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<label for="verifyPasswd" class="col-md-2 col-form-label">Bekræft</label>
|
||||
<div class="col-md-10">
|
||||
<InputText id="verifyPasswd" type="password" class="form-control" @bind-Value="@_passwords.ConfirmPassword"/>
|
||||
<InputText id="verifyPasswd" class="form-control" @bind-Value="@_passwords.ConfirmPassword"/>
|
||||
<ValidationMessage For="@(() => _passwords.ConfirmPassword)"></ValidationMessage>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -193,7 +193,7 @@
|
|||
<a class="btn btn-light border-dark d-block" href="/companies">Oversigt</a>
|
||||
</div>
|
||||
<div class="col">
|
||||
<a class="btn btn-light border-dark d-block" href="/companies/@_company.CompanyId/workplaces">Kemi</a>
|
||||
@* <a class="btn btn-light border-dark d-block" href="/companies/@_company.CompanyId/workplaces">Kemi</a> *@
|
||||
</div>
|
||||
<div class="col">
|
||||
<a class="btn btn-light border-dark d-block" href="/companies/@_company.CompanyId/h/i">Produktkøb</a>
|
||||
|
|
|
@ -35,7 +35,7 @@ public partial class KrvItemViewPage : IDisposable
|
|||
{
|
||||
_interceptor.RegisterEvent();
|
||||
_interceptor.RegisterBeforeSendEvent();
|
||||
_item = await _itemRepo.GetSalesItem(SalesItemId);
|
||||
_item = await _itemRepo.GetSalesVariantId(SalesItemId);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -102,7 +102,7 @@ public partial class OfficeNewOrderPage : IDisposable
|
|||
private async Task SelectSku(SelectedSku sku)
|
||||
{
|
||||
ShowItem = true;
|
||||
_selectedItem = await _itemRepo.GetSalesItem(sku.ItemId);
|
||||
_selectedItem = await _itemRepo.GetSalesVariantId(sku.ItemId);
|
||||
Price = sku.Rate;
|
||||
Quantity = sku.Quantity;
|
||||
}
|
||||
|
|
|
@ -26,7 +26,11 @@
|
|||
<thead>
|
||||
<tr>
|
||||
<th colspan="4">
|
||||
<h2 class="text-center">@_order.Company.Name</h2>
|
||||
@if (_order.Express)
|
||||
{
|
||||
<h2 class="text-center fw-bold">HASTE ORDRE</h2>
|
||||
}
|
||||
<h2 class="text-center">@_order.Company.Name</h2>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
|
@ -32,6 +32,6 @@
|
|||
<div class="content d-none d-print-block">
|
||||
@Body
|
||||
</div>
|
||||
<BlazoredToasts Position="ToastPosition.BottomCenter" Timeout="2"/>
|
||||
<BlazoredToasts Position="ToastPosition.BottomCenter" Timeout="3"/>
|
||||
</main>
|
||||
</div>
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
<div class="text-sm-end me-1">@rate.Quantity</div>
|
||||
<div class="text-sm-end me-1">@rate.Rate</div>
|
||||
<div>
|
||||
<a class="btn btn-primary btn-sm" data-bs-dismiss="modal" @onclick="@(() => SelectItem(item.ItemId, rate.Quantity, rate.Rate))">
|
||||
<a class="btn btn-primary btn-sm" data-bs-dismiss="modal" @onclick="@(() => SelectItem(item.SalesItemId, rate.Quantity, rate.Rate))">
|
||||
<i class="oi oi-plus"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -41,9 +41,10 @@ public partial class PriceListModal : IDisposable
|
|||
{
|
||||
_preferences = await _preferenceService.GetPreferences();
|
||||
_paging.OrderBy = _preferences.ItemSort;
|
||||
_paging.SearchColumn = _preferences.ItemSort;
|
||||
_paging.PageSize = Convert.ToInt32((_preferences.PageSize));
|
||||
_paging.SearchColumn = _preferences.ItemSearch;
|
||||
_paging.PageSize = Convert.ToInt32(_preferences.PageSize);
|
||||
_interceptor.RegisterEvent();
|
||||
_interceptor.RegisterBeforeSendEvent();
|
||||
await GetSalesItems();
|
||||
}
|
||||
|
||||
|
|
|
@ -36,6 +36,9 @@ public partial class ProductPriceHistoryModal
|
|||
|
||||
protected override async Task OnParametersSetAsync()
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(ItemSku))
|
||||
return;
|
||||
|
||||
History = await _historyRepo.FetchHistory(CompanyId, ItemSku);
|
||||
if (History.Any())
|
||||
{
|
||||
|
|
|
@ -11,10 +11,10 @@
|
|||
<PackageReference Include="Blazored.LocalStorage" Version="4.2.0" />
|
||||
<PackageReference Include="Blazored.Toast" Version="3.2.2" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authentication" Version="2.2.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authorization" Version="6.0.7" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.Authorization" Version="6.0.7" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="6.0.7" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="6.0.7" PrivateAssets="all" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authorization" Version="6.0.8" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.Authorization" Version="6.0.8" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="6.0.8" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="6.0.8" PrivateAssets="all" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.WebUtilities" Version="2.2.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Http" Version="6.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" />
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
{
|
||||
"appInfo": {
|
||||
"name": "Wonky Client",
|
||||
"version": "0.10.72",
|
||||
"rc": false,
|
||||
"version": "0.10.84",
|
||||
"rc": true,
|
||||
"sandBox": false,
|
||||
"image": "grumpy-coder.png"
|
||||
},
|
||||
"apiConfig": {
|
||||
"innoBaseUrl": "https://staging.innotec.dk",
|
||||
"innoBaseUrl": "https://app.innotec.dk",
|
||||
"glsTrackUrl": "https://www.gls-group.eu/276-I-PORTAL-WEB/content/GLS/DK01/DA/5004.htm?txtAction=71000&txtRefNo=",
|
||||
"glsId": "",
|
||||
"serviceVirk": "api/v2/services/virk",
|
||||
|
|
|
@ -113,10 +113,12 @@ namespace Wonky.Entity.DTO
|
|||
/// </summary>
|
||||
[Required(ErrorMessage = "Vælg aktivitetstype")]
|
||||
public string ActivityTypeEnum { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// Flag express order
|
||||
/// </summary>
|
||||
public bool Express { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Activity status enum as string
|
||||
/// </summary>
|
||||
|
|
|
@ -29,7 +29,10 @@ public class ReportItemView
|
|||
/// Closed sale
|
||||
/// </summary>
|
||||
public bool Closed { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// express flag
|
||||
/// </summary>
|
||||
public bool Express { get; set; }
|
||||
/// <summary>
|
||||
/// ESales number
|
||||
/// </summary>
|
||||
|
|
|
@ -17,7 +17,8 @@ namespace Wonky.Entity.Views;
|
|||
|
||||
public class SalesItemView
|
||||
{
|
||||
public string ItemId { get; set; } = "";
|
||||
public string SalesItemId { get; set; } = "";
|
||||
public string VariantId { get; set; } = "";
|
||||
public string Name { get; set; } = "";
|
||||
public string Sku { get; set; } = "";
|
||||
public string ShortName { get; set; } = "";
|
||||
|
|
|
@ -20,7 +20,7 @@ namespace Wonky.Entity.Views;
|
|||
public class UserInfoView
|
||||
{
|
||||
[JsonPropertyName("id")] public string Id { get; set; } = "";
|
||||
[JsonPropertyName("Advisor")] public string Advisor { get; set; } = "";
|
||||
[JsonPropertyName("advisor")] public string Advisor { get; set; } = "";
|
||||
[JsonPropertyName("companyId")] public string CrmCompanyKey { get; set; } = "";
|
||||
[JsonPropertyName("countryCode")] public string CountryCode { get; set; } = "";
|
||||
[JsonPropertyName("countryName")] public string CountryName { get; set; } = "";
|
||||
|
|
|
@ -59,4 +59,8 @@ public class WarehouseOrderView
|
|||
/// Current process status
|
||||
/// </summary>
|
||||
public string ProcessStatusEnum { get; set; } = "";
|
||||
/// <summary>
|
||||
/// express flag
|
||||
/// </summary>
|
||||
public bool Express { get; set; }
|
||||
}
|
Loading…
Reference in a new issue