public string ImportBooks(string filePath) { var msg = new StringBuilder(); var data = new DataTable(); try { data = ExcelHelpers.ImportExcelToDataTable(filePath); } catch (Exception ex) { msg.AppendLine("导入失败!"); msg.AppendLine("1.请确认模板是否正确,或者下载最新模板"); msg.AppendLine("2.请确认Excel中没有空的行"); msg.AppendLine("3.请勿对行进行增删操作"); return(msg.ToString()); } if (data.Rows.Count == 0) { return("无法导入,图书信息为空"); } var addBookList = new List <Book>(); var bookTypeList = new List <BookType>(); foreach (DataRow row in data.Rows) { var bookNumber = row["图书编号"].ToString(); var name = row["图书名称"].ToString(); var type = row["图书类型"].ToString(); // validate requirement property //1. first to validate required property if (string.IsNullOrEmpty(bookNumber) || string.IsNullOrEmpty(name) || string.IsNullOrEmpty(type)) { msg.AppendLine($"必要字段缺失请检查图书编号,图书名称和图书类型.,行号:{data.Rows.IndexOf(row) + 1}"); continue; } // validate repetition book if (IsRepitionBook(bookNumber)) { msg.AppendLine($"该书已经存在,书名:{name},书籍编码:{bookNumber},行号:{data.Rows.IndexOf(row) + 1}"); continue; } // validate repetition book type if (!IsRepitionBookType(type)) { // add book type var bookType = new BookType() { Id = Guid.NewGuid(), TypeName = type, CreatedTime = DateTime.Now }; bookTypeList.Add(bookType); } // add book var book = new Book() { Id = Guid.NewGuid(), BookNumber = bookNumber, CreatedTime = DateTime.Now, Name = name, Type = type }; addBookList.Add(book); } using (var db = Heart.CreateBookDbContext()) { db.Books.AddRange(addBookList); db.BookTypes.AddRange(bookTypeList); db.SaveChanges(); } if (string.IsNullOrEmpty(msg.ToString())) { return("书籍导入成功"); } return(msg.ToString()); }
public string ImportUser(string filePath) { var msg = new StringBuilder(); var data = new DataTable(); try { data = ExcelHelpers.ImportExcelToDataTable(filePath); } catch (Exception ex) { msg.AppendLine("导入失败!"); msg.AppendLine("1.请确认模板是否正确,或者下载最新模板"); msg.AppendLine("2.请确认Excel中没有空的行"); msg.AppendLine("3.请勿对行进行增删操作"); return(msg.ToString()); } if (data.Rows.Count == 0) { return("无法导入,用户信息为空"); } var addUserList = new List <User>(); foreach (DataRow row in data.Rows) { //1. first to validate required property if (string.IsNullOrEmpty(row["姓名"].ToString()) || string.IsNullOrEmpty(row["电话"].ToString()) || string.IsNullOrEmpty(row["生日"].ToString()) || string.IsNullOrEmpty(row["过期时间"].ToString()) || string.IsNullOrEmpty(row["性别"].ToString())) { msg.AppendLine($"必要字段缺失请检查姓名,电话,行号:{data.Rows.IndexOf(row) + 1}"); continue; } var birthday = Convert.ToDateTime(row["生日"]); var comments = row["备注"].ToString(); var expireTime = Convert.ToDateTime(row["过期时间"]); var mobile = row["电话"].ToString(); var name = row["姓名"].ToString(); var sex = row["性别"].ToString(); if (IsRepetitionUser(name, mobile)) { msg.AppendLine($"该用户已存在,名字:{name},电话:{mobile},行号:{data.Rows.IndexOf(row) + 1}"); continue; } if (expireTime < DateTime.Now) { msg.AppendLine($"无法导入,过期时间小于当前时间,名字:{name},电话:{mobile},行号:{data.Rows.IndexOf(row) + 1}"); continue; } User user = new User() { Id = Guid.NewGuid(), Birthday = birthday, Comments = comments, CreatedTime = DateTime.Now, ExpireTime = expireTime, Mobile = mobile, Name = name, Sex = sex }; addUserList.Add(user); } using (var db = Heart.CreateBookDbContext()) { db.Users.AddRange(addUserList); db.SaveChanges(); } if (string.IsNullOrEmpty(msg.ToString())) { return("用户导入成功"); } return(msg.ToString()); }