public ActionResult ImportUser() { var vm = new Models.SysMessageUser.ImportUser(); vm.ImportList = new List <Dto.SysMessageUser.ImportUser>(); return(View(vm)); }
public ActionResult ImportJsonUser() { var vm = new Models.SysMessageUser.ImportUser(); 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 tbOrgList = new List <string>() { "用户账号", "用户姓名" }; var Text = string.Empty; foreach (var a in tbOrgList) { if (!dt.Columns.Contains(a.ToString())) { Text += a + ","; } } if (!string.IsNullOrEmpty(Text)) { error.AddError("上传的EXCEL内容与预期不一致!缺少字段:" + Text); } var tbSysUserList = db.Table <Sys.Entity.tbSysUser>().ToList();//全部用户 vm.ImportList = new List <Dto.SysMessageUser.ImportUser>(); var index = 0; foreach (System.Data.DataRow dr in dt.Rows) { index++; var SysUser = new Dto.SysMessageUser.ImportUser() { UserCode = Convert.ToString(dr["用户账号"]), UserName = Convert.ToString(dr["用户姓名"]) }; var user = tbSysUserList.Where(d => d.UserCode == SysUser.UserCode); if (user != null && user.Count() > 0) { SysUser.Id = user.FirstOrDefault().Id; SysUser.UserName = user.FirstOrDefault().UserName; } else { var errorMsg = string.Format("第{0}行:用户{1}[{2}]不存在系统中;", index.ToString(), SysUser.UserCode, SysUser.UserName); error.AddError(errorMsg); continue; } if (vm.ImportList.Where(d => d.Id == SysUser.Id && d.UserCode == SysUser.UserCode && d.UserName == SysUser.UserName).Count() == 0) { vm.ImportList.Add(SysUser); } } } } } var dynamic = new { Status = decimal.Zero, Message = vm.ImportList }; if (error != null && error.Count > decimal.Zero) { return(Json(new { Status = decimal.One, Message = error }, JsonRequestBehavior.AllowGet)); } return(Json(dynamic, JsonRequestBehavior.AllowGet)); }