Пример #1
0
        public ActionResult Import(AddImport model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    DateTime importDate = DateTime.Now;
                    if (DateTime.TryParseExact(model.ImportDate, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out importDate))
                    {
                        bool success = true;
                        foreach (var row in model.AddImportRows)
                        {
                            var importProduct = db.Products.Where(p => p.ProductId == row.ProductId).FirstOrDefault();
                            if (importProduct != null)
                            {
                                int     quantity    = 0;
                                decimal importPrice = 0;
                                if (int.TryParse(row.Quantity.Replace(",", ""), out quantity) &&
                                    decimal.TryParse(row.ImportPrice.Replace(",", ""), out importPrice))
                                {
                                    // add new import
                                    var import = new Import();
                                    import.ImportDate   = importDate;
                                    import.SupplierId   = row.SupplierId;
                                    import.ProductId    = row.ProductId;
                                    import.Quantity     = quantity;
                                    import.ImportPrice  = importPrice;
                                    import.Note         = model.Note;
                                    import.CreationDate = DateTime.Now;
                                    import.CreationUser = GetLogonUserName();
                                    db.Imports.Add(import);
                                    importProduct.UnitInStock += quantity;
                                }
                                else
                                {
                                    success = false;
                                    ModelState.AddModelError("", "Số lượng hoặc giá nhập sản phẩm " + importProduct.ProductName + " không hợp lệ!");
                                    break;
                                }
                            }
                        }
                        if (success)
                        {
                            db.SaveChanges();
                            return(RedirectToAction("ImportHistory"));
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", "Ngày nhập hàng 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 - Import()";
                log.Tags    = "Error";
                log.Message = ex.ToString();
                db.Logs.Add(log);
            }
            return(View(model));
        }
Пример #2
0
        public ActionResult Import()
        {
            var model = new AddImport();

            return(View(model));
        }