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);
        }