private async Task HandleIsPrimaryChange(Salesman salesman) { if (salesman.IsPrimary) { foreach (var csm in DistrictSalesmen) { if (csm.Model.SalesmanId == salesman.Model.SalesmanId) { // tilføj salesman som primær på district District.Model.PrimarySalesmanId = salesman.Model.SalesmanId; await dataService.UpdateDistrictPrimarySalesman(District); // findes den salesman på sekundær listen? var secondarySalesmanItem = DistrictSalesmen.FirstOrDefault(f => f.Model.SalesmanId == salesman.Model.SalesmanId); if (secondarySalesmanItem != null) { // ... så slet den await dataService.DeleteSecondarySalesman(salesman.Model.SalesmanId, District.Model.DistrictId); } } else { if (csm.IsPrimary) { // den tidligere primære sælger indsættes som sekundær await dataService.InsertSecondarySalesman(csm.Model.SalesmanId, District.Model.DistrictId); } csm.IsPrimary = false; } } } }
private async Task <Unit> RemoveCurrentSelectedSalesman(Salesman salesman) { // Salesman fjernes fra listen over salesmen på et distrikt DistrictSalesmen.Remove(salesman); // Finder den oprindelige salesmen, der er blevet fjernet fra listen over alle salesmen var originalSalesmenItem = unfilteredOrganizationSalesmen.FirstOrDefault(f => f.SalesmanId == salesman.Model.SalesmanId); // tilføjer den oprindelige salesmen til listen over alle salesmen igen FilteredOrganizationSalesmen.Add(originalSalesmenItem); await dataService.DeleteSecondarySalesman(salesman.Model.SalesmanId, District.Model.DistrictId); return(Unit.Default); }
private async Task <Unit> AddSelectedFutureSalesman(SalesmenAggregateModel salesmenAggregateModel) { FilteredOrganizationSalesmen.Remove(salesmenAggregateModel); var model = new SalesmanModel { IsPrimary = false, SalesmanId = salesmenAggregateModel.SalesmanId, SalesmanName = salesmenAggregateModel.SalesmanName }; DistrictSalesmen.Add(new Salesman(model)); await dataService.InsertSecondarySalesman(salesmenAggregateModel.SalesmanId, District.Model.DistrictId); return(Unit.Default); }