private async Task<ResponseBool> SavePurchasingClerkCostCentre() { ResponseBool response = new ResponseBool {Success = false}; using (var c = NestedContainer) { _proxy = Using<IDistributorServiceProxy>(c); Guid ccId = User._Status == EntityStatus.New ? Guid.NewGuid() : User.CostCentre; PurchasingClerk pClerk = Using<CostCentreFactory>(c).CreateCostCentre(ccId, CostCentreType.PurchasingClerk, Using<ICostCentreRepository>(c).GetById( GetConfigParams().CostCentreId)) as PurchasingClerk; pClerk.Name = User.Username; pClerk.CostCentreCode = Code; User.CostCentre = pClerk.Id; pClerk.User = User; pClerk.PurchasingClerkRoutes = GetRoutesAssigned(pClerk); PurchasingClerkItem pClerkItem = new PurchasingClerkItem() { MasterId = pClerk.Id, Name = pClerk.Name, ParentCostCentreId = pClerk.ParentCostCentre.Id, StatusId = (int)EntityStatus.Active, CostCentreTypeId = (int)pClerk.CostCentreType, CostCentreCode = pClerk.CostCentreCode }; pClerkItem.UserItem = CreateUserItem(pClerk.Id); pClerkItem.PurchasingClerkRouteItems = pClerk.PurchasingClerkRoutes.Select(Map).ToList(); AuditLogEntry = string.Format("Created purchasing clerk costcentre for user: {0};", User.Username); Using<IAuditLogWFManager>(c).AuditLogEntry("User Administration", AuditLogEntry); response = await _proxy.PurchasingCerkAddAsync(pClerkItem); if(response.Success) { ChangeAllocation(pClerkItem); } MessageBox.Show(response.ErrorInfo, "Distributr: Manage purchasing clerk", MessageBoxButton.OK, MessageBoxImage.Information); } return response; }