Esempio n. 1
0
        public ActionResult CancelDailyChicCutOrder(int OrderId)
        {
            Daily_ChicCut_OrderModel model = _context.Daily_ChicCut_OrderModel
                                             .Where(p => p.OrderId == OrderId)
                                             .FirstOrDefault();
            var Resuilt = "";

            if (model == null)
            {
                Resuilt = "Không tìm thấy đơn hàng yêu cầu !";
            }
            else if (model.OrderStatusId == EnumDaily_ChicCut_OrderStatus.DaTinhTien)
            {
                using (System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString))
                {
                    using (System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand())
                    {
                        cmd.CommandText = "usp_Daily_ChicCut_Order_Canceled";
                        cmd.Parameters.AddWithValue("@OrderId", model.OrderId);
                        cmd.Parameters.AddWithValue("@CanceledDate", DateTime.Now);
                        cmd.Parameters.AddWithValue("@CanceledUserId", CurrentUser.UserId);
                        cmd.Connection  = conn;
                        cmd.CommandType = CommandType.StoredProcedure;
                        conn.Open();
                        cmd.ExecuteNonQuery();
                        conn.Close();
                    }
                }
                Resuilt = "success";
            }
            return(Json(Resuilt, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Edit(int OrderId, int PaymentMethodId)
        {
            Daily_ChicCut_OrderModel orderModel = _context.Daily_ChicCut_OrderModel.Where(p => p.OrderId == OrderId).FirstOrDefault();

            if (orderModel != null)
            {
                orderModel.PaymentMethodId       = PaymentMethodId;
                _context.Entry(orderModel).State = System.Data.Entity.EntityState.Modified;
                _context.SaveChanges();
                return(Json(true, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(false, JsonRequestBehavior.AllowGet));
            }
        }
Esempio n. 3
0
        public ActionResult ConfirmToPreOrder(int PreOrderId, int HairTypeId, int OrderStatusId)
        {
            try
            {
                using (TransactionScope ts = new TransactionScope())
                {
                    #region #B1. Tạo OrderMaster và OrderDetail
                    var PreOrderMaster = _context.Daily_ChicCut_Pre_OrderModel.Find(PreOrderId);
                    List <Daily_ChicCut_OrderDetailViewModel> LstOrderDetail = GetListOrderDetail(HairTypeId, PreOrderId);
                    Daily_ChicCut_OrderModel modelOrder = GetOrderMaster(PreOrderMaster, LstOrderDetail, HairTypeId, OrderStatusId);
                    _context.Entry(modelOrder).State = System.Data.Entity.EntityState.Added;
                    _context.SaveChanges();

                    //Duyệt danh sách LstOrderDetail để Add vào OrderDetail: Tính SumCOGSOfOrderDetail (CashierUserId, CashierDate, Tip, Commission khi Thanh toán sẽ tính)
                    decimal SumCOGSOfOrderDetail = 0;
                    if (LstOrderDetail != null && LstOrderDetail.Count > 0)
                    {
                        DuyetDanhSachChiTietDonHang(ref SumCOGSOfOrderDetail, LstOrderDetail, modelOrder.OrderId);
                    }
                    #endregion

                    #region #B2.Cập nhật PreOder: OrderId, OrderStatusId. Cập nhật OrderMaster: SumCOGSOfOrderDetail
                    // PreOder
                    PreOrderMaster.OrderId               = modelOrder.OrderId;
                    PreOrderMaster.OrderStatusId         = OrderStatusId; // 1.Đang chờ || 2.Đang phục vụ
                    _context.Entry(PreOrderMaster).State = System.Data.Entity.EntityState.Modified;
                    //OrderMaster
                    modelOrder.SumCOGSOfOrderDetail  = SumCOGSOfOrderDetail;
                    _context.Entry(modelOrder).State = System.Data.Entity.EntityState.Modified;
                    _context.SaveChanges();

                    #endregion
                    ts.Complete();
                    return(Content("success"));
                    //Gửi tin nhắn
                }
            }
            catch
            {
                return(Content("Xảy ra lỗi trong quá trình xác nhận đơn hàng!"));
            }
        }
Esempio n. 4
0
        private Daily_ChicCut_OrderModel GetOrderMaster(Daily_ChicCut_Pre_OrderModel PreOrderMaster, List <Daily_ChicCut_OrderDetailViewModel> LstOrderDetail, int HairTypeId, int OrderStatusId)
        {
            // Tạo Order Master
            var currentTime = DateTime.Now;
            var modelOrder  = new Daily_ChicCut_OrderModel()
            {
                CustomerId         = PreOrderMaster.CustomerId,
                FullName           = PreOrderMaster.FullName,
                IdentityCard       = PreOrderMaster.IdentityCard,
                HairTypeId         = HairTypeId,
                Gender             = PreOrderMaster.Gender,
                Phone              = PreOrderMaster.Phone,
                BillDiscountTypeId = 1,
                OrderStatusId      = OrderStatusId,
                CreatedDate        = currentTime,
                CreatedUserId      = CurrentUser.UserId,
                Note = PreOrderMaster.Note,
                SumPriceOfOrderDetail = (LstOrderDetail.Sum(p => p.UnitPrice) ?? 0),
                Total = (LstOrderDetail.Sum(p => p.UnitPrice) ?? 0)
            };

            return(modelOrder);
        }