public long Add(ApplicationAdminModel model, TransitEditModel transit, long clientId) { var transitId = _transitService.Add(transit, model.CarrierId); var data = new ApplicationEditData { Class = null, TransitId = transitId, Invoice = model.Invoice, Characteristic = model.Characteristic, AddressLoad = model.AddressLoad, WarehouseWorkingTime = model.WarehouseWorkingTime, Weight = model.Weight, Count = model.Count, Volume = model.Volume, TermsOfDelivery = model.TermsOfDelivery, Value = model.Currency.Value, CurrencyId = model.Currency.CurrencyId, CountryId = model.CountryId, FactoryName = model.FactoryName, FactoryPhone = model.FactoryPhone, FactoryEmail = model.FactoryEmail, FactoryContact = model.FactoryContact, MarkName = model.MarkName, MethodOfDelivery = model.MethodOfDelivery, IsPickup = model.IsPickup, AirWaybillId = null, DateInStock = null, DateOfCargoReceipt = null, TransitReference = null, ClientId = clientId, PickupCost = model.PickupCost, TransitCost = model.TransitCost, FactureCost = model.FactureCost, FactureCostEx = model.FactureCostEx, TariffPerKg = model.TariffPerKg, ScotchCostEdited = model.ScotchCostEdited, FactureCostEdited = model.FactureCostEdited, FactureCostExEdited = model.FactureCostExEdited, TransitCostEdited = model.TransitCostEdited, PickupCostEdited = model.PickupCostEdited, SenderId = model.SenderId, ForwarderId = GetForwarderId(model.ForwarderId, transit.CityId, null), SenderRate = null, InsuranceRate = model.InsuranceRate / 100, CountInInvoce = model.CountInInvoce, DocumentWeight = model.DocumentWeight, MRN = model.MRN, Comments = model.Comments }; return _editor.Add(data); }
private static void Validate( ClientData clientData, ApplicationAdminModel model, TransitEditModel transitModel, ApplicationData data) { data.ShouldBeEquivalentTo(model, options => options.ExcludingMissingProperties() .Excluding(x => x.PickupCost) .Excluding(x => x.CarrierId) .Excluding(x => x.CarrierName) .Excluding(x => x.InsuranceRate)); data.InsuranceRate.ShouldBeEquivalentTo(model.InsuranceRate / 100); data.GetAdjustedFactureCost().ShouldBeEquivalentTo(model.FactureCostEdited); data.GetAdjustedFactureCostEx().ShouldBeEquivalentTo(model.FactureCostExEdited); data.GetAdjustedTransitCost().ShouldBeEquivalentTo(model.TransitCostEdited); data.GetAdjustedPickupCost().ShouldBeEquivalentTo(model.PickupCostEdited); data.GetAdjustedScotchCost().ShouldBeEquivalentTo(model.ScotchCostEdited); data.CurrencyId.ShouldBeEquivalentTo(model.Currency.CurrencyId); data.ClientLegalEntity.ShouldBeEquivalentTo(clientData.LegalEntity); data.ClientNic.ShouldBeEquivalentTo(clientData.Nic); data.TransitAddress.ShouldBeEquivalentTo(transitModel.Address); data.TransitCityId.ShouldBeEquivalentTo(TestConstants.TestCityId1); data.CarrierId.ShouldBeEquivalentTo(TestConstants.TestCarrierId1); data.TransitDeliveryType.ShouldBeEquivalentTo(transitModel.DeliveryType); data.TransitMethodOfTransit.ShouldBeEquivalentTo(transitModel.MethodOfTransit); data.TransitPhone.ShouldBeEquivalentTo(transitModel.Phone); data.TransitRecipientName.ShouldBeEquivalentTo(transitModel.RecipientName); data.TransitWarehouseWorkingTime.ShouldBeEquivalentTo(transitModel.WarehouseWorkingTime); }
private void Validate( ActionResult result, ClientData clientData, ApplicationAdminModel model, TransitEditModel transitModel) { result.Should().BeOfType<RedirectToRouteResult>(); var data = _applicationRepository.List(new[] { TestConstants.DefaultStateId }, new[] { new Order { Desc = true, OrderType = OrderType.Id } }, 1, clientId: clientData.ClientId).First(); Validate(clientData, model, transitModel, data); }
public virtual ActionResult Create( long clientId, ApplicationAdminModel model, [Bind(Prefix = "Transit")] TransitEditModel transitModel) { var client = _clients.Get(clientId); if(!ModelState.IsValid) { BindBag(null, client); return View(model); } try { _manager.Add(model, transitModel, clientId); } catch(DublicateException ex) { ModelState.AddModelError("DublicateException", ex.ToString()); BindBag(null, client); return View(model); } return RedirectToAction(MVC.ApplicationList.Index()); }
public virtual ActionResult Edit( long id, ApplicationAdminModel model, [Bind(Prefix = "Transit")] TransitEditModel transitModel) { if(!ModelState.IsValid) { var clientId = _applications.GetClientId(id); var data = _clients.Get(clientId); BindBag(id, data); return View(model); } _manager.Update(id, model, transitModel); return RedirectToAction(MVC.Application.Edit(id)); }
public void Update(long applicationId, ApplicationAdminModel model, TransitEditModel transit) { var data = _applications.Get(applicationId); _transitService.Update(data.TransitId, transit, model.CarrierId, applicationId); data.Invoice = model.Invoice; data.Characteristic = model.Characteristic; data.AddressLoad = model.AddressLoad; data.WarehouseWorkingTime = model.WarehouseWorkingTime; data.Weight = model.Weight; data.Count = model.Count; data.Volume = model.Volume; data.TermsOfDelivery = model.TermsOfDelivery; data.Value = model.Currency.Value; data.CurrencyId = model.Currency.CurrencyId; data.CountryId = model.CountryId; data.FactoryName = model.FactoryName; data.FactoryPhone = model.FactoryPhone; data.FactoryEmail = model.FactoryEmail; data.FactoryContact = model.FactoryContact; data.MarkName = model.MarkName; data.IsPickup = model.IsPickup; data.MethodOfDelivery = model.MethodOfDelivery; data.FactureCost = model.FactureCost; data.FactureCostEx = model.FactureCostEx; data.TransitCost = model.TransitCost; data.PickupCost = model.PickupCost; data.TariffPerKg = model.TariffPerKg; data.FactureCostEdited = model.FactureCostEdited; data.FactureCostExEdited = model.FactureCostExEdited; data.TransitCostEdited = model.TransitCostEdited; data.PickupCostEdited = model.PickupCostEdited; data.ScotchCostEdited = model.ScotchCostEdited; data.SenderId = model.SenderId; data.ForwarderId = GetForwarderId(model.ForwarderId, transit.CityId, data.ForwarderId); data.InsuranceRate = model.InsuranceRate / 100; data.CountInInvoce = model.CountInInvoce; data.DocumentWeight = model.DocumentWeight; data.MRN = model.MRN; data.Comments = model.Comments; _editor.Update(applicationId, data); }