Пример #1
0
        public ActionResult EditImport(int id)
        {
            var model = new EditImport();

            try
            {
                var import = db.Imports.Where(im => im.ImportId == id).FirstOrDefault();
                if (import != null)
                {
                    model.ImportId              = import.ImportId;
                    model.ImportDate            = import.ImportDate.ToString("dd/MM/yyyy");
                    model.SupplierId            = import.SupplierId;
                    model.ProductId             = import.ProductId;
                    model.Quantity              = import.Quantity.ToString("#,##0");
                    model.ImportPrice           = import.ImportPrice.ToString("#,##0");
                    model.Note                  = import.Note;
                    model.SupplierSelectOptions = DropDownListOption.GetSupplierOptions(import.SupplierId);
                    model.ProductSelectOptions  = DropDownListOption.GetProductOptions(import.ProductId);
                }
                else
                {
                    ModelState.AddModelError("", "Không tìm thấy thông tin nhập kho!");
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);

                // Write error log
                var log = new Log();
                log.LogDate = DateTime.Now;
                log.Action  = "Stock - EditImport()";
                log.Tags    = "Error";
                log.Message = ex.ToString();
                db.Logs.Add(log);
            }
            return(View(model));
        }
Пример #2
0
        public ActionResult EditImport(EditImport model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var import = db.Imports.Where(im => im.ImportId == model.ImportId).FirstOrDefault();
                    if (import != null)
                    {
                        int      quantity    = 0;
                        decimal  importPrice = 0;
                        DateTime importDate  = DateTime.Now;

                        // Validate user input data
                        if (!DateTime.TryParseExact(model.ImportDate, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out importDate))
                        {
                            ModelState.AddModelError("", "Ngày nhập không hợp lệ!");
                            return(View(model));
                        }

                        if (!int.TryParse(model.Quantity.Replace(",", ""), out quantity))
                        {
                            ModelState.AddModelError("", "Số lượng nhập không hợp lệ!");
                            return(View(model));
                        }

                        if (!decimal.TryParse(model.ImportPrice.Replace(",", ""), out importPrice))
                        {
                            ModelState.AddModelError("", "Giá nhập không hợp lệ!");
                            return(View(model));
                        }

                        // update unit instock
                        var currentProduct = db.Products.Where(p => p.ProductId == import.ProductId).FirstOrDefault();
                        if (currentProduct != null)
                        {
                            currentProduct.UnitInStock -= import.Quantity;
                        }
                        if (currentProduct.ProductId == model.ProductId)
                        {
                            currentProduct.UnitInStock += quantity;
                        }
                        else
                        {
                            var updatedProduct = db.Products.Where(p => p.ProductId == model.ProductId).FirstOrDefault();
                            if (updatedProduct != null)
                            {
                                updatedProduct.UnitInStock += quantity;
                            }
                        }

                        // update import info
                        import.ImportDate  = importDate;
                        import.SupplierId  = model.SupplierId;
                        import.ProductId   = model.ProductId;
                        import.Quantity    = quantity;
                        import.ImportPrice = importPrice;
                        import.ProductId   = model.ProductId;
                        import.Note        = model.Note;

                        db.SaveChanges();
                        return(RedirectToAction("ImportHistory"));
                    }
                    else
                    {
                        ModelState.AddModelError("", "Không tìm thấy thông tin nhập kho!");
                        return(View(model));
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Thông tin nhập kho không hợp lệ!");
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);

                // Write error log
                var log = new Log();
                log.LogDate = DateTime.Now;
                log.Action  = "Stock - EditImport()";
                log.Tags    = "Error";
                log.Message = ex.ToString();
                db.Logs.Add(log);
            }
            finally
            {
                model.ProductSelectOptions  = DropDownListOption.GetProductOptions(model.ProductId);
                model.SupplierSelectOptions = DropDownListOption.GetSupplierOptions(model.SupplierId);
            }
            return(View(model));
        }