//get data to above function public bool ImportData(out int count, ExcelPackage package) { count = 0; var check = true; var result = false; try { //data start at column 1 and row 2 int startColumn = 1; int startRow = 2; ExcelWorksheet worksheet = package.Workbook.Worksheets[1]; object data = null; //get DB ChatDbcontext db = new ChatDbcontext(); do { data = worksheet.Cells[startRow, startColumn].Value; //get Username object Name = worksheet.Cells[startRow, startColumn + 1].Value; //get email object Email = worksheet.Cells[startRow, startColumn + 2].Value; if (data != null) { var isImported = SaveStudent(Name.ToString().Trim() , Email.ToString().Trim(), db); if (isImported) { count++; result = true; } } startRow++; } while (data != null); } catch (Exception) { check = false; } return(result); }
//check ability to save new student from excel public bool SaveStudent(string fullname, string email, ChatDbcontext db) { var result = false; Random rd = new Random(); try { //save student //if students exist before, then not import again //just import new student not exists in system if (db.Users.Where(x => x.Email.Equals(email)).Count() == 0) { var user = new User(); user.Name = fullname.Trim(); user.Email = email.Trim(); user.PassWord = HashPassword.ComputeSha256Hash(1.ToString().Trim()); user.DoB = DateTime.Now; string[] emailSplitString = email.Split('@'); user.UserName = emailSplitString[0]; db.Users.Add(user); db.SaveChanges(); int userId = db.Users.Max(x => x.Id); ListFriend friend = new ListFriend() { UserId = userId }; db.ListFriends.Add(friend); db.SaveChanges(); result = true; } } catch (Exception) { throw; } return(result); }