public ActionResult EditStorePartial(int id, FormCollection form) { if (ModelState.IsValid) { var item = new Off_Store(); if (TryUpdateModel(item)) { item.UploadTime = DateTime.Now; item.UploadUser = User.Identity.Name; _offlineDB.Entry(item).State = System.Data.Entity.EntityState.Modified; _offlineDB.SaveChanges(); return(Content("SUCCESS")); } else { ModelState.AddModelError("", "错误"); var user = UserManager.FindById(User.Identity.GetUserId()); var regionlist = _offlineDB.Off_System_Setting.SingleOrDefault(m => m.Off_System_Id == user.DefaultSystemId && m.SettingName == "AreaList"); if (regionlist != null) { string[] regionarray = regionlist.SettingValue.Split(','); List <Object> attendance = new List <Object>(); foreach (var i in regionarray) { attendance.Add(new { Key = i, Value = i }); } ViewBag.Regionlist = new SelectList(attendance, "Key", "Value", item.Region); return(PartialView(item)); } else { return(PartialView("ErrorPartial")); } } } else { return(PartialView("ErrorPartial")); } }
// Origin Off_CreateStore public ActionResult CreateStorePartial() { var store = new Off_Store(); var user = UserManager.FindById(User.Identity.GetUserId()); var regionlist = _offlineDB.Off_System_Setting.SingleOrDefault(m => m.Off_System_Id == user.DefaultSystemId && m.SettingName == "AreaList"); if (regionlist != null) { string[] regionarray = regionlist.SettingValue.Split(','); List <Object> attendance = new List <Object>(); foreach (var i in regionarray) { attendance.Add(new { Key = i, Value = i }); } ViewBag.Regionlist = new SelectList(attendance, "Key", "Value"); return(PartialView(store)); } else { return(PartialView("ErrorPartial")); } }
// Origin: analyseExcel_StoreTable private async Task <List <Excel_DataMessage> > UploadStoreByExcelAsync(string filename, List <Excel_DataMessage> messageList) { try { var user = UserManager.FindById(User.Identity.GetUserId()); string folder = HttpContext.Server.MapPath("~/Content/xlsx/"); string strConn = "Provider=Microsoft.Ace.OleDb.12.0;" + "data source=" + folder + filename + ";Extended Properties='Excel 12.0; HDR=1; IMEX=1'"; //此连接可以操作.xls与.xlsx文件 OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); DataSet ds = new DataSet(); OleDbDataAdapter odda = new OleDbDataAdapter(string.Format("SELECT * FROM [{0}]", "Sheet1$"), conn); //("select * from [Sheet1$]", conn); odda.Fill(ds, "[Sheet1$]"); conn.Close(); DataTable dt = ds.Tables[0]; int i = 0; bool result_flag = true; foreach (DataRow dr in dt.Rows) { i++; try { // 判断是否含有数据 string storename = dr["店铺名称"].ToString(); var exist_item = _offlineDB.Off_Store.SingleOrDefault(m => m.StoreName == storename && m.Off_System_Id == user.DefaultSystemId); if (exist_item != null) { // 更新数据 exist_item.StoreSystem = dr["渠道"].ToString(); exist_item.StoreName = dr["店铺名称"].ToString(); exist_item.Distributor = dr["经销商"].ToString(); exist_item.Region = dr["区域"].ToString(); exist_item.Address = dr["详细地址"].ToString(); exist_item.Longitude = dr["经度"].ToString(); exist_item.Latitude = dr["纬度"].ToString(); exist_item.UploadTime = DateTime.Now; exist_item.UploadUser = User.Identity.Name; messageList.Add(new Excel_DataMessage(i, "数据修改成功", false)); } else { // 添加数据 Off_Store store = new Off_Store() { StoreSystem = dr["渠道"].ToString(), StoreName = dr["店铺名称"].ToString(), Distributor = dr["经销商"].ToString(), Region = dr["区域"].ToString(), Address = dr["详细地址"].ToString(), Longitude = dr["经度"].ToString(), Latitude = dr["纬度"].ToString(), UploadTime = DateTime.Now, UploadUser = User.Identity.Name, Off_System_Id = user.DefaultSystemId }; _offlineDB.Off_Store.Add(store); messageList.Add(new Excel_DataMessage(i, "数据添加成功", false)); } } catch (Exception e) { result_flag = false; messageList.Add(new Excel_DataMessage(i, "格式错误或列名不存在," + e.InnerException, true)); } } if (result_flag) { await _offlineDB.SaveChangesAsync(); messageList.Add(new Excel_DataMessage(0, "数据存储成功", false)); } else { messageList.Add(new Excel_DataMessage(0, "数据行发生错误,未保存", true)); } } catch (Exception e) { messageList.Add(new Excel_DataMessage(-1, "表格格式错误" + e.ToString(), true)); } return(messageList); }