Example #1
0
        public ActionResult Details(int id)
        {
            PreOrderMasterModel model = _context.PreOrderMasterModel.Find(id);

            if (model == null)
            {
                return(HttpNotFound());
            }
            ViewBag.StoreName         = _context.StoreModel.Where(p => p.StoreId == model.StoreId).Select(p => p.StoreName).FirstOrDefault();
            ViewBag.WarhouseName      = _context.WarehouseModel.Where(p => p.WarehouseId == model.WarehouseId).Select(p => p.WarehouseName).FirstOrDefault();
            ViewBag.CustomerLevelName = _context.CustomerLevelModel.Where(p => p.CustomerLevelId == model.CustomerLevelId).Select(p => p.CustomerLevelName).FirstOrDefault();
            return(View(model));
        }
Example #2
0
        public ActionResult Create(int?CustomerId = null)
        {
            PreOrderMasterModel model = new PreOrderMasterModel()
            {
                OrderStatusId = 1,
                Actived       = true
            };

            // Lấy tên nhân viên bán hàng
            model.CreatedAccount = currentAccount.UserName;
            AccountModel Account = _context.AccountModel.Where(p => p.UserName == model.CreatedAccount).FirstOrDefault();

            //model.SaleName = Account.EmployeeModel.FullName;
            //ViewBag.SalemanName = model.SaleName;
            if (CustomerId.HasValue)
            {
                var customer = _context.CustomerModel.Where(p => p.CustomerId == CustomerId).FirstOrDefault();
                if (customer != null)
                {
                    model.FullName     = customer.FullName;
                    model.IdentityCard = customer.IdentityCard;
                    model.Phone        = customer.Phone;
                    model.Gender       = customer.Gender;
                    model.Email        = customer.Email;
                    model.ProvinceId   = customer.ProvinceId;
                    model.DistrictId   = customer.DistrictId;
                    model.Address      = customer.Address;
                    if (customer.ProvinceId.HasValue)
                    {
                        ViewBag.ProvinceName = customer.ProvinceModel.ProvinceName;
                        if (customer.DistrictId.HasValue)
                        {
                            ViewBag.DistrictName = customer.DistrictModel.Appellation + " " + customer.DistrictModel.DistrictName;
                        }
                    }
                    ViewBag.IdCustomer = customer.CustomerId;
                    ViewBag.IdProvince = customer.ProvinceId;
                    ViewBag.IdDistrict = customer.DistrictId;
                }
            }
            // Tìm giá trị STT order code
            CreateViewBag();
            return(View(model));
        }
Example #3
0
        public ActionResult Cancel(int id)
        {
            PreOrderMasterModel model = _context.PreOrderMasterModel
                                        .Where(p => p.PreOrderId == id)
                                        .FirstOrDefault();
            var Resuilt = "";

            if (model == null)
            {
                Resuilt = "Không tìm thấy đơn hàng yêu cầu !";
            }
            else
            {
                model.StatusCode            = "HUY";
                model.Actived               = false;
                _context.Entry(model).State = System.Data.Entity.EntityState.Modified;
                _context.SaveChanges();
                Resuilt = "success";
            }
            return(Json(Resuilt, JsonRequestBehavior.AllowGet));
        }
Example #4
0
        public ActionResult Edit(int id)
        {
            PreOrderMasterModel model = _context.PreOrderMasterModel.Find(id);

            if (model.ProvinceId.HasValue)
            {
                ViewBag.ProvinceName = model.ProvinceModel.ProvinceName;
                ViewBag.DistrictName = model.DistrictModel.Appellation + " " + model.DistrictModel.DistrictName;
            }

            ViewBag.IdCustomer      = model.CustomerId;
            ViewBag.IdProvince      = model.ProvinceId;
            ViewBag.IdDistrict      = model.DistrictId;
            ViewBag.OrderDetailList = model.PreOrderDetailModel.Select(p => new OrderDetailViewModel()
            {
                OrderDetailId  = p.PreOrderDetailId,
                OrderId        = p.PreOrderId,
                ProductId      = p.ProductId,
                Quantity       = p.Quantity,
                Price          = p.Price,
                DiscountTypeId = p.DiscountTypeId,
                Discount       = p.Discount,
                UnitDiscount   = p.UnitDiscount,
                UnitPrice      = p.UnitPrice,
                ProductName    = p.ProductModel.ProductCode + " | " + p.ProductModel.ProductName,
                Note           = p.Note
            }).ToList();


            if (model == null)
            {
                return(HttpNotFound());
            }
            CreateViewBag();
            return(View(model));
        }
Example #5
0
        public ActionResult Update(PreOrderMasterModel model, List <OrderDetailViewModel> detail)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (TransactionScope ts = new TransactionScope())
                    {
                        //_context.Entry(model).State = System.Data.Entity.EntityState.Modified; Chỉ Modified những filed cần thiết
                        var PreOrderDetail = _context.PreOrderDetailModel
                                             .Where(p => p.PreOrderId == model.PreOrderId).ToList();
                        // Xoá những Detail cũ
                        if (PreOrderDetail != null && PreOrderDetail.Count > 0)
                        {
                            foreach (var item in PreOrderDetail)
                            {
                                _context.Entry(item).State = System.Data.Entity.EntityState.Deleted;
                            }
                        }

                        #region // Update lại những filed cần Modified cho Model Master
                        //PreOrderMastermodel.PreOrderId = model.PreOrderId;
                        //PreOrderMastermodel.WarehouseId = model.WarehouseId;
                        //PreOrderMastermodel.BillDiscountTypeId = model.BillDiscountTypeId;
                        //PreOrderMastermodel.BillDiscount = model.BillDiscount;
                        //PreOrderMastermodel.BillVAT = model.BillVAT;
                        //PreOrderMastermodel.SaleName = model.SaleName;
                        //PreOrderMastermodel.DebtDueDate = model.DebtDueDate;
                        //PreOrderMastermodel.PaymentMethodId = model.PaymentMethodId;
                        //PreOrderMastermodel.Paid = model.Paid;
                        //PreOrderMastermodel.MoneyTransfer = model.MoneyTransfer;
                        //PreOrderMastermodel.CompanyName = model.CompanyName;
                        //PreOrderMastermodel.TaxBillCode = model.TaxBillCode;
                        //PreOrderMastermodel.ContractNumber = model.ContractNumber;
                        //PreOrderMastermodel.TaxBillDate = model.TaxBillDate;
                        //PreOrderMastermodel.CustomerId = model.CustomerId;
                        //PreOrderMastermodel.FullName = model.FullName;
                        //PreOrderMastermodel.IdentityCard = model.IdentityCard;
                        //PreOrderMastermodel.FullName = model.FullName;
                        //PreOrderMastermodel.Phone = model.Phone;
                        //PreOrderMastermodel.FullName = model.FullName;
                        //PreOrderMastermodel.Gender = model.Gender;
                        //PreOrderMastermodel.ProvinceId = model.ProvinceId;
                        //PreOrderMastermodel.DistrictId = model.DistrictId;
                        //PreOrderMastermodel.Address = model.Address;
                        //PreOrderMastermodel.Email = model.Email;
                        //PreOrderMastermodel.Note = model.Note;
                        //PreOrderMastermodel.TotalPrice = model.TotalPrice;
                        //PreOrderMastermodel.LastModifiedDate = DateTime.Now;
                        //PreOrderMastermodel.LastModifiedAccount = currentAccount.UserName;
                        //PreOrderMastermodel.OrderStatusId = EnumOrderStatus.KhoiTao;
                        #endregion
                        // đánh dấu sửa OrderMastermodel
                        _context.Entry(model).State = System.Data.Entity.EntityState.Modified;
                        _context.SaveChanges();

                        if (detail != null)
                        {
                            foreach (var item in detail)
                            {
                                PreOrderDetailModel detailmodel = new PreOrderDetailModel()
                                {
                                    PreOrderDetailId = item.OrderDetailId,
                                    PreOrderId       = model.PreOrderId,
                                    ProductId        = item.ProductId,
                                    Quantity         = item.Quantity,
                                    Price            = item.Price,
                                    DiscountTypeId   = item.DiscountTypeId,
                                    Discount         = item.Discount,
                                    UnitDiscount     = item.UnitDiscount,
                                    UnitPrice        = item.UnitPrice,
                                };
                                _context.Entry(detailmodel).State = System.Data.Entity.EntityState.Added;
                            }
                        }
                        _context.SaveChanges();
                        ts.Complete();
                        return(Content("success"));
                    }
                }
                else
                {
                    return(Content("Vui lòng kiểm tra lại thông tin không hợp lệ"));
                }
            }
            catch (Exception ex)
            {
                return(Content("Lỗi hệ thống" + ex.Message));
            }
        }
Example #6
0
        public ActionResult Save(PreOrderMasterModel model, List <OrderDetailViewModel> detail, decimal?GuestAmountPaid, decimal?TotalBillDiscount, decimal?TotalVAT, int CreateReceipt = 1)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (TransactionScope ts = new TransactionScope())
                    {
                        model.CreatedDate    = DateTime.Now;
                        model.CreatedAccount = currentAccount.UserName;
                        model.OrderStatusId  = EnumOrderStatus.KhoiTao;
                        AccountModel Account = _context.AccountModel.Where(p => p.UserName == model.CreatedAccount).FirstOrDefault();
                        model.CreatedEmployeeId = Account.EmployeeId;
                        model.SaleName          = Account.EmployeeModel.FullName;
                        model.StatusCode        = "TAOMOI";
                        //// Tìm giá trị STT order code
                        model.PreOrderCode = GetOrderCode();
                        if (model.PaymentMethodId == EnumPamentMethod.TienMat)
                        {
                            model.Paid          = GuestAmountPaid;
                            model.MoneyTransfer = 0;
                        }
                        else if (model.PaymentMethodId == EnumPamentMethod.ChuyenKhoan)
                        {
                            model.Paid          = 0;
                            model.MoneyTransfer = GuestAmountPaid;
                        }
                        else if (model.PaymentMethodId == EnumPamentMethod.CongNo)
                        {
                            model.Paid          = 0;
                            model.MoneyTransfer = 0;
                        }
                        else
                        {
                            return(Content("Phương thức thanh toán không hợp lệ !"));
                        }
                        _context.Entry(model).State = System.Data.Entity.EntityState.Added;
                        _context.SaveChanges();

                        //_context.SaveChanges();

                        if (detail != null)
                        {
                            if (detail.GroupBy(p => p.ProductId).ToList().Count < detail.Count)
                            {
                                //khong duoc trung san pham
                                return(Content("Vui lòng không chọn thông tin sản phẩm trùng nhau"));
                            }

                            foreach (var item in detail)
                            {
                                #region Thêm giá vốn
                                decimal?COGS = _context.ProductModel.Where(p => p.ProductId == item.ProductId).Select(p => p.COGS).FirstOrDefault();
                                item.COGS = COGS ?? 0;
                                #endregion
                                EndInventoryRepository EndInventoryRepo = new EndInventoryRepository(_context);
                                decimal TonCuoiTrongHeThong             = EndInventoryRepo.GetQty(item.ProductId.Value);

                                if (item.Quantity > TonCuoiTrongHeThong)
                                {
                                    return(Content(string.Format("Vui lòng chọn số lượng sản phẩm ' {0} ' nhỏ hơn hoặc bằng trong kho", item.ProductName)));
                                }
                                PreOrderDetailModel detailmodel = new PreOrderDetailModel()
                                {
                                    PreOrderId     = model.PreOrderId,
                                    ProductId      = item.ProductId,
                                    Quantity       = item.Quantity,
                                    Price          = item.Price,
                                    DiscountTypeId = item.DiscountTypeId,
                                    Discount       = item.Discount,
                                    UnitDiscount   = item.UnitDiscount,
                                    UnitPrice      = item.UnitPrice,
                                    Note           = item.Note,
                                    COGS           = item.COGS
                                };
                                _context.Entry(detailmodel).State = System.Data.Entity.EntityState.Added;
                            }
                            // Cập nhật lại Tổng giá vốn
                            model.SumCOGSOfOrderDetail  = detail.Sum(p => p.COGS);
                            model.TotalDiscount         = TotalBillDiscount;
                            model.TotalVAT              = TotalVAT;
                            _context.Entry(model).State = System.Data.Entity.EntityState.Modified;

                            _context.SaveChanges();
                            ts.Complete();
                            return(Content("success"));
                        }
                        else
                        {
                            //chua nhap tt san pham
                            return(Content("Vui lòng chọn thông tin sản phẩm"));
                        }
                    }
                }
                else
                {
                    return(Content("Vui lòng kiểm tra lại thông tin không hợp lệ"));
                }
            }
            catch
            {
                return(Content("Xảy ra lỗi trong quá trình thêm mới đơn hàng"));
            }
        }