private IEnumerable<Outlet> ConstructDomainEntities(IEnumerable<ShipToAddressImport> entities) { var newOutletAddresses = new List<Outlet>(); foreach (var entity in entities) { var outlet = _costCentreRepository.GetByCode(entity.OutletCode, CostCentreType.Outlet, true) as Outlet; if (outlet != null) { if(outlet.ShipToAddresses.Any()) outlet.ShipToAddresses.Clear(); var shipping = new ShipToAddress(Guid.NewGuid()) { Description = entity.Description, Name = entity.Description, Code = entity.Code, PhysicalAddress = entity.PhysicalAddress, PostalAddress = entity.PostalAddress, Latitude = entity.Latitude != null ? decimal.Parse(entity.Latitude) : 0, Longitude = entity.Longitude != null ? decimal.Parse(entity.Longitude) : 0 }; outlet.AddShipToAddress(shipping); newOutletAddresses.Add(outlet); } else { if (!_failedImpoprts.Any(p => p.Equals(entity.OutletCode, StringComparison.CurrentCultureIgnoreCase))) { _failedImpoprts.Add(entity.OutletCode); } } } return newOutletAddresses; }
public ShipToAddressDTO Map(ShipToAddress address) { if (address == null) return null; return Mapper.Map<ShipToAddress, ShipToAddressDTO>(address); }
protected Outlet CreateOutlet(Guid outCategory, Guid outType, Guid distrib, Guid route, Guid pricingTier, string outletName, Guid vatClass, string code, Guid discountGroup, float longitude=0F, float latitude =0F,Guid? specialtierId=null) { Outlet outlet = _costCentreFactory.CreateCostCentre(Guid.NewGuid(), CostCentreType.Outlet, _costCentreRepository.GetById(distrib)) as Outlet; outlet._SetStatus(EntityStatus.Active); outlet.Route = _routeRepository.GetById(route); outlet.OutletCategory = _outletCategoryRepository.GetById(outCategory); outlet.OutletType = _outletTypeRepository.GetById(outType); outlet.Name = outletName;// "Kibatet Estate Dispensary"; if (discountGroup != Guid.Empty) outlet.DiscountGroup = _discountGroupRepository.GetById(discountGroup); // outlet.outLetCode = code; outlet.CostCentreCode = code; outlet.Latitude = latitude.ToString(); outlet.Longitude = longitude.ToString(); outlet.VatClass = _vatClassRepository.GetById(vatClass); outlet.OutletProductPricingTier = _ProductPricingTierRepository.GetById(pricingTier); if (specialtierId != null) outlet.SpecialPricingTier = _ProductPricingTierRepository.GetById(specialtierId.Value); var shipTo1 = new ShipToAddress(Guid.NewGuid()) { Name =outletName + "ShipTo1", PhysicalAddress = "Address1", PostalAddress = "PO Box 1", }; var shipTo2 = new ShipToAddress(Guid.NewGuid()) { Name = outletName + "ShipTo2", PhysicalAddress = "Address2", PostalAddress = "PO Box 2", }; outlet.AddShipToAddress(shipTo1); outlet.AddShipToAddress(shipTo2); _costCentreRepository.Save(outlet); return outlet; }
public void AddShipToAddress (ShipToAddress address) { _shipToAddresses.Add(address); }
public HttpResponseMessage OutletUpdate(OutletItem outletItem) { var response = new ResponseBool { Success = false }; try { Outlet outlet = _outletRepository.GetById(outletItem.MasterId) as Outlet; outlet.Route = _routeRepository.GetById(outletItem.RouteMasterId); outlet.Name = outletItem.Name; outlet.OutletCategory = _outletCategoryRepository.GetById(outletItem.OutletCategoryMasterId); outlet.OutletType = _outletTypeRepository.GetById(outletItem.OutletTypeMasterId); outlet.OutletProductPricingTier = _productPricingTierRepository.GetById(outletItem.OutletProductPricingTierMasterId); outlet.CostCentreCode = outletItem.outLetCode; outlet.CostCentreCode = outletItem.outLetCode; outlet.Latitude = outletItem.Latitude; outlet.Longitude = outletItem.Longitude; outlet._Status = (EntityStatus)outletItem.StatusId; outlet.ShipToAddresses.Clear(); foreach (var address in outletItem.ShippingAddresses) { var shipToAddress = new ShipToAddress(address.MasterId) { Name = address.Name, PhysicalAddress = address.PhysicalAddress, PostalAddress = address.PostalAddress, Longitude = address.Longitude ?? 0, Latitude = address.Latitude ?? 0, Description = address.Description, _Status = (EntityStatus)address.EntityStatus, }; outlet.AddShipToAddress(shipToAddress); } try { outlet.VatClass = _vatClassRepository.GetById(outletItem.OutletVATClassMasterId); } catch //cn: VATClass is removed or some other error { outlet.VatClass = null; } try { outlet.DiscountGroup = _discountGroupRepository.GetById(outletItem.OutletDiscountGroupMasterId); } catch //cn: VATClass is removed or some other error { outlet.DiscountGroup = null; } _costCentreRepository.Save(outlet); response.Success = true; response.ErrorInfo = "Successfully updated outlet " + outlet.Name; } catch (DomainValidationException dve) { string errorMsg = dve.ValidationResults.Results.Aggregate("Error: Invalid outlet fields.\n", (current, msg) => current + ("\t- " + msg.ErrorMessage + ".\n")); response.ErrorInfo = errorMsg; _log.Error(errorMsg, dve); } catch (Exception ex) { response.ErrorInfo = "Error: An error occurred when updating the outlet."; _log.Error("Error: An error occurred when updating the outlet.", ex); } return Request.CreateResponse(HttpStatusCode.OK, response); }