//used public DbEntities.User.Users AddOrUpdateStudent(DbEntities.User.Users user, DbEntities.Students.Student student, int programBatchId = 0) { try { using (var scope = new TransactionScope()) { //byte[] imgBytes = null; //using (var filehelper = new DbHelper.WorkingWithFiles()) //{ // //if (file != null) // //{ // // //imgBytes = filehelper.ConvertToBytes(file); // // //below comented due to changed in database.. now image is saved as file. // // //user.Image = imgBytes; // // //user.ImageType = file.ContentType; // //} //} var prev = Context.Users.Find(user.Id); if (prev == null) { user.FirstName = user.FirstName.Trim(); user.LastName = user.LastName.Trim(); prev = Context.Users.Add(user); Context.SaveChanges(); if (prev != null) { student.UserId = prev.Id; student.Name = prev.FullName; var std = Context.Student.Add(student); Context.SaveChanges(); if (std != null) { var role = Context.Role.FirstOrDefault(x => x.RoleName == "student"); if (role != null) { var userRole = new UserRole() { AssignedDate = DateTime.Now , RoleId = role.Id , UserId = prev.Id }; Context.UserRole.Add(userRole); Context.SaveChanges(); } if (programBatchId > 0) { var stdBatch = new DbEntities.Batches.StudentBatch() { ProgramBatchId = programBatchId , StudentId = std.Id , AddedDate = DateTime.Now }; Context.StudentBatch.Add(stdBatch); Context.SaveChanges(); } } } } else { prev.CreatedDate = user.CreatedDate; prev.DOB = user.DOB; prev.FirstName = user.FirstName; //below two lines commnented due to changes in database: now image saved as file. //prev.Image = user.Image; //prev.ImageType = user.ImageType; //prev.InstitutionId = createdUser.InstitutionId; prev.SchoolId = user.SchoolId; //prev.BarcodeNo = createdUser.BarcodeNo; //prev.Citizenship = createdUser.Citizenship; prev.City = user.City; prev.Country = user.Country; prev.Email = user.Email; prev.UserName = user.UserName; //prev.Street = createdUser.Street; //prev.UserTypeId = createdUser.UserTypeId; //prev.Religion = createdUser.Religion; //prev.Phone2 = createdUser.Phone2; //prev.Phone1 = createdUser.Phone1; prev.Password = user.Password; //prev.Nationality = createdUser.Nationality; //prev.MiddleName = createdUser.MiddleName; prev.LastName = user.LastName; prev.IsActive = user.IsActive; prev.IsDeleted = user.IsDeleted; //prev.Religion = createdUser.Religion; var std = Context.Student.Find(student.Id); if (std == null) { student.UserId = prev.Id; Context.Student.Add(student); } Context.SaveChanges(); } scope.Complete(); return(prev); } } catch (Exception) { return(null); } }
//public int[] GetInstSchool(int userId) //{ // var std = Context.Student.FirstOrDefault(x => x.Id == userId); // if (std == null) return new int[]{0,0}; // var schoolId = std.SchoolId; // var instId = std.School.InstitutionId; // return new int[]{instId,schoolId}; //} //public ViewModel.SystemControl.Office.InstitutionAndSchool GetInstitutionAndSchool(int userId) //{ // var teach = Context.Student.Include(x=>x.School).FirstOrDefault(x => x.Id == userId); // if (teach == null) return null; // var model = new InstitutionAndSchool(); // model.School = teach.School; // var inst = Context.Institution.Find(teach.School.InstitutionId); // if (inst != null) // model.Institution = inst; // return model; //} public bool AddOrUpdateStudents(List <DbEntities.User.Users> users, List <DbEntities.Students.Student> students, int programBatchId = 0) { using (var scope = new TransactionScope()) { for (int i = 0; i < users.Count; i++) { var user = users[i]; var student = students[i]; var prev = Context.Users.Find(user.Id); if (prev == null) { //user.FirstName = user.FirstName; //user.LastName = user.LastName.Trim(); prev = Context.Users.Add(user); Context.SaveChanges(); if (prev != null) { student.UserId = prev.Id; student.Name = prev.FullName; var std = Context.Student.Add(student); Context.SaveChanges(); if (std != null) { var role = Context.Role.FirstOrDefault(x => x.RoleName == "student"); if (role != null) { var userRole = new UserRole() { AssignedDate = DateTime.Now , RoleId = role.Id , UserId = prev.Id }; Context.UserRole.Add(userRole); Context.SaveChanges(); } if (programBatchId > 0) { var stdBatch = new DbEntities.Batches.StudentBatch() { ProgramBatchId = programBatchId , StudentId = std.Id , AddedDate = DateTime.Now }; Context.StudentBatch.Add(stdBatch); Context.SaveChanges(); } } } } else { prev.CreatedDate = user.CreatedDate; prev.DOB = user.DOB; prev.FirstName = user.FirstName; prev.SchoolId = user.SchoolId; prev.City = user.City; prev.Country = user.Country; prev.Email = user.Email; prev.UserName = user.UserName; prev.Password = user.Password; prev.LastName = user.LastName; prev.IsActive = user.IsActive; prev.IsDeleted = user.IsDeleted; var std = Context.Student.Find(student.Id); if (std == null) { student.UserId = prev.Id; Context.Student.Add(student); } Context.SaveChanges(); } } scope.Complete(); return(true); } return(false); }