Exemple #1
0
        public static string ImportMaterial(Stream stream, string InputPerson)
        {
            string text;

            using (SqlConnection connection = new SqlConnection(FunctionRule.GetConnectionString()))
            {
                connection.Open();
                try
                {
                    MaterialImport import = new MaterialImport();
                    import.conn = connection;
                    text        = import.Import(stream, InputPerson);
                }
                catch (SqlException exception)
                {
                    throw exception;
                }
                finally
                {
                    connection.Close();
                }
            }
            return(text);
        }
Exemple #2
0
        public ActionResult AddImport(AddMaterialImportViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    // get quantity
                    double quantity = 0;
                    if (!double.TryParse(model.Quantity.Replace(",", ""), out quantity))
                    {
                        throw new Exception("Số lượng nhập không hợp lệ!");
                    }

                    // get price
                    decimal price = 0;
                    if (!decimal.TryParse(model.Price.Replace(",", ""), out price))
                    {
                        throw new Exception("Giá nhập không hợp lệ!");
                    }

                    // get material info
                    var material = db.Materials.Where(t => t.MaterialId == model.MaterialId).FirstOrDefault();
                    if (material == null)
                    {
                        throw new Exception("Không tìm thấy thông tin nguyên liệu");
                    }

                    // update quantity
                    var unitInStock = db.MaterialInStocks.Where(r => r.MaterialId == model.MaterialId && r.StockId == model.StockId).FirstOrDefault();
                    if (unitInStock != null)
                    {
                        unitInStock.Quantity += quantity;
                    }
                    else
                    {
                        var materialInStock = new MaterialInStock();
                        materialInStock.MaterialId = model.MaterialId;
                        materialInStock.StockId    = model.StockId;
                        materialInStock.Quantity   = quantity;
                        db.MaterialInStocks.Add(materialInStock);
                    }

                    // insert import
                    var import = new MaterialImport();
                    import.MaterialImportDate = DateTime.ParseExact(model.MaterialImportDate, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None) +
                                                new TimeSpan(DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
                    import.MaterialId = model.MaterialId;
                    import.StockId    = model.StockId;
                    import.Quantity   = quantity;
                    import.Price      = price;
                    import.Notes      = model.Notes;
                    db.MaterialImports.Add(import);

                    db.SaveChanges();
                    return(RedirectToAction("ListImports"));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
            }

            try
            {
                // assign view bag values
                var materials = db.Materials.OrderBy(t => t.MaterialName)
                                .AsEnumerable()
                                .Select(t => new SelectListItem
                {
                    Value = t.MaterialId.ToString(),
                    Text  = t.MaterialName
                })
                                .ToList();
                var stocks = db.Stocks.OrderBy(r => r.StockName)
                             .AsEnumerable()
                             .Select(r => new SelectListItem
                {
                    Value = r.StockId.ToString(),
                    Text  = r.StockName
                })
                             .ToList();
                ViewBag.Materials = materials;
                ViewBag.Stocks    = stocks;
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
            }

            return(View(model));
        }
Exemple #3
0
        public static string GetImportMaterialFieldDesc()
        {
            MaterialImport import = new MaterialImport();

            return(import.GetDefineFieldDesc());
        }