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");
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 7
0
        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;
            }
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 11
0
 public OrderItemsModel CreateOrderItem([FromBody] OrderItemsModel data)
 {
     return(this._context.CreateOrderItem(data));
 }
Exemplo n.º 12
0
        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");
            }
        }
Exemplo n.º 13
0
        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;
        }