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); }
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 long Add(ClientModel client, TransitEditModel transit) { var id = _manager.Add(client, transit); _events.Add(id, EventType.ClientAdded, EventState.Emailing, client.Authentication.NewPassword); return(id); }
public long Add(TransitEditModel transit, long?forsedCarrierId) { var data = new TransitData(); TransitMapper.Map(transit, data, GetCarrier(forsedCarrierId, transit.CityId, null)); var transitId = _transits.Add(data); return(transitId); }
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)); }
public long Add(ApplicationClientModel application, TransitEditModel transit, long clientId) { var transitId = _transits.Add(transit, null); var forwarderId = _forwarders.GetByCityOrAny(transit.CityId, null); var client = _clients.Get(clientId); var data = new ApplicationEditData { Class = null, TransitId = transitId, Invoice = application.Invoice, Characteristic = application.Characteristic, AddressLoad = application.AddressLoad, WarehouseWorkingTime = application.WarehouseWorkingTime, Weight = application.Weight, Count = application.Count, Volume = application.Volume, TermsOfDelivery = application.TermsOfDelivery, Value = application.Currency.Value, CurrencyId = application.Currency.CurrencyId, CountryId = application.CountryId, FactoryName = application.FactoryName, FactoryPhone = application.FactoryPhone, FactoryEmail = application.FactoryEmail, FactoryContact = application.FactoryContact, MarkName = application.MarkName, MethodOfDelivery = application.MethodOfDelivery, IsPickup = application.IsPickup, AirWaybillId = null, DateInStock = null, DateOfCargoReceipt = null, TransitReference = null, ClientId = clientId, PickupCost = client.PickupCost, TransitCost = client.TransitCost, FactureCost = client.FactureCost, FactureCostEx = client.FactureCostEx, TariffPerKg = client.TariffPerKg, ScotchCostEdited = client.ScotchCostEdited, FactureCostEdited = null, FactureCostExEdited = null, TransitCostEdited = null, PickupCostEdited = null, SenderId = client.DefaultSenderId, SenderRate = null, ForwarderId = forwarderId, InsuranceRate = client.InsuranceRate ?? _applications.GetDefaultInsuranceRate() }; return(_updater.Add(data)); }
public void Update(long applicationId, ApplicationClientModel application, TransitEditModel transit) { var data = _applications.Get(applicationId); _transits.Update(data.TransitId, transit, null, applicationId); var forwarderId = _forwarders.GetByCityOrAny(transit.CityId, data.ForwarderId); Map(application, data, forwarderId); _updater.Update(applicationId, data); }
public void Update(long transitId, TransitEditModel transit, long?forsedCarrierId, long?applicationId) { var data = _transits.Get(transitId).Single(); var carrierId = GetCarrier(forsedCarrierId, transit.CityId, data.CarrierId); if (applicationId.HasValue && data.CarrierId != carrierId) { _events.Add(applicationId.Value, EventType.SetCarrier, EventState.Emailing); } TransitMapper.Map(transit, data, carrierId); _transits.Update(data); }
public void Update(long clientId, ClientModel model, TransitEditModel transit) { var data = _clients.Get(clientId); var userId = data.UserId; var transitId = data.TransitId; if (!_permissions.HaveAccessToClient(data)) { throw new AccessForbiddenException(); } var clientEditData = GetData(model); Update(clientId, clientEditData, transitId, transit, userId, model.Authentication); }
public virtual ActionResult Edit( long id, ApplicationClientModel model, [Bind(Prefix = "Transit")] TransitEditModel transitModel) { if (!ModelState.IsValid) { BindBag(id, GetClientId()); return(View(model)); } _manager.Update(id, model, transitModel); return(RedirectToAction(MVC.ClientApplication.Edit(id))); }
public virtual ActionResult Create(ClientModel model, [Bind(Prefix = "Transit")] TransitEditModel transitModel) { if (!EmailsHelper.Validate(model.Emails)) { ModelState.AddModelError("Emails", @"Emails format is invalid"); } if (!ModelState.IsValid) { BindBag(null); return(View()); } long clientId = 0; var passwordDefined = !string.IsNullOrWhiteSpace(model.Authentication.NewPassword); if (passwordDefined) { try { clientId = _manager.Add(model, transitModel); if (model.ContractFile != null) { MergeContract(model, clientId); } } catch (DublicateLoginException) { ModelState.AddModelError("Login", Validation.LoginExists); } } else { ModelState.AddModelError("NewPassword", Validation.EmplyPassword); } if (!ModelState.IsValid) { BindBag(null); return(View()); } return(RedirectToAction(MVC.Client.Edit(clientId))); }
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); }
public long Add(ClientModel client, TransitEditModel transit) { var data = GetData(client); using (var ts = new TransactionScope()) { var transitId = _transits.Add(transit, null); var userId = _users.Add(client.Authentication.Login, client.Authentication.NewPassword, TwoLetterISOLanguageName.English); var clientId = _clients.Add(data, userId, transitId); ts.Complete(); return(clientId); } }
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))); }
private void Update( long clientId, ClientEditData clientEditData, long transitId, TransitEditModel transit, long userId, AuthenticationModel authentication) { using (var ts = new TransactionScope()) { _transits.Update(transitId, transit, null, null); _clients.Update(clientId, clientEditData); _users.SetLogin(userId, authentication.Login); if (!string.IsNullOrWhiteSpace(authentication.NewPassword)) { _users.SetPassword(userId, authentication.NewPassword); } ts.Complete(); } }
public virtual ActionResult Edit(long?id, ClientModel model, [Bind(Prefix = "Transit")] TransitEditModel transitModel) { if (!EmailsHelper.Validate(model.Emails)) { ModelState.AddModelError("Emails", @"Emails format is invalid"); } if (!ModelState.IsValid) { BindBag(id); return(View()); } var client = _clients.GetCurrentClientData(id); try { ClientCantChangeDefaultSenderId(model, client); ClientCantChangeCalculationSettings(model, client); _manager.Update(client.ClientId, model, transitModel); MergeContract(model, client.ClientId); } catch (DublicateLoginException) { ModelState.AddModelError("Login", Validation.LoginExists); } if (!ModelState.IsValid) { BindBag(id); return(View()); } return(RedirectToAction(MVC.Client.Edit(client.ClientId))); }
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 void Update(long clientId, ClientModel model, TransitEditModel transit) { _manager.Update(clientId, model, transit); }