public override async Task<IEnumerable<ImportEntity>> DownloadMasterdata(MasterDataCollective entity, List<string> searchTexts = null) { string entityname = ""; switch (entity) { case MasterDataCollective.SaleProduct: entityname = MasterDataCollective.SaleProduct.ToString(); break; case MasterDataCollective.Outlet: entityname = MasterDataCollective.Outlet.ToString(); break; } var dto = await GetMasterDataAsync(entityname,searchTexts); return dto; }
public MasterDataEnvelope BuildSalesmanRoute(DateTime dateSince, MasterDataCollective masterdata, CostCentre cct) { var envelope = new MasterDataEnvelope() { masterDataName = masterdata.ToString() }; if (_salesmanRouteRepository.GetItemUpdatedSinceDateTime(dateSince)) { var sroutes = new List<SalesmanRoute>(); if (cct != null) switch (cct.CostCentreType) { case CostCentreType.Distributor: sroutes = _salesmanRouteRepository.GetItemUpdated(dateSince) .Where(n => n.Route.Region.Id == ((Distributor) cct).Region.Id).ToList(); break; case CostCentreType.DistributorSalesman: sroutes = _salesmanRouteRepository.GetItemUpdated(dateSince) .Where(n => n.DistributorSalesmanRef.Id == cct.Id).ToList(); break; case CostCentreType.PurchasingClerk: sroutes = _salesmanRouteRepository.GetItemUpdated(dateSince) .Where(n => n.DistributorSalesmanRef.Id == cct.Id).ToList(); break; } envelope.masterData = sroutes.Select(n => n as MasterEntity).ToList(); } return envelope; }
public MasterDataEnvelope BuildProductGroupDiscount(DateTime dateSince, MasterDataCollective masterdata, CostCentre cct) { var envelope = new MasterDataEnvelope() { masterDataName = masterdata.ToString() }; if (_productDiscountGroupRepository.GetItemUpdatedSinceDateTime(dateSince)) { envelope.masterData = _productDiscountGroupRepository.GetItemUpdated(dateSince).Select(n => n as MasterEntity).ToList(); } return envelope; }
public MasterDataEnvelope BuildTarget(DateTime dateSince, MasterDataCollective masterdata, CostCentre cct) { var envelope = new MasterDataEnvelope() { masterDataName = masterdata.ToString() }; if (_targetRepository.GetItemUpdatedSinceDateTime(dateSince)) { var targets = new List<Target>(); if (cct != null) switch (cct.CostCentreType) { case CostCentreType.Distributor: case CostCentreType.Hub: var costCentreIds = _costCentreRepository.GetAll(true) .Where(n => n.ParentCostCentre != null && n.ParentCostCentre.Id == cct.Id) .Select(n => n.Id) .ToList(); targets = _targetRepository.GetItemUpdated(dateSince) .Where(n => n.CostCentre.Id == cct.Id || costCentreIds.Contains(n.CostCentre.Id)) .ToList(); break; case CostCentreType.DistributorSalesman: var dist = _costCentreRepository.GetById(cct.ParentCostCentre.Id) as Distributor; var distCCIds = _costCentreRepository.GetAll(true) .Where(n => n.ParentCostCentre != null && n.ParentCostCentre.Id == dist.Id) .Select(n => n.Id).ToList(); targets = _targetRepository.GetItemUpdated(dateSince) .Where(n => distCCIds.Contains(n.CostCentre.Id) || cct.Id == n.CostCentre.Id) .ToList(); break; } envelope.masterData = targets.Select(n => n as MasterEntity).ToList(); } return envelope; }
public MasterDataEnvelope BuildDistributorSalesman(DateTime dateSince, MasterDataCollective masterdata, CostCentre cct) { var envelope = new MasterDataEnvelope() { masterDataName = masterdata.ToString() }; if (_distributorSalesmanRepository.GetItemUpdatedSinceDateTime(dateSince)) { List<DistributorSalesman> ds = _distributorSalesmanRepository.GetItemUpdated(dateSince) .OfType<DistributorSalesman>().ToList(); if (cct != null) switch (cct.CostCentreType) { case CostCentreType.Distributor: ds = ds.Where(n => n.ParentCostCentre.Id == cct.Id).ToList(); break; case CostCentreType.DistributorSalesman: ds = ds.Where(n => n.ParentCostCentre.Id == cct.ParentCostCentre.Id).ToList(); break; } envelope.masterData = ds.Select(n => n as MasterEntity).ToList(); } return envelope; }
public MasterDataEnvelope BuildCentre(DateTime dateSince, MasterDataCollective masterdata, CostCentre cct) { var envelope = new MasterDataEnvelope() { masterDataName = masterdata.ToString() }; if (_centreRepository.GetItemUpdatedSinceDateTime(dateSince)) { var centres = new List<Centre>(); var hubRoutes = new List<Route>(); List<MasterDataAllocation> hubRouteAllocations = new List<MasterDataAllocation>(); List<Guid> centreIds_allocated_to_hubRoutes = new List<Guid>(); if (cct != null) switch (cct.CostCentreType) { case CostCentreType.Hub: centres = _centreRepository.GetAll(true).Where(r => r.Hub.Id == cct.Id).ToList(); break; case CostCentreType.PurchasingClerk: centres = _centreRepository.GetAll(true).ToList(); break; } envelope.masterData = centres.Select(n => n as MasterEntity).ToList(); } return envelope; }
private MasterBaseDTO MapResolver(MasterDataCollective masterData, MasterEntity me) { switch (masterData) { case MasterDataCollective.SaleProduct: return masterDataToDTOMapping.Map(me as SaleProduct); case MasterDataCollective.ReturnableProduct: return masterDataToDTOMapping.Map(me as ReturnableProduct); case MasterDataCollective.ConsolidatedProduct: return masterDataToDTOMapping.Map(me as ConsolidatedProduct); case MasterDataCollective.PricingTier: return masterDataToDTOMapping.Map(me as ProductPricingTier); case MasterDataCollective.Producer: Producer p = me as Producer; if (p == null) return null; return masterDataToDTOMapping.Map(p); case MasterDataCollective.Country: return masterDataToDTOMapping.Map(me as Country); case MasterDataCollective.OutletCategory: return masterDataToDTOMapping.Map(me as OutletCategory); case MasterDataCollective.OutletType: return masterDataToDTOMapping.Map(me as OutletType); case MasterDataCollective.Outlet: return masterDataToDTOMapping.Map(me as Outlet); case MasterDataCollective.Pricing: return masterDataToDTOMapping.Map(me as ProductPricing); /*case MasterDataCollective.PricingItem: return masterDataToDTOMapping.Map(me as ProductPricing.ProductPricingItem); break;*/ case MasterDataCollective.ProductBrand: return masterDataToDTOMapping.Map(me as ProductBrand); case MasterDataCollective.ProductFlavour: return masterDataToDTOMapping.Map(me as ProductFlavour); case MasterDataCollective.ProductPackagingType: return masterDataToDTOMapping.Map(me as ProductPackagingType); case MasterDataCollective.ProductType: return masterDataToDTOMapping.Map(me as ProductType); case MasterDataCollective.Region: return masterDataToDTOMapping.Map(me as Region); case MasterDataCollective.Territory: return masterDataToDTOMapping.Map(me as Territory); case MasterDataCollective.Area://no DTO for route yet return masterDataToDTOMapping.Map(me as Area); case MasterDataCollective.SocioEconomicStatus: return masterDataToDTOMapping.Map(me as SocioEconomicStatus); case MasterDataCollective.VatClass: return masterDataToDTOMapping.Map(me as VATClass); case MasterDataCollective.Distributor: return masterDataToDTOMapping.Map(me as Distributor); case MasterDataCollective.Route: return masterDataToDTOMapping.Map(me as Route); case MasterDataCollective.Contact: return masterDataToDTOMapping.Map(me as Contact); case MasterDataCollective.ProductPackaging: return masterDataToDTOMapping.Map(me as ProductPackaging); /*case MasterDataCollective.CostCentreApplication: return masterDataToDTOMapping.Map(me as CostCentreApplication);*/ case MasterDataCollective.DistributorSalesman: return masterDataToDTOMapping.Map(me as DistributorSalesman); case MasterDataCollective.User://no DTO for user yet return masterDataToDTOMapping.Map(me as User); case MasterDataCollective.DistributorPendingDispatchWarehouse: return masterDataToDTOMapping.Map(me as DistributorPendingDispatchWarehouse); case MasterDataCollective.ChannelPackaging : return masterDataToDTOMapping.Map(me as ChannelPackaging ); case MasterDataCollective.Competitor : return masterDataToDTOMapping.Map(me as Competitor); case MasterDataCollective.CompetitorProduct : return masterDataToDTOMapping.Map(me as CompetitorProducts ); case MasterDataCollective.Asset : return masterDataToDTOMapping.Map(me as Asset); case MasterDataCollective.AssetType : return masterDataToDTOMapping.Map(me as AssetType ); case MasterDataCollective.District : return masterDataToDTOMapping.Map(me as District); case MasterDataCollective.Province : return masterDataToDTOMapping.Map(me as Province); case MasterDataCollective.ReorderLevel : return masterDataToDTOMapping.Map(me as ReOrderLevel); //case MasterDataCollective.Returnables : // return masterDataToDTOMapping.Map(me as Returnables); //case MasterDataCollective.Shells : // return masterDataToDTOMapping.Map(me as Shells); case MasterDataCollective.TargetPeriod : return masterDataToDTOMapping.Map(me as TargetPeriod); case MasterDataCollective.Target: return masterDataToDTOMapping.Map(me as Target); case MasterDataCollective.ProductDiscount: return masterDataToDTOMapping.Map(me as ProductDiscount); case MasterDataCollective.SaleValueDiscount: return masterDataToDTOMapping.Map(me as SaleValueDiscount); case MasterDataCollective.DiscountGroup: return masterDataToDTOMapping.Map(me as DiscountGroup); case MasterDataCollective.CertainValueCertainProductDiscount: return masterDataToDTOMapping.Map(me as CertainValueCertainProductDiscount); case MasterDataCollective.PromotionDiscount: return masterDataToDTOMapping.Map(me as PromotionDiscount); case MasterDataCollective.ProductGroupDiscount: return masterDataToDTOMapping.Map(me as ProductGroupDiscount); case MasterDataCollective.FreeOfChargeDiscount: return masterDataToDTOMapping.Map(me as FreeOfChargeDiscount); case MasterDataCollective.SalesmanRoute: return masterDataToDTOMapping.Map(me as SalesmanRoute); case MasterDataCollective.SalesmanSupplier: return masterDataToDTOMapping.Map(me as SalesmanSupplier); case MasterDataCollective.UserGroup: return masterDataToDTOMapping.Map(me as UserGroup); case MasterDataCollective.UserGroupRole: return masterDataToDTOMapping.Map(me as UserGroupRoles); case MasterDataCollective.Bank: return masterDataToDTOMapping.Map(me as Bank); case MasterDataCollective.BankBranch: return masterDataToDTOMapping.Map(me as BankBranch); case MasterDataCollective.Supplier: return masterDataToDTOMapping.Map(me as Supplier); case MasterDataCollective.ContactType: return masterDataToDTOMapping.Map(me as ContactType); case MasterDataCollective.AssetStatus: return masterDataToDTOMapping.Map(me as AssetStatus); case MasterDataCollective.AssetCategory: return masterDataToDTOMapping.Map(me as AssetCategory); case MasterDataCollective.OutletPriority: return masterDataToDTOMapping.Map(me as OutletPriority); case MasterDataCollective.OutletVisitDay: return masterDataToDTOMapping.Map(me as OutletVisitDay); case MasterDataCollective.TargetItem: return masterDataToDTOMapping.Map(me as TargetItem); case MasterDataCollective.Setting: return masterDataToDTOMapping.Map(me as AppSettings); case MasterDataCollective.RetireSetting: return masterDataToDTOMapping.Map(me as RetireDocumentSetting); default: throw new Exception("Failed to map to DTO " + masterData.ToString()); } }
public MasterDataEnvelope BuildOutletVisitDay(DateTime dateSince, MasterDataCollective masterdata, CostCentre cct) { var envelope = new MasterDataEnvelope() { masterDataName = masterdata.ToString() }; if (_outletVisitDayRepository.GetItemUpdatedSinceDateTime(dateSince)) { List<OutletVisitDay> outletdaysList = new List<OutletVisitDay>(); List<Outlet> outlet = new List<Outlet>(); if (cct != null) switch (cct.CostCentreType) { case CostCentreType.Distributor: outlet = _costCentreRepository.GetAll(false).OfType<Outlet>().Where(p => p.ParentCostCentre.Id == cct.Id).ToList(); outletdaysList = _outletVisitDayRepository.GetItemUpdated(dateSince).Where(n => outlet.Select(p => p.Id).Contains(n.Outlet.Id)).ToList(); break; case CostCentreType.DistributorSalesman: var salesmanroutes = _salesmanRouteRepository.GetAll(true).ToList(); salesmanroutes = salesmanroutes.Where(n => n.DistributorSalesmanRef.Id == cct.Id).ToList(); outlet = _outletRepository.GetAll().OfType<Outlet>().Where(n => salesmanroutes.Select(r => r.Route.Id).Contains(n.Route.Id)).ToList(); outletdaysList = _outletVisitDayRepository.GetItemUpdated(dateSince).Where(n => outlet.Select(p => p.Id).Contains(n.Outlet.Id)).ToList(); break; } envelope.masterData = outletdaysList.Select(n => n as MasterEntity).ToList(); } return envelope; }
public MasterDataEnvelope BuildDistributorPendingDispatchWarehouse(DateTime dateSince, MasterDataCollective masterdata, CostCentre cct) { var envelope = new MasterDataEnvelope() { masterDataName = masterdata.ToString() }; if (_distributorPendingDispatchWarehouseRepository.GetItemUpdatedSinceDateTime(dateSince)) { var entity = _distributorPendingDispatchWarehouseRepository.GetItemUpdated(dateSince); if (cct != null) switch (cct.CostCentreType) { case CostCentreType.Distributor: case CostCentreType.Hub: entity = entity.Where(n => n.ParentCostCentre.Id == cct.Id); break; case CostCentreType.DistributorSalesman: entity = entity.Where(n => n.ParentCostCentre.Id == cct.ParentCostCentre.Id); break; } envelope.masterData = entity.Select(n => n as MasterEntity).ToList(); } return envelope; }
public MasterDataEnvelope BuildOutlet(DateTime dateSince, MasterDataCollective masterdata, CostCentre cct) { var envelope = new MasterDataEnvelope() { masterDataName = masterdata.ToString() }; bool isAssignedoutlet = _salesmanRouteRepository.GetItemUpdatedSinceDateTime(dateSince); if (_outletRepository.GetItemUpdatedSinceDateTime(dateSince) || isAssignedoutlet) { List<Outlet> itier = _outletRepository.GetItemUpdated(dateSince).OfType<Outlet>().ToList(); if (cct != null) { switch (cct.CostCentreType) { case CostCentreType.Distributor: case CostCentreType.Hub: itier = itier.Where(o => o.ParentCostCentre.Id == cct.Id).ToList();//cn: above code filters n returns outlets for routes assigned to salesmen only. For routes not assigned to salesmen their outltets r not returned. break; case CostCentreType.DistributorSalesman: { var salesmanroutes = _salesmanRouteRepository.GetAll(true).ToList(); salesmanroutes = salesmanroutes.Where(n => n.DistributorSalesmanRef.Id == cct.Id).ToList(); itier = itier.Where(n => salesmanroutes.Select(r => r.Route.Id).Contains(n.Route.Id)).ToList(); if (isAssignedoutlet) { var routeIds = _salesmanRouteRepository.GetItemUpdated(dateSince) .Where(s => s.DistributorSalesmanRef.Id == cct.Id) .Select(n => n.Route.Id); var outlets = _outletRepository.GetAll(true).OfType<Outlet>().Where(o => routeIds.Contains(o.Id)) .ToList(); itier = itier.Union(outlets).Distinct().ToList(); } break; } } } envelope.masterData = itier.Select(n => n as MasterEntity).ToList();// _outletRepository.GetAll().Select(n => n as MasterEntity).ToList() } return envelope; }
public bool IsUpdated(MasterDataCollective masterdata, DateTime date) { switch (masterdata) { case MasterDataCollective.PricingTier: if (_ProductPricingTierRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.User: if (_userRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.Area: if (_areaRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.ConsolidatedProduct: if (_productRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.Contact: if (_contactRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.Country: if (_countryRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.Distributor: if (_distributorrepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.DistributorSalesman: if (_distributorSalesmanRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.Outlet: if (_outletRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.OutletCategory: if (_outletCategoryRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.OutletType: if (_outletTypeRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.Pricing: if (_pricingRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.Producer: if (_producerRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.ProductBrand: if (_productBrandRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.ProductFlavour: if (_productFlavourRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.ProductPackaging: if (_productPackagingRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.ProductPackagingType: if (_productPackagingTypeRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.ProductType: if (_productTypeRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.Region: if (_regionRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.ReturnableProduct: if (_productRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.Route: if (_routeRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.SaleProduct: if (_productRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.SocioEconomicStatus: if (_socioEconomicStatusRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.Territory: if (_territoryRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.VatClass: if (_vatClassRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.ChannelPackaging: if (_channelPackagingRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.FreeOfChargeDiscount: if (_freeOfChargeDiscountRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.Competitor: if (_competitorRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.CompetitorProduct: if (_competitorProductsRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.Asset: if (_coolerRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.AssetType: if (_coolerTypeRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.District: if (_districtRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.Province: if (_provinceRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.ReorderLevel: if (_reorderLevelRepository.GetItemUpdatedSinceDateTime(date)) return false; break; //case MasterDataCollective.Returnables: // if (_returnablesRepository.GetItemUpdatedSinceDateTime(date)) // return false; // break; //case MasterDataCollective.Shells: // if (_shellsRepository.GetItemUpdatedSinceDateTime(date)) // return false; // break; case MasterDataCollective.TargetPeriod: if (_targetPeriodRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.Target: if (_targetRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.SaleValueDiscount: if (_saleValueDiscountRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.ProductDiscount: if (_productDiscountRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.PromotionDiscount: if (_promotionDiscountRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.CertainValueCertainProductDiscount: if (_certainValueCertainProductDiscountRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.ProductGroupDiscount: if (_productDiscountGroupRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.DiscountGroup: if (_discountGroupRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.SalesmanRoute: if (_salesmanRouteRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.UserGroup: if (_userGroupRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.UserGroupRole: if (_userGroupRolesRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.Supplier: if (_supplierRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.ContactType: if (_contactTypeRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.AssetCategory: if (_assetCategoryRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.AssetStatus: if (_assetStatusRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.OutletPriority: if (_outletPriorityRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.OutletVisitDay: if (_outletVisitDayRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.TargetItem: if (_targetItemRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.Setting: if (_settingsRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.DistributorPendingDispatchWarehouse: if (_distributorPendingDispatchWarehouseRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.Bank: if (_bankRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.BankBranch: if (_bankBranchRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.RetireSetting: if (_retireDocumentSettingRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.CommodityType: if (_commodityTypeRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.Commodity: if (_commodityRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.CommodityOwnerType: if (_commodityOwnerTypeRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.CommodityProducer: if (_commodityProducerRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.CommoditySupplier: if (_commoditySupplierRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.CommodityOwner: if (_commodityOwnerRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.Centre: if (_centreRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.CentreType: if (_centreTypeRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.Hub: if (_hubRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.Store: if (_storeRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.FieldClerk: if (_purchasingClerkRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.ContainerType: if (_containerTypeRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.Vehicle: if (_vehicleRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.Printer: case MasterDataCollective.WeighScale: case MasterDataCollective.SourcingContainer: if (_equipmentRepository.GetItemUpdatedSinceDateTime(date)) return false; break; case MasterDataCollective.CommodityProducerCentreAllocation: case MasterDataCollective.RouteCentreAllocation: case MasterDataCollective.RouteCostCentreAllocation: case MasterDataCollective.RouteRegionAllocation: if (_masterDataAllocatioRepository.GetItemUpdatedSinceDateTime(date)) return false; break; default: throw new Exception("Internal Error: MasterData not mapped!" + masterdata.ToString()); } return true; }
public MasterDataEnvelope BuildRouteRegionAllocation(DateTime dateSince, MasterDataCollective masterdata, CostCentre cct) { var envelope = new MasterDataEnvelope() { masterDataName = masterdata.ToString() }; if (_masterDataAllocatioRepository.GetItemUpdatedSinceDateTime(dateSince)) { if (cct != null) { envelope.masterData = _masterDataAllocatioRepository .GetItemUpdated(dateSince) .Where(x => x.AllocationType == MasterDataAllocationType.RouteRegionAllocation) .Select(n => n as MasterEntity) .ToList(); } } return envelope; }
public MasterDataEnvelope BuildVehicle(DateTime dateSince, MasterDataCollective masterdata, CostCentre cct) { var envelope = new MasterDataEnvelope() { masterDataName = masterdata.ToString() }; if (_vehicleRepository.GetItemUpdatedSinceDateTime(dateSince)) { if (cct != null) switch (cct.CostCentreType) { case CostCentreType.Hub: envelope.masterData = _vehicleRepository.GetItemUpdated(dateSince) .Select(n => n as MasterEntity) .ToList(); break; case CostCentreType.PurchasingClerk: envelope.masterData = _vehicleRepository.GetItemUpdated(dateSince) .Select(n => n as MasterEntity) .ToList(); break; } } return envelope; }
public MasterDataEnvelope BuildFieldClerk(DateTime dateSince, MasterDataCollective masterdata, CostCentre cct) { var envelope = new MasterDataEnvelope() { masterDataName = masterdata.ToString() }; if (_purchasingClerkRepository.GetItemUpdatedSinceDateTime(dateSince)) { var costCentreIds = _costCentreRepository.GetAll(true) .Where(n => n.ParentCostCentre != null && n.ParentCostCentre.Id == cct.Id) .Distinct().Select(n => n.Id).ToList(); var userIds = new List<Guid>(); var clerks = new List<PurchasingClerk>(); if (cct != null) switch (cct.CostCentreType) { case CostCentreType.Hub: userIds = _userRepository.GetAll(true) .Where(n => n.CostCentre == cct.Id || costCentreIds.Contains(n.CostCentre)) .Select(n => n.Id) .ToList(); clerks = _purchasingClerkRepository .GetItemUpdated(dateSince) .Cast<PurchasingClerk>() .Where(n => n.User != null && userIds.Contains(n.User.Id)) .ToList(); break; case CostCentreType.PurchasingClerk: userIds = _userRepository.GetAll(true) .Where(n => n.CostCentre == cct.Id || costCentreIds.Contains(n.CostCentre)) .Select(n => n.Id) .ToList(); clerks = _purchasingClerkRepository .GetItemUpdated(dateSince) .Cast<PurchasingClerk>() .Where(n => n.User != null && userIds.Contains(n.User.Id)) .ToList(); break; } envelope.masterData = clerks.Select(n => n as MasterEntity).ToList(); } return envelope; }
public MasterDataEnvelope BuildAssetStatus(DateTime dateSince, MasterDataCollective masterdata, CostCentre cct) { var envelope = new MasterDataEnvelope() { masterDataName = masterdata.ToString() }; if (_assetStatusRepository.GetItemUpdatedSinceDateTime(dateSince)) { envelope.masterData = _assetStatusRepository.GetItemUpdated(dateSince).Select(n => n as MasterEntity).ToList(); } return envelope; }
public MasterDataEnvelope BuildOutletPriority(DateTime dateSince, MasterDataCollective masterdata, CostCentre cct) { var envelope = new MasterDataEnvelope() { masterDataName = masterdata.ToString() }; if (_outletPriorityRepository.GetItemUpdatedSinceDateTime(dateSince)) { List<OutletPriority> outletPriorityList = new List<OutletPriority>(); List<Route> routes = new List<Route>(); if (cct != null) switch (cct.CostCentreType) { case CostCentreType.Distributor: routes = _routeRepository.GetAll(true).Where(p => p.Region.Id == cct.Id).ToList(); outletPriorityList = _outletPriorityRepository.GetItemUpdated(dateSince).Where(n => routes.Select(p => p.Id).Contains(n.Route.Id)).ToList(); break; case CostCentreType.DistributorSalesman: routes = _routeRepository.GetAll(true).Where(o => _salesmanRouteRepository .GetAll() .Where(s => s.DistributorSalesmanRef.Id == cct.Id) .Select(n => n.Route.Id) .Contains(o.Id)) .ToList(); outletPriorityList = _outletPriorityRepository.GetItemUpdated(dateSince).Where(n => routes.Select(p => p.Id).Contains(n.Route.Id)).ToList(); break; } envelope.masterData = outletPriorityList.Select(n => n as MasterEntity).ToList(); } return envelope; }
public MasterDataEnvelope BuildContact(DateTime dateSince, MasterDataCollective masterdata, CostCentre cct) { var envelope = new MasterDataEnvelope() { masterDataName = masterdata.ToString() }; if (_contactRepository.GetItemUpdatedSinceDateTime(dateSince)) { var contacts = new List<Contact>(); var ccIds = new List<Guid>(); if (cct != null) switch (cct.CostCentreType) { case CostCentreType.Distributor: case CostCentreType.Hub: var relevantCostCentreIds = _costCentreRepository.GetAll(true) .Where(c => (c.ParentCostCentre != null && c.ParentCostCentre.Id == cct.Id) || c.Id == cct.Id) .Select(c => c.Id); var relevantdUserIds = _userRepository.GetAll(true).Where(u => relevantCostCentreIds.Contains(u.CostCentre)).Select(u => u.Id); var requiredContactOwnerIds = relevantCostCentreIds.Union(relevantdUserIds).ToList(); contacts = _contactRepository.GetItemUpdated(dateSince) .Where(n => requiredContactOwnerIds.Contains(n.ContactOwnerMasterId)) .ToList(); break; case CostCentreType.DistributorSalesman: var distId = _costCentreRepository.GetById(cct.Id).ParentCostCentre.Id; ccIds = _costCentreRepository.GetAll(true) .Where(n => (n.ParentCostCentre != null && n.ParentCostCentre.Id == distId) || n.Id == distId || n.Id == cct.Id) .Select(n => n.Id).ToList(); contacts = _contactRepository.GetItemUpdated(dateSince) .Where(n => ccIds.Contains(n.ContactOwnerMasterId)) .ToList(); break; case CostCentreType.PurchasingClerk: var hubId = _costCentreRepository.GetById(cct.Id).ParentCostCentre.Id; ccIds = _costCentreRepository.GetAll(true) .Where(n => (n.ParentCostCentre != null && n.ParentCostCentre.Id == hubId) || n.Id == hubId || n.Id == cct.Id) .Select(n => n.Id).ToList(); contacts = _contactRepository.GetItemUpdated(dateSince) .Where(n => ccIds.Contains(n.ContactOwnerMasterId)) .ToList(); break; } envelope.masterData = contacts.Select(n => n as MasterEntity).ToList(); } return envelope; }
public MasterDataEnvelope BuildRoute(DateTime dateSince, MasterDataCollective masterdata, CostCentre cct) { var envelope = new MasterDataEnvelope() { masterDataName = masterdata.ToString() }; bool hasSalesmanRoutes = _salesmanRouteRepository.GetItemUpdatedSinceDateTime(dateSince); bool hasPurchasingClerkRoutes = false; bool isPurchasingClerk = cct is PurchasingClerk; if (isPurchasingClerk) { hasPurchasingClerkRoutes = ((PurchasingClerk) cct).PurchasingClerkRoutes.Any(); } if ( _routeRepository.GetItemUpdatedSinceDateTime(dateSince) || hasSalesmanRoutes || hasPurchasingClerkRoutes) { List<Route> routes = _routeRepository.GetItemUpdated(dateSince).ToList(); if (cct != null) switch (cct.CostCentreType) { case CostCentreType.Distributor: routes = routes.Where(n => n.Region.Id == ((Distributor)cct).Region.Id).ToList(); break; case CostCentreType.Hub: routes = routes.Where(n => n.Region.Id == ((Hub)cct).Region.Id).ToList(); break; case CostCentreType.DistributorSalesman: routes = routes.Where(o => _salesmanRouteRepository.GetAll() .Where(s => s.DistributorSalesmanRef.Id == cct.Id) .Select(n => n.Route.Id) .Contains(o.Id)) .ToList(); if (hasSalesmanRoutes) { var routeIds = _salesmanRouteRepository.GetItemUpdated(dateSince) .Where(s => s.DistributorSalesmanRef.Id == cct.Id) .Select(n => n.Route.Id); var route = _routeRepository.GetAll(true).Where(o => routeIds.Contains(o.Id)).ToList(); routes = routes.Union(route).Distinct().ToList(); } break; case CostCentreType.PurchasingClerk: routes = routes.Where(r => _purchasingClerkRouteRepository.GetAll() .Where(pcr => pcr.PurchasingClerkRef.Id == cct.Id) .Select(n => n.Route.Id) .Contains(r.Id)) .ToList(); if (hasPurchasingClerkRoutes) { var routeIds = ((PurchasingClerk) cct).PurchasingClerkRoutes.Select(n => n.Route.Id).ToList(); routes = _routeRepository.GetAll(true).Where(r => routeIds.Contains(r.Id)).ToList(); } break; } envelope.masterData = routes.Select(n => n as MasterEntity).ToList(); } return envelope; }
public MasterDataEnvelope BuildUser(DateTime dateSince, MasterDataCollective masterdata, CostCentre cct) { var envelope = new MasterDataEnvelope() { masterDataName = masterdata.ToString() }; List<User> users = _userRepository.GetItemUpdated(dateSince).ToList(); if (cct != null) switch (cct.CostCentreType) { case CostCentreType.Distributor: case CostCentreType.Hub: { var costcentreid = _costCentreRepository.GetAll(true) .Where(n => n.ParentCostCentre != null) .Where(n => n.ParentCostCentre.Id == cct.Id) .Select(x => x.Id) .ToList(); users = users.Where(n => n.CostCentre == cct.Id || costcentreid.Contains(n.CostCentre)).ToList(); } break; case CostCentreType.DistributorSalesman: users = users.Where(n => n.CostCentre == cct.Id).ToList(); break; } envelope.masterData = users.Select(n => n as MasterEntity).ToList(); return envelope; }
public virtual Task<IEnumerable<ImportEntity>> DownloadMasterdata(MasterDataCollective entity, List<string> searchTexts = null) { throw new NotImplementedException(); }
public MasterDataEnvelope BuildCommodityOwner(DateTime dateSince, MasterDataCollective masterdata, CostCentre cct) { var envelope = new MasterDataEnvelope() { masterDataName = masterdata.ToString() }; if (_commodityOwnerRepository.GetItemUpdatedSinceDateTime(dateSince)) { var supplierIds = new List<Guid>(); if (cct != null) switch (cct.CostCentreType) { case CostCentreType.Hub: supplierIds = _commoditySupplierRepository.GetAll(true) .Where(n => n.ParentCostCentre.Id == cct.Id) .Select(n => n.Id).ToList(); envelope.masterData = _commodityOwnerRepository.GetItemUpdated(dateSince) .Where(n => supplierIds.Contains(n.CommoditySupplier.Id)) .Select(n => n as MasterEntity).ToList(); break; case CostCentreType.PurchasingClerk: var hub = _costCentreRepository.GetById(cct.ParentCostCentre.Id) as Hub; supplierIds = _commoditySupplierRepository.GetAll(true) .Where(n => n.ParentCostCentre.Id == hub.Id) .Select(n => n.Id).ToList(); envelope.masterData = _commodityOwnerRepository.GetItemUpdated(dateSince) .Where(n => supplierIds.Contains(n.CommoditySupplier.Id)) .Select(n => n as MasterEntity).ToList(); break; } } return envelope; }