public ActionResult Import(bool status = true, List <string> error = null) { using (var db = new XkSystem.Models.DbContext()) { var vm = new Models.Sms.Import(); if (error != null && error.Count > decimal.Zero) { foreach (var msg in error) { ModelState.AddModelError("", msg); } status = false; } return(View(vm)); } }
public ActionResult ImportSmsJson() { var vm = new Models.Sms.Import(); var error = new List <string>(); if (error.Count == decimal.Zero) { if (ModelState.IsValid) { var file = Request.Files[0]; var fileSave = System.IO.Path.GetTempFileName(); file.SaveAs(fileSave); using (var db = new XkSystem.Models.DbContext()) { if (Code.Common.GetFileType(file.FileName) != Code.FileType.Excel) { error.AddError("上传的文件不是正确的EXCLE文件!"); } var dt = Code.NpoiHelper.ExcelToDataTable(fileSave, System.IO.Path.GetExtension(file.FileName), string.Empty); if (dt == null) { error.AddError("无法读取上传的文件,请检查文件格式是否正确!"); } var tbList = new List <string>() { "手机号", "短信内容", "计划发送时间" }; var Text = string.Empty; foreach (var a in tbList) { if (!dt.Columns.Contains(a.ToString())) { Text += a + ","; } } if (!string.IsNullOrEmpty(Text)) { error.AddError("上传的EXCEL内容与预期不一致!缺少字段:" + Text); } var ImportList = new List <Dto.Sms.Import>(); //执行导入 var index = 0; foreach (DataRow dr in dt.Rows) { index++; var import = new Dto.Sms.Import(); import.Mobile = dr["手机号"].ToString(); if (string.IsNullOrEmpty(import.Mobile) || import.Mobile.Length != 11) { string msgError = string.Format("第{0}行数据手机号({1})格式不正确;", index.ToString(), import.Mobile); error.AddError(msgError); continue; } import.SmsTitle = dr["短信内容"].ToString(); if (string.IsNullOrEmpty(import.SmsTitle)) { string msgError = string.Format("第{0}行数据短信内容不能为空;", index.ToString(), import.SmsTitle); error.AddError(msgError); continue; } if (!string.IsNullOrEmpty(dr["计划发送时间"].ToString())) { DateTime timeTemp = new DateTime(); if (!DateTime.TryParse(dr["计划发送时间"].ToString().Trim(), out timeTemp)) { string msgError = string.Format("第{0}行数据计划发送时间({1})格式不正确,(例如:{2});", index.ToString(), dr["计划发送时间"].ToString(), DateTime.Now.ToString(XkSystem.Code.Common.StringToDate)); error.AddError(msgError); continue; } import.PlanDate = Convert.ToDateTime(dr["计划发送时间"]).ToString(XkSystem.Code.Common.StringToDateTime); } else { import.PlanDate = DateTime.Now.ToString(XkSystem.Code.Common.StringToDateTime); } vm.SmsImportList.Add(import); } } } } var dynamic = new { Status = decimal.Zero, Message = vm.SmsImportList }; if (error != null && error.Count > decimal.Zero) { return(Json(new { Status = decimal.One, Message = error }, JsonRequestBehavior.AllowGet)); } return(Json(dynamic, JsonRequestBehavior.AllowGet)); }