documentation
This commit is contained in:
parent
fd3d9038e0
commit
666b9b0df3
2 changed files with 37 additions and 9 deletions
|
@ -21,6 +21,10 @@
|
||||||
@attribute [Authorize(Roles = "Advisor")]
|
@attribute [Authorize(Roles = "Advisor")]
|
||||||
@page "/companies/{CompanyId}"
|
@page "/companies/{CompanyId}"
|
||||||
|
|
||||||
|
@if (Working)
|
||||||
|
{
|
||||||
|
<LoaderThreeDots />
|
||||||
|
}
|
||||||
@if (!string.IsNullOrWhiteSpace(Company.Account))
|
@if (!string.IsNullOrWhiteSpace(Company.Account))
|
||||||
{
|
{
|
||||||
@if (!string.IsNullOrWhiteSpace(Company.Blocked))
|
@if (!string.IsNullOrWhiteSpace(Company.Blocked))
|
||||||
|
|
|
@ -57,7 +57,7 @@ public partial class CrmCompanyViewPage : IDisposable
|
||||||
private string VisitState { get; set; } = "the-ugly";
|
private string VisitState { get; set; } = "the-ugly";
|
||||||
private int EnableActivity { get; set; } = 1;
|
private int EnableActivity { get; set; } = 1;
|
||||||
private string ActionLink { get; set; } = "";
|
private string ActionLink { get; set; } = "";
|
||||||
private bool Working { get; set; }
|
private bool Working { get; set; } = true;
|
||||||
private bool countryIsDk { get; set; } = true;
|
private bool countryIsDk { get; set; } = true;
|
||||||
private List<ContactDto> Contacts { get; set; } = new();
|
private List<ContactDto> Contacts { get; set; } = new();
|
||||||
private VatLookupDkModal VatLookupPopup { get; set; } = new();
|
private VatLookupDkModal VatLookupPopup { get; set; } = new();
|
||||||
|
@ -83,23 +83,27 @@ public partial class CrmCompanyViewPage : IDisposable
|
||||||
if (Company.Account == "NY" || string.IsNullOrWhiteSpace(Company.Account))
|
if (Company.Account == "NY" || string.IsNullOrWhiteSpace(Company.Account))
|
||||||
EnableActivity = 1;
|
EnableActivity = 1;
|
||||||
|
|
||||||
|
// prepare address for lookup
|
||||||
if (countryIsDk)
|
if (countryIsDk)
|
||||||
CompanyVatAddress = PrepareVatAddress(Company);
|
CompanyVatAddress = PrepareVatAddress(Company);
|
||||||
|
|
||||||
|
// visit interval init
|
||||||
if (Company.Interval == 0)
|
if (Company.Interval == 0)
|
||||||
Company.Interval = 8;
|
Company.Interval = 8;
|
||||||
|
// visit date init
|
||||||
LastVisit = DateTime.Parse(Company.LastVisit);
|
LastVisit = DateTime.Parse(Company.LastVisit);
|
||||||
NextVisit = DateTime.Parse(Company.NextVisit);
|
NextVisit = DateTime.Parse(Company.NextVisit);
|
||||||
|
// if not previous visit is registered - force last visit date to 2020
|
||||||
if (LastVisit.Year < 2020)
|
if (LastVisit.Year < 2020)
|
||||||
LastVisit = DateTime.Parse("2020-01-01");
|
LastVisit = DateTime.Parse("2020-01-01");
|
||||||
|
// set next visit according to last visit and interval
|
||||||
if (!Company.ValidDateSpan())
|
if (!Company.ValidDateSpan())
|
||||||
NextVisit = LastVisit.AddDays(Company.Interval * 7);
|
NextVisit = LastVisit.AddDays(Company.Interval * 7);
|
||||||
|
// display urgency of next visit
|
||||||
VisitState = Utils.GetVisitState($"{NextVisit:yyyy-MM-dd}");
|
VisitState = Utils.GetVisitState($"{NextVisit:yyyy-MM-dd}");
|
||||||
|
// action link passed to activity button component
|
||||||
ActionLink = $"/companies/{CompanyId}/activities/new"; // used when drawing visit button
|
ActionLink = $"/companies/{CompanyId}/activities/new"; // used when drawing visit button
|
||||||
|
// handle company out of business case
|
||||||
if(Company.HasFolded == 1)
|
if(Company.HasFolded == 1)
|
||||||
{
|
{
|
||||||
// this is only used if user has selected to show closed companies
|
// this is only used if user has selected to show closed companies
|
||||||
|
@ -116,13 +120,22 @@ public partial class CrmCompanyViewPage : IDisposable
|
||||||
// vat state css class
|
// vat state css class
|
||||||
VatState = Company.ValidVat == 1 ? "the-good" : "no-vat"; // assign css class
|
VatState = Company.ValidVat == 1 ? "the-good" : "no-vat"; // assign css class
|
||||||
}
|
}
|
||||||
|
// initialize form context
|
||||||
ErpContext = new EditContext(Company);
|
ErpContext = new EditContext(Company);
|
||||||
|
// assign event handlers
|
||||||
ErpContext.OnFieldChanged += HandleFieldChanged;
|
ErpContext.OnFieldChanged += HandleFieldChanged;
|
||||||
ErpContext.OnValidationStateChanged += ValidationChanged;
|
ErpContext.OnValidationStateChanged += ValidationChanged;
|
||||||
|
// ensure crm has been synced with erp
|
||||||
await SyncCompanyHistory();
|
await SyncCompanyHistory();
|
||||||
|
// load contacts
|
||||||
Contacts = await ContactRepo.GetContacts(CompanyId);
|
Contacts = await ContactRepo.GetContacts(CompanyId);
|
||||||
|
// remove loading image
|
||||||
|
Working = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Change enable activity state
|
||||||
|
/// </summary>
|
||||||
private void ForceActivity()
|
private void ForceActivity()
|
||||||
{
|
{
|
||||||
EnableActivity = EnableActivity == 0 ? 1 : 0;
|
EnableActivity = EnableActivity == 0 ? 1 : 0;
|
||||||
|
@ -136,8 +149,7 @@ public partial class CrmCompanyViewPage : IDisposable
|
||||||
|
|
||||||
private async Task SaveContactCallback(ContactDto contact)
|
private async Task SaveContactCallback(ContactDto contact)
|
||||||
{
|
{
|
||||||
Console.WriteLine(JsonSerializer.Serialize(contact));
|
Logger.LogDebug("CompanyView => SaveContactCallback <= {}", JsonSerializer.Serialize(contact));
|
||||||
|
|
||||||
if (string.IsNullOrWhiteSpace(contact.ContactId))
|
if (string.IsNullOrWhiteSpace(contact.ContactId))
|
||||||
{
|
{
|
||||||
Console.WriteLine("create");
|
Console.WriteLine("create");
|
||||||
|
@ -193,11 +205,14 @@ public partial class CrmCompanyViewPage : IDisposable
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Update CRM data (
|
/// Update CRM data
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>true/false</returns>
|
/// <returns>true/false</returns>
|
||||||
private async Task UpdateCrmData()
|
private async Task UpdateCrmData()
|
||||||
{
|
{
|
||||||
|
if (Working)
|
||||||
|
return;
|
||||||
|
Working = true;
|
||||||
Toaster.ShowInfo("Vent venligst ...", "Opdaterer CRM data");
|
Toaster.ShowInfo("Vent venligst ...", "Opdaterer CRM data");
|
||||||
Company.LastVisit = $"{LastVisit:yyyy-MM-dd}";
|
Company.LastVisit = $"{LastVisit:yyyy-MM-dd}";
|
||||||
Company.NextVisit = $"{NextVisit:yyyy-MM-dd}";
|
Company.NextVisit = $"{NextVisit:yyyy-MM-dd}";
|
||||||
|
@ -207,6 +222,7 @@ public partial class CrmCompanyViewPage : IDisposable
|
||||||
{
|
{
|
||||||
Company = result;
|
Company = result;
|
||||||
}
|
}
|
||||||
|
Working = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -215,12 +231,17 @@ public partial class CrmCompanyViewPage : IDisposable
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private async Task UpdateErpData()
|
private async Task UpdateErpData()
|
||||||
{
|
{
|
||||||
|
if (Working)
|
||||||
|
return;
|
||||||
|
Working = true;
|
||||||
Toaster.ShowInfo("Vent venligst ...", "Opdaterer Erp data");
|
Toaster.ShowInfo("Vent venligst ...", "Opdaterer Erp data");
|
||||||
var result = await CompanyRepo.UpdateErpData(CompanyId, Company);
|
var result = await CompanyRepo.UpdateErpData(CompanyId, Company);
|
||||||
if (!string.IsNullOrWhiteSpace(result.Name))
|
if (!string.IsNullOrWhiteSpace(result.Name))
|
||||||
{
|
{
|
||||||
Company = result;
|
Company = result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Working = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -234,12 +255,15 @@ public partial class CrmCompanyViewPage : IDisposable
|
||||||
{
|
{
|
||||||
Toaster.ShowError($"Moms Nummer ugyldigt");
|
Toaster.ShowError($"Moms Nummer ugyldigt");
|
||||||
}
|
}
|
||||||
|
Working = false;
|
||||||
Toaster.ShowInfo("Vent venligst ...", "OPDATERER MOMS NUMMER");
|
Toaster.ShowInfo("Vent venligst ...", "OPDATERER MOMS NUMMER");
|
||||||
var result = await CompanyRepo.UpdateCompanyVat(CompanyId, Company.VatNumber);
|
var result = await CompanyRepo.UpdateCompanyVat(CompanyId, Company.VatNumber);
|
||||||
if (!string.IsNullOrWhiteSpace(result.Name))
|
if (!string.IsNullOrWhiteSpace(result.Name))
|
||||||
{
|
{
|
||||||
Company = result;
|
Company = result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Working = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
Loading…
Reference in a new issue