public async Task <string> RemoveItemFromCart(string skuId) { var buyer = this.User.FindFirstValue(ClaimTypes.NameIdentifier); if (buyer != null) { DBContext _context = new DBContext(); OrderModel order = OrderMapper.Mapper(_context.Order.Include(x => x.Buyer).Include(x => x.Seller).Include(x => x.Address).Where(x => x.BuyerId == Guid.Parse(buyer)).FirstOrDefault()); OrderItemsModel orderItem = OrderItemsMapper.Mapper(_context.OrderItems.Include(x => x.Order).Include(x => x.Seller).Include(x => x.Sku).Where(x => x.OrderId == order.Id && x.SkuId == Guid.Parse(skuId)).FirstOrDefault()); var currentItem = _context.OrderItems.Find(orderItem.Id); currentItem.Quantity -= 1; _context.Update(currentItem); var currentOrder = _context.Order.Find(order.Id); currentOrder.SubTotal -= orderItem.Sku.Price; currentOrder.Total -= orderItem.Sku.Price; _context.Update(currentOrder); _context.SaveChanges(); return("OK"); } return("FAIL"); }
public IActionResult Details(int Id) { var order = _ordersRepository.GetOrderById(Id); var user = _usersRepository.GetUserById(order.UserId); var status = _ordersRepository.GetStatusById(order.StatusId); string username = user.Firstname + " " + user.Lastname; var model = new OrderModel { CreatedAt = order.CreatedAt, Id = order.Id, OrderStatus = status.NameEn, TotalPrice = order.TotalPrice, Username = username, Phonenumber = user.Phonenumber, DeliveryInfo = order.DeliveryInfo, DeliveryLatitude = order.DeliveryLatitude, DeliveryLongitude = order.DeliveryLongitude }; var orderItems = _ordersRepository.GetOrderItems(Id); var list = new List <OrderItemsModel>(); foreach (var elem in orderItems) { var product = _productsRepository.GetProductById(elem.ProductId); var item = new OrderItemsModel { TotalPrice = elem.TotalPrice, Quantity = elem.Quantity, ItemName = product.NameEn }; list.Add(item); } model.OrderItems = list; return(View(model)); }
public async Task <IActionResult> Edit(int id, [Bind("OrderItemsModelId,Quantity,InvoiceModelId,ProductModelId")] OrderItemsModel orderItemsModel) { if (id != orderItemsModel.OrderItemsModelId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(orderItemsModel); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!OrderItemsModelExists(orderItemsModel.OrderItemsModelId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["InvoiceModelId"] = new SelectList(_context.InvoiceModel, "InvoiceModelId", "InvoiceModelId", orderItemsModel.InvoiceModelId); ViewData["ProductModelId"] = new SelectList(_context.ProductModel, "ProductModelId", "ProductModelId", orderItemsModel.ProductModelId); return(View(orderItemsModel)); }
public async Task <IActionResult> Create([Bind("OrderItemsModelId,Quantity,InvoiceModelId,ProductModelId")] OrderItemsModel orderItemsModel) { if (ModelState.IsValid) { _context.Add(orderItemsModel); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["InvoiceModelId"] = new SelectList(_context.InvoiceModel, "InvoiceModelId", "InvoiceModelId", orderItemsModel.InvoiceModelId); ViewData["ProductModelId"] = new SelectList(_context.ProductModel, "ProductModelId", "ProductModelId", orderItemsModel.ProductModelId); return(View(orderItemsModel)); }
public static OrderItemsEntity Mapper(OrderItemsModel oim) { if (oim != null) { OrderItemsEntity oie = new OrderItemsEntity { Id = oim.Id, Quantity = oim.Quantity, SellerId = oim.Seller.Id, SkuId = oim.Sku.Id, OrderId = oim.Order.Id }; return(oie); } return(null); }
public static OrderItemsModel Mapper(OrderItemsEntity oie) { if (oie != null) { OrderItemsModel oim = new OrderItemsModel { Id = oie.Id, Quantity = oie.Quantity, Seller = UserMapper.Mapper(oie.Seller), Sku = SkuMapper.Mapper(oie.Sku), Order = OrderMapper.Mapper(oie.Order) }; return(oim); } return(null); }
public IActionResult PostOrder(OrderModel order) { try { //Order table if (order.OrderID == 0) { _context.Orders.Add(order); } else { _context.Entry(order).State = EntityState.Modified; } //OrderItems table foreach (var item in order.OrderItems) { if (item.OrderItemID == 0) { _context.OrderItems.Add(item); } else { _context.Entry(item).State = EntityState.Modified; } } //Delete for OrderItems foreach (var id in order.DeletedOrderItemIDs.Split(',').Where(x => x != "")) { OrderItemsModel x = _context.OrderItems.Find(Convert.ToInt64(id)); _context.OrderItems.Remove(x); } _context.SaveChanges(); return(Ok()); } catch (Exception ex) { throw ex; } }
public OrderItemsModel CreateOrderItem(OrderItemsModel data) { ORDERITEMS newOrderItem = new ORDERITEMS(); _context.ORDERITEMS.Add(newOrderItem); _context.Entry(newOrderItem).CurrentValues.SetValues(data); _context.SaveChanges(); return(new OrderItemsModel { ITEMID = newOrderItem.ITEMID, ARTICLENUMBER = newOrderItem.ARTICLENUMBER, COLORCODE = newOrderItem.COLORCODE, COLORNAME = newOrderItem.COLORNAME, CUSTORDERID = newOrderItem.CUSTORDERID, HASPRINT = newOrderItem.HASPRINT, PRINTNUMBER = newOrderItem.PRINTNUMBER, QUANTITY = newOrderItem.QUANTITY }); }
public async Task <Result> Handle(ListOrderItemQuery request, CancellationToken cancellationToken) { await Task.Yield(); var orderItemModels = new List <OrderItemModel>(); var orderItems = Item.ListOrderItem(); foreach (var orderItem in orderItems) { orderItemModels.Add(new OrderItemModel { Code = orderItem.Key.Value, Item = orderItem.Value }); } var count = orderItemModels.Count; var orderItemsModel = new OrderItemsModel { Value = orderItemModels, Count = count, NextLink = null }; return(Result.Ok(orderItemsModel)); }
public static List <OrderItemsModel> Mapper(List <OrderItemsEntity> oieList) { if (oieList != null) { List <OrderItemsModel> oimList = new List <OrderItemsModel>(); foreach (var oie in oieList) { OrderItemsModel oim = new OrderItemsModel { Id = oie.Id, Quantity = oie.Quantity, Seller = UserMapper.Mapper(oie.Seller), Sku = SkuMapper.Mapper(oie.Sku), Order = OrderMapper.Mapper(oie.Order) }; oimList.Add(oim); } ; return(oimList); } return(null); }
public OrderItemsModel CreateOrderItem([FromBody] OrderItemsModel data) { return(this._context.CreateOrderItem(data)); }
public async Task <string> AddItemToCart(string skuId) { var buyer = this.User.FindFirstValue(ClaimTypes.NameIdentifier); if (buyer != null) { DBContext _context = new DBContext(); OrderModel order = OrderMapper.Mapper(_context.Order.Include(x => x.Buyer).Include(x => x.Seller).Include(x => x.Address).Where(x => x.BuyerId == Guid.Parse(buyer)).FirstOrDefault()); SkuStocksModel stock = StockMapper.Mapper(_context.Stocks.Include(x => x.Seller).Include(x => x.Sku).Where(x => x.SellerId == order.Seller.Id && x.Sku.Id == Guid.Parse(skuId)).FirstOrDefault()); if (stock != null) { OrderItemsModel item = OrderItemsMapper.Mapper(_context.OrderItems.Include(x => x.Sku).Include(x => x.Seller).Include(x => x.Order).Where(x => x.SkuId == Guid.Parse(skuId) && x.OrderId == order.Id).FirstOrDefault()); if (item == null) { item = new OrderItemsModel(); item.Id = Guid.NewGuid(); item.Seller = order.Seller; item.Sku = stock.Sku; item.Order = order; item.Quantity = 1; _context.Add(OrderItemsMapper.Mapper(item)); var currentOrder = _context.Order.Find(order.Id); currentOrder.SubTotal += item.Sku.Price; currentOrder.Total += item.Sku.Price; _context.Update(currentOrder); } else { var currentItem = _context.OrderItems.Find(item.Id); currentItem.Id = item.Id; currentItem.OrderId = order.Id; currentItem.Quantity += 1; currentItem.SellerId = order.Seller.Id; currentItem.SkuId = stock.Sku.Id; _context.Update(currentItem); var currentOrder = _context.Order.Find(order.Id); currentOrder.SubTotal += item.Sku.Price; currentOrder.Total += item.Sku.Price; _context.Update(currentOrder); } var newstock = _context.Stocks.Find(stock.Id); newstock.Id = stock.Id; newstock.SellerId = order.Seller.Id; newstock.SkuId = stock.Sku.Id; newstock.AvailableQuantity -= 1; newstock.LastUpdate = DateTime.Now; _context.Update(newstock); _context.SaveChanges(); return("OK"); } return("ESSE PRODUTO NÃO TEM ESTOQUE PARA O LOJISTA SELECIONADO"); } else { return("FAIL"); } }
public IList<OrderItemsModel> GetAllOrderItems(int orderid) { IList<OrderItem> orderitemlst = new List<OrderItem>(); IList<OrderItemsModel> orderitemmodellst = new List<OrderItemsModel>(); var orderItemsModel = new OrderItemsModel(); try { orderitemlst = _repository.OrderItemsByOrderid(orderid).ToList(); if (orderitemlst.Count > 0) { foreach (var orderitem in orderitemlst) { var order = _repository.GetOrderById(orderid); if (order != null) { orderItemsModel = Mapper.Map<OrderItem, OrderItemsModel>(orderitem); orderItemsModel.Order = order; orderItemsModel.Property = _repository.GetPropertyById(int.Parse(order.Property_Id.ToString())); orderitemmodellst.Add(orderItemsModel); } } } } catch (Exception ex) { string msg = ex.Message; } return orderitemmodellst; }