public AddDeliveryViewModel(DeliveryDTO delivery) { IsEdit = true; ButtonLabel = "Edit"; this.toEdit = delivery; DeliveredItem = delivery.DeliveredItem; ItemQuantity = delivery.ItemQuantity; RecipientCompany = delivery.RecipientCompany; CityTown = delivery.CityTown; PostalCode1 = delivery.PostalCode.Substring(0, 2); PostalCode2 = delivery.PostalCode.Substring(3, 3); StreetAddress = delivery.StreetAddress; Weight = delivery.Weight; Description = delivery.Description; NotifyOfPropertyChange(() => DeliveredItem); NotifyOfPropertyChange(() => ItemQuantity); NotifyOfPropertyChange(() => RecipientCompany); NotifyOfPropertyChange(() => CityTown); NotifyOfPropertyChange(() => PostalCode1); NotifyOfPropertyChange(() => PostalCode2); NotifyOfPropertyChange(() => StreetAddress); NotifyOfPropertyChange(() => Weight); NotifyOfPropertyChange(() => Description); }
public ActionResult <DeliveryDTO> Edit([FromBody] DeliveryDTO deliveryDTO) { try { if (!ModelState.IsValid) { return(UnprocessableEntity(ModelState)); } Delivery delivery = _mapper.Map <Delivery>(_deliveryAppService.GetById(deliveryDTO.Id, this.User)); if (delivery == null) { return(NotFound()); } var status = DeliveryStatus.Status.Where(x => x.ToString().Equals(deliveryDTO.Status)); if (status != null) { delivery.Status = deliveryDTO.Status; _deliveryAppService.UpdateEntity(delivery); return(new ObjectResult(deliveryDTO)); } return(BadRequest()); } catch (Exception ex) { return(BadRequest(ex)); } }
public void Add() { if (IsEdit == true) { toEdit.DeliveredItem = DeliveredItem; toEdit.ItemQuantity = ItemQuantity; toEdit.RecipientCompany = RecipientCompany; toEdit.CityTown = CityTown; toEdit.PostalCode = string.Format("{0}-{1}", PostalCode1, PostalCode2); toEdit.StreetAddress = StreetAddress; toEdit.Weight = Weight; toEdit.Description = Description; DeliveryService.Edit(toEdit); } else { var newDelivery = new DeliveryDTO(); newDelivery.DeliveredItem = DeliveredItem; newDelivery.ItemQuantity = ItemQuantity; newDelivery.RecipientCompany = RecipientCompany; newDelivery.CityTown = CityTown; newDelivery.PostalCode = string.Format("{0}-{1}", PostalCode1, PostalCode2); newDelivery.StreetAddress = StreetAddress; newDelivery.Weight = Weight; newDelivery.Description = Description; DeliveryService.Add(newDelivery); } TryClose(); }
public static string Add(DeliveryDTO delivery) { using (WarehouseSystemContext db = new WarehouseSystemContext()) { string error = null; Delivery newDelivery = new Delivery(); newDelivery.Id = delivery.Id; newDelivery.DeliveredItem = delivery.DeliveredItem; newDelivery.ItemQuantity = delivery.ItemQuantity; newDelivery.RecipientCompany = delivery.RecipientCompany; newDelivery.PostalCode = delivery.PostalCode; newDelivery.CityTown = delivery.CityTown; newDelivery.StreetAddress = delivery.StreetAddress; newDelivery.Weight = delivery.Weight; newDelivery.Description = delivery.Description; var context = new ValidationContext(newDelivery, null, null); var result = new List <ValidationResult>(); Validator.TryValidateObject(newDelivery, context, result, true); foreach (var x in result) { error = error + x.ErrorMessage + "\n"; } if (error == null) { db.Deliveries.Add(newDelivery); db.SaveChanges(); } return(error); } }
public static string Edit(DeliveryDTO delivery) { using (WarehouseSystemContext db = new WarehouseSystemContext()) { string error = null; var toModify = db.Deliveries.Where(x => x.Id == delivery.Id).FirstOrDefault(); toModify.Id = delivery.Id; toModify.DeliveredItem = delivery.DeliveredItem; toModify.RecipientCompany = delivery.RecipientCompany; toModify.ItemQuantity = delivery.ItemQuantity; toModify.PostalCode = delivery.PostalCode; toModify.CityTown = delivery.CityTown; toModify.StreetAddress = delivery.StreetAddress; toModify.Weight = delivery.Weight; toModify.Description = delivery.Description; var context = new ValidationContext(toModify, null, null); var result = new List <ValidationResult>(); Validator.TryValidateObject(toModify, context, result, true); foreach (var x in result) { error = error + x.ErrorMessage + "\n"; } if (error == null) { db.SaveChanges(); } return(error); } }
/// <summary> /// Saves a new Delivery or updates an already existing Delivery. /// </summary> /// <param name="Delivery">Delivery to be saved or updated.</param> /// <param name="DeliveryId">DeliveryId of the Delivery creating or updating</param> /// <returns>DeliveryId</returns> public long SaveDelivery(DeliveryDTO deliveryDTO, string userId) { long deliveryId = 0; if (deliveryDTO.DeliveryId == 0) { var delivery = new Delivery() { CustomerName = deliveryDTO.CustomerName, DeliveryCost = deliveryDTO.DeliveryCost, OrderId = deliveryDTO.OrderId, VehicleNumber = deliveryDTO.VehicleNumber, BranchId = deliveryDTO.BranchId, Location = deliveryDTO.Location, SectorId = deliveryDTO.SectorId, MediaId = deliveryDTO.MediaId, DriverNIN = deliveryDTO.DriverNIN, DriverName = deliveryDTO.DriverName, TransactionSubTypeId = deliveryDTO.TransactionSubTypeId, CreatedOn = DateTime.Now, TimeStamp = DateTime.Now, CreatedBy = userId, Deleted = false, }; this.UnitOfWork.Get <Delivery>().AddNew(delivery); this.UnitOfWork.SaveChanges(); deliveryId = delivery.DeliveryId; return(deliveryId); } else { var result = this.UnitOfWork.Get <Delivery>().AsQueryable() .FirstOrDefault(e => e.DeliveryId == deliveryDTO.DeliveryId); if (result != null) { result.DeliveryCost = deliveryDTO.DeliveryCost; result.CustomerName = deliveryDTO.CustomerName; result.OrderId = deliveryDTO.OrderId; result.TransactionSubTypeId = deliveryDTO.TransactionSubTypeId; result.VehicleNumber = deliveryDTO.VehicleNumber; result.BranchId = deliveryDTO.BranchId; result.Location = deliveryDTO.Location; result.SectorId = deliveryDTO.SectorId; result.MediaId = deliveryDTO.MediaId; result.DriverName = deliveryDTO.DriverName; result.DriverNIN = deliveryDTO.DriverNIN; result.UpdatedBy = userId; result.TimeStamp = DateTime.Now; result.Deleted = deliveryDTO.Deleted; result.DeletedBy = deliveryDTO.DeletedBy; result.DeletedOn = deliveryDTO.DeletedOn; this.UnitOfWork.Get <Delivery>().Update(result); this.UnitOfWork.SaveChanges(); } return(deliveryDTO.DeliveryId); } }
public async Task Cannot_add_Delivery_when_it_already_exists() { const string DELIVERY_ID = "DL001"; const string SITE_CODE = "SITE001"; const int ORDER_REFERENCE = 1; const string STATUS = "ON PROCESS"; using (var context = new ProcurementDbContext(ContextOptions)) { DeliveriesController deliveriesController = new DeliveriesController(context); DeliveryDTO deliveryDto = new DeliveryDTO { DeliveryId = DELIVERY_ID, SiteCode = SITE_CODE, PurchaseOrder = ORDER_REFERENCE, DeliveryStatus = STATUS }; try { await deliveriesController.PostDelivery(deliveryDto); } catch (Exception exception) { Assert.NotNull(exception); return; } Assert.True(false); } }
public ActionResult Delivery(DeliveryVM model) { if (ModelState.IsValid) { DeliveryDTO delivery = new DeliveryDTO(); delivery.PayType = model.PayType; delivery.DeliveryType = model.DeliveryType; delivery.Wishes = model.Wishes; if (model.Post != null && model.PostDepartment != null) { delivery.DeliveryAddress = model.Post + " | " + model.PostDepartment + " | " + model.DeliveryAddress; } else { delivery.DeliveryAddress = model.DeliveryAddress; } _clientService.MakeDelivery(model.OrderId, delivery); if (model.PayType == "Карта") { return(RedirectToAction("Pay", "Client", new { orderId = model.OrderId })); } else { return(RedirectToAction("Orders", "Client")); } } return(View()); }
public ViewResult Checkout(Cart cart, DeliveryDTO deliveryDto) { if (cart.Lines.Count() == 0) { ModelState.AddModelError("", "Извините, ваша корзина пуста!"); } if (ModelState.IsValid) { //todo: refactor var userId = User.Identity.GetUserId(); var client = _clientLogic.Get(userId); foreach (var item in cart.Lines) { var good = _goodLogic.Get(item.Good.Id); if (good.Count >= item.Number) { good.Count -= item.Number; good.OrderItems = null; _goodLogic.Edit(good); } else { return(View("GoodIsOver")); } } _orderLogic.ProcessOrder(cart, deliveryDto, client); cart.Clear(); return(View("Completed")); } return(View(deliveryDto)); }
public void SaveDelivery(DeliveryDTO _delivery) { Mapper.CreateMap <DeliveryDTO, Delivery>(); var delivery = Mapper.Map <DeliveryDTO, Delivery>(_delivery); _unitOfWork.DeliveryRepository.Create(delivery); _unitOfWork.Save(); }
public void LoadModifyDeliveryPage(DeliveryDTO client) { IWindowManager manager = new WindowManager(); AddDeliveryViewModel modify = new AddDeliveryViewModel(client); manager.ShowDialog(modify, null, null); Reload(); }
public Task ActivateAsync(object parameter) { _currentDelivery = (DeliveryDTO)parameter; DeliveryLabel.Content = "Order number: " + _currentDelivery.DeliveryNumber; DateLabel.Content = "Order Date: " + _currentDelivery.DeliveryDate; TotalLabel.Content = _currentDelivery.StringTotal; UpdateDataGrid(); return(Task.CompletedTask); }
public ActionResult Edit(DeliveryDTO delivery) { if (ModelState.IsValid) { deliveryService.AddOrUpdate(delivery); return(RedirectToAction("IndexHtmlAction")); } return(View("Edit")); }
public static void Delete(DeliveryDTO delivery) { using (WarehouseSystemContext db = new WarehouseSystemContext()) { var toDelete = db.Deliveries.Where(x => x.Id == delivery.Id).FirstOrDefault(); toDelete.IsDisabled = true; db.SaveChanges(); } }
public async Task <IActionResult> UpdateDeliveryAsync([FromBody] DeliveryDTO deliveryDTO) { var query = new UpdateDeliveryCommand(deliveryDTO); var result = await _meadiator.Send(query); return(result == true ? (IActionResult)Ok(result) : BadRequest(result)); //var delivery = _mapper.Map<Delivery>(deliveryDTO); //var res = await _deliveryService.UpdateDeliveryAysnc(delivery); //return res == true ? (IActionResult) Ok(res) : BadRequest(res); }
public void Delete(DeliveryDTO client) { IWindowManager manager = new WindowManager(); // DeleteConfirmationViewModel modify = new DeleteConfirmationViewModel(); // bool? showDialogResult = manager.ShowDialog(modify, null, null); // if (showDialogResult != null && showDialogResult == true) // { DeliveryService.Delete(client); // } Reload(); }
/// <summary> /// Create a Food Delivery in Corrals. Data will be stores in Tables ODLN and DLN1 frin SAP B1 /// </summary> public static ResultDTO CreateDelivery(DeliveryDTO deliveryDTO) { var result = new ResultDTO(); var lObjDistributionDAO = new DistributionDAO(); try { SAPbobsCOM.Documents lObjDocDelivery = (SAPbobsCOM.Documents)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oDeliveryNotes); //ODLN} var task = Task.Run(() => { lObjDocDelivery.CardCode = deliveryDTO.CardCode; lObjDocDelivery.CardName = deliveryDTO.CardName; lObjDocDelivery.UserFields.Fields.Item("U_GLO_BusinessPartner").Value = deliveryDTO.CardCode; lObjDocDelivery.DocDate = deliveryDTO.DocDate; lObjDocDelivery.Series = deliveryDTO.Series; }); var task2 = Task.Factory.StartNew(() => { foreach (var docLine in deliveryDTO.DocLines) //DLN { lObjDocDelivery.Lines.ItemCode = docLine.ItemCode; lObjDocDelivery.Lines.ItemDescription = docLine.Dscription; lObjDocDelivery.Lines.Quantity = docLine.Quantity; lObjDocDelivery.Lines.WarehouseCode = docLine.WhsCode; lObjDocDelivery.Lines.UserFields.Fields.Item("U_GLO_BagsBales").Value = docLine.BagsBales; lObjDocDelivery.Lines.UserFields.Fields.Item("U_GLO_Corral").Value = docLine.Corral; lObjDocDelivery.Lines.CostingCode = docLine.Area; lObjDocDelivery.Lines.Price = docLine.Price; lObjDocDelivery.Lines.Add(); } }); Task.WaitAll(task, task2); if (lObjDocDelivery.Add() != 0) { LogService.WriteError("DeliveryDI (CreateDocument) " + DIApplication.Company.GetLastErrorDescription()); result.Message = DIApplication.Company.GetLastErrorDescription(); result.Success = false; return(result); } } catch (Exception ex) { LogService.WriteError(String.Format("{0}: {1}, {2}", "DeliveryDI(Exception)", ex.Message, ex.StackTrace)); result.Success = false; result.Message = ex.Message; return(result); } result.Message = "La Entrega se realizó con éxito"; result.Success = true; return(result); }
public ActionResult Delete(int id) { try { DeliveryDTO delivery = deliveryService.Get(id); deliveryService.Delete(delivery); return(Json("OK")); } catch { return(Json("Error")); } }
public DeliveryDTO Export() { var model = new DeliveryDTO() { LocationFrom = this.LocationFrom.Export(), LocationTo = this.LocationTo.Export(), Cost = this.Cost, EstimatedDelivery = this.EstimatedDelivery.ToString(), Confirmed = this.Confirmed, Delivered = this.Delivered, }; return(model); }
public void CreateDelivery(DeliveryDTO o) { Delivery d = new Delivery { deliveryId = o.deliveryId, totalPrice = o.totalPrice, paymentType = o.paymentType, fullName = o.fullName, address = o.address, }; this.Database.Deliveries.Create(d); this.Database.Save(); }
public static Delivery Parse(DeliveryDTO input) { var model = new Delivery() { LocationFrom = Location.Parse(input.LocationFrom), LocationTo = Location.Parse(input.LocationTo), Cost = input.Cost, EstimatedDelivery = DateTime.Parse(input.EstimatedDelivery), Confirmed = input.Confirmed, Delivered = input.Delivered }; return(model); }
public void ProcessOrder(Cart cart, DeliveryDTO deliveryDto) { var orderItemsDto = cart.Lines; var orderItems = Mapper.Map <IEnumerable <OrderItemDTO>, IEnumerable <OrderItem> >(orderItemsDto); var order = new Order(); order.OrderItems = orderItems; order.DateCreation = DateTime.Now; order.DateSale = DateTime.Now; //order.User //order.Status; _repository.Add(order); }
public void Add() { var newDelivery = new DeliveryDTO(); newDelivery.DeliveredItem = DeliveredItem; newDelivery.ItemQuantity = ItemQuantity; newDelivery.RecipientCompany = RecipientCompany; newDelivery.CityTown = CityTown; newDelivery.PostalCode = string.Format("{0}-{1}", PostalCode1, PostalCode2); newDelivery.StreetAddress = StreetAddress; newDelivery.Weight = Weight; newDelivery.Description = Description; DeliveryService.Add(newDelivery); TryClose(); }
public async Task <ActionResult <Delivery> > PostDelivery(DeliveryDTO deliveryDTO) { PurchaseOrder purchaseOrder = _context.PurchaseOrders.Include(e => e.Supplier).FirstOrDefault(e => e.OrderReference == deliveryDTO.PurchaseOrder); Site site = _context.Sites.FirstOrDefault(e => e.SiteCode == deliveryDTO.SiteCode); Delivery delivery = new Delivery { DeliveryId = deliveryDTO.DeliveryId, DeliveryMethod = deliveryDTO.DeliveryMethod, OnSiteDelivery = true, DeliveryStatus = deliveryDTO.DeliveryStatus, PayableAmount = purchaseOrder.TotalCost, IsFullDelivery = true, PurchaseOrder = purchaseOrder, Site = site }; GoodsReceipt goodsReceipt = new GoodsReceipt { PurchaseOrder = purchaseOrder, Supplier = purchaseOrder.Supplier, Site = purchaseOrder.Site, Delivery = delivery, DateDelivered = DateTime.UtcNow }; _context.Deliveries.Add(delivery); _context.GoodsReceipt.Add(goodsReceipt); try { await _context.SaveChangesAsync(); } catch (DbUpdateException) { if (DeliveryExists(delivery.DeliveryId)) { return(Conflict()); } else { throw; } } return(CreatedAtAction("GetDelivery", new { id = delivery.DeliveryId }, delivery)); }
public OperationDetails SetDelivery(DeliveryDTO delivery, int orderId) { if (delivery == null) { return(new OperationDetails(false, "Не удалось найти объект", this.ToString())); } Order order = Database.Orders.Get(orderId); if (order == null) { return(new OperationDetails(false, "Не удалось найти объект", this.ToString())); } order.Delivery = _mappers.ToDelivery.Map <DeliveryDTO, Delivery>(delivery); Database.Orders.Update(order); Database.Save(); return(new OperationDetails(true, "Доставка была успешно оформлена", this.ToString())); }
public OperationDetails MakeDelivery(int orderId, DeliveryDTO model) { if (orderId == 0 || model == null) { return(new OperationDetails(false, "Не удалось найти объект", this.ToString())); } Delivery delivery = _mappers.ToDelivery.Map <DeliveryDTO, Delivery>(model); Order order = Database.Orders.Get(orderId); if (order == null || delivery == null) { return(new OperationDetails(false, "Не удалось найти объект", this.ToString())); } order.Delivery = delivery; Database.Orders.Update(order); Database.Save(); return(new OperationDetails(true, "Доставка была успешно оформена", this.ToString())); }
public async Task <double> CalculateDeliveryCostAndCountAsync(int cartId, double costPerDelivery, double costPerProduct, double fixedCost) { Cart cart = new Cart(_cartEFService, _mapper, _productEFService, _categoryEFService); IList <CartDetailDTO> cartDetailDTOs = await cart.GetCartDetailsAsync(cartId); int numberOfDeliveries = cartDetailDTOs.Select(async cd => (await _productEFService.GetProductAsync(cd.ProductId)).CategoryId).Distinct().Count(); double deliveryCost = (costPerDelivery * numberOfDeliveries) + (costPerProduct * cartDetailDTOs.Select(cd => cd.ProductId).Distinct().Count()) + fixedCost; deliveryCost = Math.Round(deliveryCost, 2); DeliveryDTO deliveryDTO = new DeliveryDTO() { CartId = cartId, Cost = deliveryCost }; await _deliveryEFService.AddDeliveryAsync(_mapper.Map <DeliveryModel>(deliveryDTO)); return(deliveryCost); }
public ActionResult <DeliveryDTO> GetById(long id) { try { DeliveryDTO deliveryDTO = _mapper.Map <DeliveryDTO>(_deliveryAppService.GetById(id, this.User)); if (deliveryDTO == null) { return(NotFound()); } return(Ok(deliveryDTO)); } catch (Exception ex) { return(BadRequest(ex)); } }
public ActionResult CheckoutPay(DeliveryModel deliveryModel) { deliveryModel.deliveryId = this.orderService.FindMaxIdDelivery() + 1; var delDto = new DeliveryDTO(deliveryModel.deliveryId, deliveryModel.totalPrice, deliveryModel.paymentType, deliveryModel.fullName, deliveryModel.address); this.orderService.CreateDelivery(delDto); int user_session = int.Parse(Session["User_ID"].ToString()); IEnumerable <OrderDTO> orders = this.orderService.GetAllOrders().Where(e => e.payed == false && e.userId == user_session); foreach (var item in orders) { orderService.Dispose(item.orderId); int next_id = this.orderService.FindMaxId() + 1; orderService.CreateOrder(new OrderDTO(next_id, user_session, item.productId, item.quantity, true)); } return(this.RedirectToAction("History")); }
public Tuple <string, string> CreateCounterparty(DeliveryDTO SelDelivery) { Tuple <string, string> tuple = new Tuple <string, string>("", ""); string[] fullName = SelDelivery.CustomerName.Split(' '); try { var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://api.novaposhta.ua/v2.0/json/"); httpWebRequest.ContentType = "application/json"; httpWebRequest.Method = "POST"; using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { string json = "{\"apiKey\": \"" + $"{config.ApiKeyNP}" + "\"," + "\"modelName\": \"Counterparty\"," + "\"calledMethod\": \"save\"," + "\"methodProperties\": {" + "\"FirstName\": \"" + $"{fullName[1]}" + "\"," + "\"MiddleName\": \"" + $"{fullName[2]}" + "\"," + "\"LastName\": \"" + $"{fullName[0]}" + "\"," + "\"Phone\": \"" + $"{SelDelivery.CustomerPhone}" + "\"," + "\"Email\": \"\"," + "\"CounterpartyType\": \"PrivatePerson\"," + "\"CounterpartyProperty\": \"Recipient\"" + "}" + "}"; streamWriter.Write(json); } var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var str = streamReader.ReadToEnd(); JObject search = JObject.Parse(str); string refCounterparty = (string)search["data"][0]["Ref"]; string refContactPerson = (string)search["data"][0]["ContactPerson"]["data"][0]["Ref"]; tuple = new Tuple <string, string>(refCounterparty, refContactPerson); } } catch (Exception ex) { } return(tuple); }