コード例 #1
0
        public ActionResult Import(SupplierModels model)
        {
            try
            {
                if (model.ListCompanys == null || model.ListCompanys.Count == 0)
                {
                    ModelState.AddModelError("ListCompanys", CurrentUser.GetLanguageTextFromKey("Please choose company."));
                    return(View(model));
                }

                if (model.ExcelUpload == null || model.ExcelUpload.ContentLength <= 0)
                {
                    ModelState.AddModelError("ExcelUpload", CurrentUser.GetLanguageTextFromKey("Excel filename cannot be null"));
                    return(View(model));
                }

                ImportModel importModel = new ImportModel();
                string      msg         = "";
                int         totalRowExcel;
                if (model.ExcelUpload != null && model.ExcelUpload.ContentLength > 0)
                {
                    string fileName = Path.GetFileName(model.ExcelUpload.FileName);
                    string filePath = string.Format("{0}/{1}", System.Web.HttpContext.Current.Server.MapPath("~/Uploads"), fileName);
                    //upload file to server
                    if (System.IO.File.Exists(filePath))
                    {
                        System.IO.File.Delete(filePath);
                    }
                    model.ExcelUpload.SaveAs(filePath);

                    StatusResponse response = _factory.Import(filePath, CurrentUser.UserName, out totalRowExcel, model.ListCompanys, ref importModel, ref msg);

                    if (!response.Status)
                    {
                        ModelState.AddModelError("", response.MsgError);
                        return(View(model));
                    }
                }
                if (msg.Equals(""))
                {
                    return(View("ImportDetail", importModel));
                }
                else
                {
                    _logger.Error("Supplier_Import: " + msg);
                    ModelState.AddModelError("ExcelUpload", msg);
                    return(View(model));
                }
            }
            catch (Exception e)
            {
                _logger.Error("Supplier: " + e);
                ModelState.AddModelError("ExcelUpload", CurrentUser.GetLanguageTextFromKey("Import file have error"));
                return(View(model));
            }
        }