Exemple #1
0
        public ActionResult Export(AddExport model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    DateTime importDate = DateTime.Now;
                    if (DateTime.TryParseExact(model.ExportDate, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out importDate))
                    {
                        bool success = true;
                        foreach (var row in model.AddExportRows)
                        {
                            var exportProduct = db.Products.Where(p => p.ProductId == row.ProductId).FirstOrDefault();
                            if (exportProduct != null)
                            {
                                int     quantity    = 0;
                                decimal exportPrice = 0;
                                if (int.TryParse(row.Quantity.Replace(",", ""), out quantity) &&
                                    decimal.TryParse(row.ExportPrice.Replace(",", ""), out exportPrice))
                                {
                                    // add new export
                                    var export = new Export();
                                    export.ExportDate   = importDate;
                                    export.ProductId    = row.ProductId;
                                    export.Quantity     = quantity;
                                    export.ExportPrice  = exportPrice;
                                    export.Note         = model.Note;
                                    export.CreationDate = DateTime.Now;
                                    export.CreationUser = GetLogonUserName();
                                    db.Exports.Add(export);
                                    exportProduct.UnitInStock -= quantity;
                                }
                                else
                                {
                                    success = false;
                                    ModelState.AddModelError("", "Số lượng hoặc giá nhập sản phẩm " + exportProduct.ProductName + " không hợp lệ!");
                                    break;
                                }
                            }
                        }
                        if (success)
                        {
                            db.SaveChanges();
                            return(RedirectToAction("ExportHistory"));
                        }
                    }
                    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 - Export()";
                log.Tags    = "Error";
                log.Message = ex.ToString();
                db.Logs.Add(log);
            }
            return(View(model));
        }
Exemple #2
0
        public ActionResult Export()
        {
            var model = new AddExport();

            return(View(model));
        }