Example #1
0
        public ActionResult ImportUser()
        {
            var vm = new Models.SysMessageUser.ImportUser();

            vm.ImportList = new List <Dto.SysMessageUser.ImportUser>();
            return(View(vm));
        }
Example #2
0
        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));
        }