added phone / express

This commit is contained in:
Frede Hundewadt 2022-08-15 06:35:15 +02:00
parent e2bbb9e238
commit b8c354958e
29 changed files with 102 additions and 102 deletions

View file

@ -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

View file

@ -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>

View 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>

View file

@ -27,6 +27,8 @@
<th scope="col">Note</th> <th scope="col">Note</th>
<th class="text-end" scope="col">sas</th> <th class="text-end" scope="col">sas</th>
<th class="text-end" scope="col">Beløb</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> </tr>
</thead> </thead>
<tbody> <tbody>
@ -40,6 +42,8 @@
<td>@activity.OfficeNote</td> <td>@activity.OfficeNote</td>
<td class="text-end">@activity.SasAmount</td> <td class="text-end">@activity.SasAmount</td>
<td class="text-end">@(activity.StatusTypeEnum == "Quote" ? 0 : activity.OrderAmount)</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>
} }
<tr> <tr>

View file

@ -19,3 +19,4 @@
@using Wonky.Client.Components @using Wonky.Client.Components
<PageTitle>Inno Web CRM</PageTitle> <PageTitle>Inno Web CRM</PageTitle>

View file

@ -47,7 +47,6 @@ public partial class LandingComponentAdmin : IDisposable
private Preferences _prefs { get; set; } = new(); private Preferences _prefs { get; set; } = new();
private string _workDate { get; set; } = $"{DateTime.Now:yyyy-MM-dd}"; private string _workDate { get; set; } = $"{DateTime.Now:yyyy-MM-dd}";
private string _today { 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() protected override async Task OnInitializedAsync()
@ -58,45 +57,6 @@ public partial class LandingComponentAdmin : IDisposable
_interceptor.RegisterEvent(); _interceptor.RegisterEvent();
_interceptor.RegisterBeforeSendEvent(); _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() public void Dispose()

View file

@ -22,6 +22,10 @@
<thead> <thead>
<tr class="bg-light text-black"> <tr class="bg-light text-black">
<th colspan="4"> <th colspan="4">
@if (ReportItem.Express)
{
<h2 class="text-center">TELEFONORDRE</h2>
}
<h2 class="text-center">@ReportItem.Company.Name</h2> <h2 class="text-center">@ReportItem.Company.Name</h2>
</th> </th>
</tr> </tr>

View file

@ -49,9 +49,12 @@
<div class="col-md-4"> <div class="col-md-4">
<h4>Kundenavn</h4> <h4>Kundenavn</h4>
</div> </div>
<div class="col-md-4"> <div class="col-md-3">
<h4>Postnr. Bynavn</h4> <h4>Postnr. Bynavn</h4>
</div> </div>
<div class="col-md-1 text-center">
<h4>H</h4>
</div>
<div class="col-md-2"> <div class="col-md-2">
<h4>Status</h4> <h4>Status</h4>
</div> </div>
@ -67,9 +70,15 @@
<div class="col-md-4"> <div class="col-md-4">
@order.Company.Name @order.Company.Name
</div> </div>
<div class="col-md-4"> <div class="col-md-3">
@order.Company.ZipCode @order.Company.City @order.Company.ZipCode @order.Company.City
</div> </div>
<div class="col-md-1 text-center">
@if (order.Express)
{
<i class="oi oi-flash"></i>
}
</div>
<div class="col-md-2"> <div class="col-md-2">
@switch (order.ProcessStatusEnum.ToLower()) @switch (order.ProcessStatusEnum.ToLower())
{ {

View file

@ -92,8 +92,8 @@ namespace Wonky.Client.HttpInterceptors
switch (e.Response.StatusCode) switch (e.Response.StatusCode)
{ {
case HttpStatusCode.NotFound: case HttpStatusCode.NotFound:
message = "Der var ingen data ..."; // message = "Der var ingen data ...";
_toast.ShowInfo(message); // _toast.ShowInfo(message);
break; break;
case HttpStatusCode.BadRequest: case HttpStatusCode.BadRequest:
// message = "Der er et problem med data ..."; // message = "Der er et problem med data ...";
@ -102,7 +102,7 @@ namespace Wonky.Client.HttpInterceptors
case HttpStatusCode.Unauthorized: case HttpStatusCode.Unauthorized:
ClearInfo(); ClearInfo();
_navigation.NavigateTo($"/login/{currDoc}"); _navigation.NavigateTo($"/login/{currDoc}");
message = "Login skal fornyes ..."; message = "Venligst login ...";
_toast.ShowWarning(message); _toast.ShowWarning(message);
break; break;
case HttpStatusCode.InternalServerError: case HttpStatusCode.InternalServerError:
@ -118,7 +118,7 @@ namespace Wonky.Client.HttpInterceptors
private async void ClearInfo() private async void ClearInfo()
{ {
await _storage.RemoveItemsAsync(new List<string> {"_xa", "_xr", "_xe", "_xu"}); await _storage.ClearAsync();
} }
} }
} }

View file

@ -24,5 +24,6 @@ namespace Wonky.Client.HttpRepository;
public interface ISalesItemHttpRepository public interface ISalesItemHttpRepository
{ {
Task<PagingResponse<SalesItemView>> GetSalesItemsPaged(CatalogPagingParams pagingParameters); Task<PagingResponse<SalesItemView>> GetSalesItemsPaged(CatalogPagingParams pagingParameters);
Task<SalesItemView> GetSalesItem(string id); Task<SalesItemView> GetSalesItemId(string salesItemId);
Task<SalesItemView> GetSalesVariantId(string variantId);
} }

View file

@ -77,10 +77,17 @@ public class SalesItemHttpRepository : ISalesItemHttpRepository
return pagingResponse; return pagingResponse;
} }
public async Task<SalesItemView> GetSalesItem(string id) public async Task<SalesItemView> GetSalesItemId(string salesItemId)
{ {
var salesItem = await _client 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(); return salesItem ?? new SalesItemView();
} }
} }

View file

@ -76,30 +76,33 @@ public partial class ActivityNewVisitPage : IDisposable
protected override async Task OnParametersSetAsync() protected override async Task OnParametersSetAsync()
{ {
_interceptor.RegisterEvent();
_interceptor.RegisterBeforeSendEvent();
_prefs = await _userPrefs.GetPreferences(); _prefs = await _userPrefs.GetPreferences();
if (!string.IsNullOrWhiteSpace(_prefs.WorkDate)) if (!string.IsNullOrWhiteSpace(_prefs.WorkDate))
_workDate = DateTime.Parse(_prefs.WorkDate); _workDate = DateTime.Parse(_prefs.WorkDate);
_selectedDate = $"{_workDate:yyyy-MM-dd}"; _selectedDate = $"{_workDate:yyyy-MM-dd}";
// raise flag if report is closed // raise flag if report is closed
_reportClosdd = await _reportRepo.ReportExist(_selectedDate); _reportClosdd = await _reportRepo.ReportExist(_selectedDate);
} }
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
{ {
_editContext = new EditContext(_draft); _editContext = new EditContext(_draft);
_editContext.OnFieldChanged += HandleFieldChanged; _editContext.OnFieldChanged += HandleFieldChanged;
_editContext.OnValidationStateChanged += ValidationChanged; _editContext.OnValidationStateChanged += ValidationChanged;
_interceptor.RegisterEvent();
_interceptor.RegisterBeforeSendEvent();
_draft.ActivityDate = $"{_workDate:yyyy-MM-dd}" ; _draft.ActivityDate = $"{_workDate:yyyy-MM-dd}" ;
_ux = await _storage.GetItemAsync<UserInfoView>("_xu"); _ux = await _storage.GetItemAsync<UserInfoView>("_xu");
// get company
_company = await _companyRepo.GetCompanyById(CompanyId); _company = await _companyRepo.GetCompanyById(CompanyId);
// variable to validate if customer needs phone number update // variable to validate if customer needs phone number update
_phone = _company.Phone; _phone = _company.Phone;
if (string.IsNullOrWhiteSpace(_company.Phone) if (string.IsNullOrWhiteSpace(_company.Phone)
@ -146,9 +149,11 @@ public partial class ActivityNewVisitPage : IDisposable
private async Task SelectSku(SelectedSku sku) private async Task SelectSku(SelectedSku sku)
{ {
// fetch selected item // get selected item
_selectedItem = await _itemRepo.GetSalesItem(sku.ItemId); if (string.IsNullOrWhiteSpace(sku.ItemId))
return;
_selectedItem = await _itemRepo.GetSalesItemId(sku.ItemId);
ShowItem = true; ShowItem = true;
Price = sku.Rate; Price = sku.Rate;
Quantity = sku.Quantity; Quantity = sku.Quantity;
@ -156,11 +161,6 @@ public partial class ActivityNewVisitPage : IDisposable
StateHasChanged(); StateHasChanged();
} }
private void CallHistoryModal()
{
_historyModal.Show();
}
private void CallPriceHistoryModal() private void CallPriceHistoryModal()
{ {
_priceHistoryModal.Show(); _priceHistoryModal.Show();
@ -168,6 +168,9 @@ public partial class ActivityNewVisitPage : IDisposable
private void SelectPrice(decimal price) private void SelectPrice(decimal price)
{ {
if (price == 0)
return;
Price = price.ToString("N2", CultureInfo.InvariantCulture); Price = price.ToString("N2", CultureInfo.InvariantCulture);
StateHasChanged(); StateHasChanged();
} }
@ -205,13 +208,16 @@ public partial class ActivityNewVisitPage : IDisposable
} }
HideButtons = true; HideButtons = true;
_draft.ActivityDate = _prefs.WorkDate; _draft.ActivityDate = $"{_workDate:yyyy-MM-dd}";
_draft.OurRef = _draft.ActivityTypeEnum switch _draft.OurRef = _draft.ActivityTypeEnum switch
{ {
"phone" => $"T:{_ux.FullName.Split(" ")[0]}", "phone" => $"T:{_ux.FullName.Split(" ")[0]}",
"onSite" => $"B:{_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>(); _draft.Lines = new List<ActivityLineDto>();
var ln = 0; var ln = 0;
if (DraftStateProvider.Draft.Items.Count != 0) if (DraftStateProvider.Draft.Items.Count != 0)
@ -235,12 +241,13 @@ public partial class ActivityNewVisitPage : IDisposable
{ {
_company.Phone = _draft.Phone; _company.Phone = _draft.Phone;
await _companyRepo.UpdateCompany(_company.CompanyId, _company); await _companyRepo.UpdateCompany(_company.CompanyId, _company);
_toast.ShowInfo("Kunde telefon nummer er opdateret."); // _toast.ShowInfo("Kunde telefon nummer er opdateret.");
} }
// post to api // post to api
var result = await _activityRepo.CreateActivity(_draft); var result = await _activityRepo.CreateActivity(_draft);
// show result message // show result message
_toast.ShowSuccess($"{result.Message}."); _toast.ShowSuccess($"{result.Message}.");
_selectedItem = new SalesItemView();
await DraftStateProvider.DeleteDraftAsync(); await DraftStateProvider.DeleteDraftAsync();
_navigator.NavigateTo($"/companies"); _navigator.NavigateTo($"/companies");
} }
@ -292,6 +299,12 @@ public partial class ActivityNewVisitPage : IDisposable
|| _poFormInvalid || _poFormInvalid
|| DraftStateProvider.Draft.Items.Count == 0 || DraftStateProvider.Draft.Items.Count == 0
|| (_draft.ActivityStatusEnum == "offer" && string.IsNullOrWhiteSpace(_draft.Email)); || (_draft.ActivityStatusEnum == "offer" && string.IsNullOrWhiteSpace(_draft.Email));
if (_draft.YourRef.Length > 35 || _draft.ReferenceNumber.Length > 20)
{
_poFormInvalid = true;
return;
}
if (InvalidActivity) if (InvalidActivity)
{ {

View file

@ -110,14 +110,14 @@
<div class="row mb-3"> <div class="row mb-3">
<label for="newPasswd" class="col-md-2 col-form-label">Ny</label> <label for="newPasswd" class="col-md-2 col-form-label">Ny</label>
<div class="col-md-10"> <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> <ValidationMessage For="@(() => _passwords.NewPassword)"></ValidationMessage>
</div> </div>
</div> </div>
<div class="row mb-3"> <div class="row mb-3">
<label for="verifyPasswd" class="col-md-2 col-form-label">Bekræft</label> <label for="verifyPasswd" class="col-md-2 col-form-label">Bekræft</label>
<div class="col-md-10"> <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> <ValidationMessage For="@(() => _passwords.ConfirmPassword)"></ValidationMessage>
</div> </div>
</div> </div>

View file

@ -193,7 +193,7 @@
<a class="btn btn-light border-dark d-block" href="/companies">Oversigt</a> <a class="btn btn-light border-dark d-block" href="/companies">Oversigt</a>
</div> </div>
<div class="col"> <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>
<div class="col"> <div class="col">
<a class="btn btn-light border-dark d-block" href="/companies/@_company.CompanyId/h/i">Produktkøb</a> <a class="btn btn-light border-dark d-block" href="/companies/@_company.CompanyId/h/i">Produktkøb</a>

View file

@ -35,7 +35,7 @@ public partial class KrvItemViewPage : IDisposable
{ {
_interceptor.RegisterEvent(); _interceptor.RegisterEvent();
_interceptor.RegisterBeforeSendEvent(); _interceptor.RegisterBeforeSendEvent();
_item = await _itemRepo.GetSalesItem(SalesItemId); _item = await _itemRepo.GetSalesVariantId(SalesItemId);
} }
/// <summary> /// <summary>

View file

@ -102,7 +102,7 @@ public partial class OfficeNewOrderPage : IDisposable
private async Task SelectSku(SelectedSku sku) private async Task SelectSku(SelectedSku sku)
{ {
ShowItem = true; ShowItem = true;
_selectedItem = await _itemRepo.GetSalesItem(sku.ItemId); _selectedItem = await _itemRepo.GetSalesVariantId(sku.ItemId);
Price = sku.Rate; Price = sku.Rate;
Quantity = sku.Quantity; Quantity = sku.Quantity;
} }

View file

@ -26,6 +26,10 @@
<thead> <thead>
<tr> <tr>
<th colspan="4"> <th colspan="4">
@if (_order.Express)
{
<h2 class="text-center fw-bold">HASTE ORDRE</h2>
}
<h2 class="text-center">@_order.Company.Name</h2> <h2 class="text-center">@_order.Company.Name</h2>
</th> </th>
</tr> </tr>

View file

@ -32,6 +32,6 @@
<div class="content d-none d-print-block"> <div class="content d-none d-print-block">
@Body @Body
</div> </div>
<BlazoredToasts Position="ToastPosition.BottomCenter" Timeout="2"/> <BlazoredToasts Position="ToastPosition.BottomCenter" Timeout="3"/>
</main> </main>
</div> </div>

View file

@ -65,7 +65,7 @@
<div class="text-sm-end me-1">@rate.Quantity</div> <div class="text-sm-end me-1">@rate.Quantity</div>
<div class="text-sm-end me-1">@rate.Rate</div> <div class="text-sm-end me-1">@rate.Rate</div>
<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> <i class="oi oi-plus"></i>
</a> </a>
</div> </div>

View file

@ -41,9 +41,10 @@ public partial class PriceListModal : IDisposable
{ {
_preferences = await _preferenceService.GetPreferences(); _preferences = await _preferenceService.GetPreferences();
_paging.OrderBy = _preferences.ItemSort; _paging.OrderBy = _preferences.ItemSort;
_paging.SearchColumn = _preferences.ItemSort; _paging.SearchColumn = _preferences.ItemSearch;
_paging.PageSize = Convert.ToInt32((_preferences.PageSize)); _paging.PageSize = Convert.ToInt32(_preferences.PageSize);
_interceptor.RegisterEvent(); _interceptor.RegisterEvent();
_interceptor.RegisterBeforeSendEvent();
await GetSalesItems(); await GetSalesItems();
} }

View file

@ -36,6 +36,9 @@ public partial class ProductPriceHistoryModal
protected override async Task OnParametersSetAsync() protected override async Task OnParametersSetAsync()
{ {
if (string.IsNullOrWhiteSpace(ItemSku))
return;
History = await _historyRepo.FetchHistory(CompanyId, ItemSku); History = await _historyRepo.FetchHistory(CompanyId, ItemSku);
if (History.Any()) if (History.Any())
{ {

View file

@ -11,10 +11,10 @@
<PackageReference Include="Blazored.LocalStorage" Version="4.2.0" /> <PackageReference Include="Blazored.LocalStorage" Version="4.2.0" />
<PackageReference Include="Blazored.Toast" Version="3.2.2" /> <PackageReference Include="Blazored.Toast" Version="3.2.2" />
<PackageReference Include="Microsoft.AspNetCore.Authentication" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.Authentication" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore.Authorization" Version="6.0.7" /> <PackageReference Include="Microsoft.AspNetCore.Authorization" Version="6.0.8" />
<PackageReference Include="Microsoft.AspNetCore.Components.Authorization" Version="6.0.7" /> <PackageReference Include="Microsoft.AspNetCore.Components.Authorization" Version="6.0.8" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="6.0.7" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="6.0.8" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="6.0.7" PrivateAssets="all" /> <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.AspNetCore.WebUtilities" Version="2.2.0" />
<PackageReference Include="Microsoft.Extensions.Http" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Http" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" />

View file

@ -1,13 +1,13 @@
{ {
"appInfo": { "appInfo": {
"name": "Wonky Client", "name": "Wonky Client",
"version": "0.10.72", "version": "0.10.84",
"rc": false, "rc": true,
"sandBox": false, "sandBox": false,
"image": "grumpy-coder.png" "image": "grumpy-coder.png"
}, },
"apiConfig": { "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=", "glsTrackUrl": "https://www.gls-group.eu/276-I-PORTAL-WEB/content/GLS/DK01/DA/5004.htm?txtAction=71000&txtRefNo=",
"glsId": "", "glsId": "",
"serviceVirk": "api/v2/services/virk", "serviceVirk": "api/v2/services/virk",

View file

@ -113,10 +113,12 @@ namespace Wonky.Entity.DTO
/// </summary> /// </summary>
[Required(ErrorMessage = "Vælg aktivitetstype")] [Required(ErrorMessage = "Vælg aktivitetstype")]
public string ActivityTypeEnum { get; set; } = ""; public string ActivityTypeEnum { get; set; } = "";
/// <summary> /// <summary>
/// Flag express order /// Flag express order
/// </summary> /// </summary>
public bool Express { get; set; } public bool Express { get; set; }
/// <summary> /// <summary>
/// Activity status enum as string /// Activity status enum as string
/// </summary> /// </summary>

View file

@ -29,7 +29,10 @@ public class ReportItemView
/// Closed sale /// Closed sale
/// </summary> /// </summary>
public bool Closed { get; set; } public bool Closed { get; set; }
/// <summary>
/// express flag
/// </summary>
public bool Express { get; set; }
/// <summary> /// <summary>
/// ESales number /// ESales number
/// </summary> /// </summary>

View file

@ -17,7 +17,8 @@ namespace Wonky.Entity.Views;
public class SalesItemView 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 Name { get; set; } = "";
public string Sku { get; set; } = ""; public string Sku { get; set; } = "";
public string ShortName { get; set; } = ""; public string ShortName { get; set; } = "";

View file

@ -20,7 +20,7 @@ namespace Wonky.Entity.Views;
public class UserInfoView public class UserInfoView
{ {
[JsonPropertyName("id")] public string Id { get; set; } = ""; [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("companyId")] public string CrmCompanyKey { get; set; } = "";
[JsonPropertyName("countryCode")] public string CountryCode { get; set; } = ""; [JsonPropertyName("countryCode")] public string CountryCode { get; set; } = "";
[JsonPropertyName("countryName")] public string CountryName { get; set; } = ""; [JsonPropertyName("countryName")] public string CountryName { get; set; } = "";

View file

@ -59,4 +59,8 @@ public class WarehouseOrderView
/// Current process status /// Current process status
/// </summary> /// </summary>
public string ProcessStatusEnum { get; set; } = ""; public string ProcessStatusEnum { get; set; } = "";
/// <summary>
/// express flag
/// </summary>
public bool Express { get; set; }
} }