Example #1
0
        public OrderModels CreateOrder(OrderModels newOrder, string user_id)
        {
            var cart = GetCart();

            newOrder.Order_ordered_at = DateTime.Now;
            newOrder.Order_User_id    = user_id;

            db.Orders.Add(newOrder);

            if (newOrder.OrderPosition == null)
            {
                newOrder.OrderPosition = new List <OrderPositionModels>();
            }

            double cartValue = 0;

            foreach (var cartElem in cart)
            {
                var newOrderPosition = new OrderPositionModels()
                {
                    OrderPosition_product_id = cartElem.Product.Id,
                    OrderPosition_quantity   = cartElem.quantity,
                    OrderPosition_price      = cartElem.Product.Product_price
                };

                cartValue += (cartElem.quantity * cartElem.Product.Product_price);
                newOrder.OrderPosition.Add(newOrderPosition);
            }

            newOrder.Order_total_order_price = cartValue;
            db.SaveChanges();

            return(newOrder);
        }
        public List <OrderPositionModels> GetPositionWithModel(List <OrderViewDTO> model, DateTime dtmFromdate, DateTime dtmToDate)
        {
            List <OrderPositionModels> lsResult = new List <OrderPositionModels>();

            model = model.Where(x => DateTime.Compare(dtmFromdate, DateTime.Parse(x.CreateDate)) <= 0 &&
                                DateTime.Compare(DateTime.Parse(x.CreateDate), dtmToDate) <= 0).ToList();

            int datediff = (dtmToDate.Date - dtmFromdate.Date).Days;

            for (int i = 0; i <= datediff; i++)
            {
                var colItem = model.Where(x => DateTime.Parse(x.CreateDate).Day == i);
                if (colItem.Count() > 0)
                {
                    int j = 0;
                    foreach (var _colitem in colItem)
                    {
                        OrderPositionModels item = new OrderPositionModels();
                        item.X         = i;
                        item.Y         = j;
                        item.OrderItem = _colitem;
                        lsResult.Add(item);
                        j++;
                    }
                }
            }
            return(lsResult);
        }