Ejemplo n.º 1
0
		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);
		}
Ejemplo n.º 2
0
		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);
		}
Ejemplo n.º 3
0
		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);
		}
Ejemplo n.º 4
0
		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());
		}
Ejemplo n.º 5
0
		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));
		}
Ejemplo n.º 6
0
		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);
		}