Exemple #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            OrderProductHistory orderProductHistory = db.OrderProductHistory.Find(id);

            db.OrderProductHistory.Remove(orderProductHistory);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public PartialViewResult Realize(Order order)
        {
            if (ModelState.IsValid)
            {
                var      userId = User.Identity.GetUserId();
                DateTime now    = DateTime.Now;
                ICollection <OrderProduct> orderProducts = db.OrderProducts.Where(y => y.ProductOrderStateID == 1).Where(x => x.userID == userId).ToList();
                if (orderProducts.Any())
                {
                    Order orderX = db.Orders.Where(y => y.OrderStateID == 1).FirstOrDefault(x => x.UserID == userId);
                    orderX.Suma = 0;
                    int orderId = orderX.OrderID;
                    foreach (var x in orderProducts)
                    {
                        x.ProductOrderStateID = 2;
                        db.Entry(x).State     = EntityState.Modified;
                        orderX.Suma          += x.Suma;

                        OrderProductHistory orderProductHistory = new OrderProductHistory {
                            Price = x.Product.Price, OrderProductID = x.OrderProductID
                        };
                        db.OrderProductHistory.Add(orderProductHistory);
                        db.SaveChanges();
                    }
                    OrderUser orderUser = new OrderUser
                    {
                        OrderUserID = order.OrderID,
                        Email       = order.OrderUser.Email ?? orderX.User.Email,
                        Name        = order.OrderUser.Name ?? orderX.User.Name,
                        Surname     = order.OrderUser.Email ?? orderX.User.Surname,
                        Address     = order.OrderUser.Surname ?? orderX.User.Address,
                        Telephone   = order.OrderUser.Telephone ?? orderX.User.Telephone
                    };
                    db.OrderUser.Add(orderUser);
                    db.SaveChanges();
                    //user.Telephone = order.User.Telephone;
                    //user.Name = order.User.Name;
                    //user.Surname = order.User.Surname;
                    //user.Address = order.User.Address;
                    //user.Agreement = true;
                    //db.Entry(user).State = EntityState.Modified;
                    orderX.OrderUserID    = orderX.OrderID;
                    orderX.OrderStateID   = 2;
                    orderX.IncomingDate   = now;
                    orderX.OrderPaymentID = order.OrderPaymentID;
                    orderX.OrderSupplyID  = order.OrderSupplyID;


                    db.Entry(orderX).State = EntityState.Modified;
                    db.SaveChanges();
                }
            }
            ViewBag.OrderPaymentID = new SelectList(db.OrderPayments, "OrderPaymentID", "Name");
            ViewBag.OrderSupplyID  = new SelectList(db.OrderSupplies, "OrderSupplyID", "Name");
            return(PartialView("Modal", db.OrderProducts));
        }
Exemple #3
0
 public ActionResult Edit([Bind(Include = "OrderProductHistoryID,OrderProductID,Price")] OrderProductHistory orderProductHistory)
 {
     if (ModelState.IsValid)
     {
         db.Entry(orderProductHistory).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.OrderProductID = new SelectList(db.OrderProducts, "OrderProductID", "userID", orderProductHistory.OrderProductID);
     return(View(orderProductHistory));
 }
Exemple #4
0
        // GET: OrderProductHistories/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            OrderProductHistory orderProductHistory = db.OrderProductHistory.Find(id);

            if (orderProductHistory == null)
            {
                return(HttpNotFound());
            }
            return(View(orderProductHistory));
        }
Exemple #5
0
        // GET: OrderProductHistories/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            OrderProductHistory orderProductHistory = db.OrderProductHistory.Find(id);

            if (orderProductHistory == null)
            {
                return(HttpNotFound());
            }
            ViewBag.OrderProductID = new SelectList(db.OrderProducts, "OrderProductID", "userID", orderProductHistory.OrderProductID);
            return(View(orderProductHistory));
        }
        public UpdateDeliveryResult UpdateDelivery(string productId, string orderId, int quantity, string user, string token)
        {
            var log = new MongoHistoryAPI()
            {
                APIUrl     = "/api/manageorder/updatedelivery",
                CreateTime = DateTime.Now,
                Sucess     = 1
            };

            var result = new UpdateDeliveryResult()
            {
                id  = "1",
                msg = "success"
            };

            try
            {
                if (!mongoHelper.checkLoginSession(user, token))
                {
                    throw new Exception("Wrong token and user login!");
                }

                HaiStaff staff = db.HaiStaffs.Where(p => p.UserLogin == user).FirstOrDefault();
                if (staff == null)
                {
                    throw new Exception("Sai thong tin nguoi dat");
                }


                var checkOrderProduct = db.OrderProducts.Where(p => p.OrderId == orderId && p.ProductId == productId).FirstOrDefault();

                if (checkOrderProduct == null)
                {
                    throw new Exception("Sai thong tin");
                }


                checkOrderProduct.QuantityFinish = quantity;

                checkOrderProduct.ModifyDate = DateTime.Now;

                db.Entry(checkOrderProduct).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();


                //
                var    order       = checkOrderProduct.HaiOrder;
                string deliveryStt = GetDeliveryStatus(order);
                var    status      = db.DeliveryStatus.Find(deliveryStt);
                order.DStatus = deliveryStt;

                result.deliveryStatus     = status.Name;
                result.deliveryStatusCode = status.Id;
                result.finish             = quantity;

                db.Entry(order).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();


                //
                // update process: nhan vien khoi tao
                var history = new OrderProductHistory()
                {
                    Id         = Guid.NewGuid().ToString(),
                    CreateDate = DateTime.Now,
                    Notes      = "Nhan vien cong ty cap nhat",
                    OrderId    = checkOrderProduct.OrderId,
                    ProductId  = checkOrderProduct.ProductId,
                    Quantity   = quantity,
                    StaffId    = staff.Id
                };

                db.OrderProductHistories.Add(history);
                db.SaveChanges();

                HaiUtil.SendNotifi("Đơn hàng " + order.Code, "Đã cập nhật số lượng giao " + HaiUtil.ConvertProductQuantityText(checkOrderProduct.ProductInfo.Quantity, quantity, checkOrderProduct.ProductInfo.Unit) +
                                   "\nCho sản phẩm " + checkOrderProduct.ProductInfo.PName, staff.UserLogin, db, mongoHelper);
            }
            catch (Exception e)
            {
                result.id  = "0";
                result.msg = e.Message;
                log.Sucess = 0;
            }

            log.ReturnInfo = new JavaScriptSerializer().Serialize(result);

            mongoHelper.createHistoryAPI(log);

            return(result);
        }
Exemple #7
0
        public ResultInfo UpdateOrderProduct()
        {
            var log = new MongoHistoryAPI()
            {
                APIUrl     = "/api/c1order/updateorderproduct",
                CreateTime = DateTime.Now,
                Sucess     = 1
            };

            var result = new C1OrderResult()
            {
                id  = "1",
                msg = "success"
            };

            try
            {
                var requestContent = Request.Content.ReadAsStringAsync().Result;
                var jsonserializer = new JavaScriptSerializer();
                var paser          = jsonserializer.Deserialize <UpdateOrderRequest>(requestContent);
                log.Content = new JavaScriptSerializer().Serialize(paser);

                if (!mongoHelper.checkLoginSession(paser.user, paser.token))
                {
                    throw new Exception("Wrong token and user login!");
                }

                var c1Info = db.C1Info.Where(p => p.CInfoCommon.UserLogin == paser.user).FirstOrDefault();

                if (c1Info == null)
                {
                    throw new Exception("Sai thong tin");
                }

                var orderProduct = db.OrderProducts.Where(p => p.ProductId == paser.productId && p.OrderId == paser.orderId).FirstOrDefault();
                if (orderProduct == null)
                {
                    throw new Exception("Sai thong tin");
                }

                if (orderProduct.HaiOrder.OrderStatus != "process")
                {
                    throw new Exception("Đơn hàng không thể cập nhật");
                }

                // check quantity
                int?quantityRemain = orderProduct.Quantity - orderProduct.QuantityFinish;

                if (quantityRemain < paser.quantity)
                {
                    throw new Exception("Số lượng giao vượt quá");
                }

                orderProduct.QuantityFinish = orderProduct.QuantityFinish + paser.quantity;

                db.Entry(orderProduct).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();

                // save history

                var history = new OrderProductHistory()
                {
                    Id         = Guid.NewGuid().ToString(),
                    CreateDate = DateTime.Now,
                    Notes      = "Đại lý " + c1Info.StoreName + "(" + c1Info.Code + ") đã cập nhật",
                    OrderId    = orderProduct.OrderId,
                    ProductId  = orderProduct.ProductId,
                    Quantity   = paser.quantity
                };

                db.OrderProductHistories.Add(history);
                db.SaveChanges();

                // gui thong bao
                var order = db.HaiOrders.Find(paser.orderId);
                if (order != null)
                {
                    var staff = order.OrderStaffs.Where(p => p.ProcessId == "create").FirstOrDefault();
                    // nhan vien
                    if (staff != null)
                    {
                        HaiUtil.SendNotifi("Đơn hàng " + order.Code, "Cửa hàng " + c1Info.StoreName + " vừa giao hàng", staff.HaiStaff.UserLogin, db, mongoHelper);
                    }

                    // c2
                    HaiUtil.SendNotifi("Đơn hàng " + order.Code, "Cửa hàng " + c1Info.StoreName + " vừa giao hàng", order.CInfoCommon.UserLogin, db, mongoHelper);
                }
            }
            catch (Exception e)
            {
                result.id  = "0";
                result.msg = e.Message;
                log.Sucess = 0;
            }

            log.ReturnInfo = new JavaScriptSerializer().Serialize(result);

            mongoHelper.createHistoryAPI(log);

            return(result);
        }
        public ActionResult UpdateDelivery(string orderId, string productId, int?can, int?box)
        {
            if (can == null || box == null)
            {
                return(Json(new { id = 0 }, JsonRequestBehavior.AllowGet));
            }

            var orderProduct = db.OrderProducts.Where(p => p.ProductId == productId && p.OrderId == orderId).FirstOrDefault();

            if (orderProduct == null)
            {
                return(Json(new { id = 0 }, JsonRequestBehavior.AllowGet));
            }

            var quantity = box + orderProduct.ProductInfo.Quantity * can;

            orderProduct.QuantityFinish = quantity;

            db.Entry(orderProduct).State = System.Data.Entity.EntityState.Modified;
            db.SaveChanges();

            string stt = "";

            if (quantity == 0)
            {
                stt = "Chưa giao";
            }
            else if (quantity == orderProduct.Quantity)
            {
                stt = "Giao đủ";
            }
            else if (quantity > orderProduct.Quantity)
            {
                stt = "Giao nhiều hơn";
            }
            else if (quantity < orderProduct.Quantity)
            {
                stt = "Giao ít hơn";
            }

            var    order       = orderProduct.HaiOrder;
            string deliveryStt = GetDeliveryStatus(order);

            order.DStatus         = deliveryStt;
            db.Entry(order).State = System.Data.Entity.EntityState.Modified;
            db.SaveChanges();

            // save history
            var haiStaff = db.HaiStaffs.Where(p => p.UserLogin == User.Identity.Name).FirstOrDefault();
            var history  = new OrderProductHistory()
            {
                Id         = Guid.NewGuid().ToString(),
                CreateDate = DateTime.Now,
                Notes      = "Quan ly cong ty cap nhat",
                OrderId    = orderProduct.OrderId,
                ProductId  = orderProduct.ProductId,
                Quantity   = quantity,
                StaffId    = haiStaff.Id
            };

            db.OrderProductHistories.Add(history);
            db.SaveChanges();


            Utitl.Send("Đơn hàng " + orderProduct.HaiOrder.Code, "Đã cập nhật số lượng giao " + HaiUtil.ConvertProductQuantityText(orderProduct.ProductInfo.Quantity, quantity, orderProduct.ProductInfo.Unit) +
                       "\nCho sản phẩm " + orderProduct.ProductInfo.PName, haiStaff.UserLogin, db, mongoHelp);

            return(Json(new { id = 1, money = (quantity * orderProduct.PerPrice).Value.ToString("C", Util.Cultures.VietNam), stt = stt }, JsonRequestBehavior.AllowGet));
        }