public async Task <IActionResult> Register(RegisterDto model) { if (model.id == 0) { var user = new User { UserName = model.Email, Email = model.Email, FullName = model.FullName , EmailConfirmed = true , role_id = 1, Timezone = TimeZone.CurrentTimeZone.StandardName.ToString() , profilePath = "" }; School_Year school_Year = new School_Year() { // school_ID = school.id, isActive = model.isActive, YearID = model.year }; var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { School school = new School(); var fileName = ""; var uploads = Path.Combine(HostingEnvironment.WebRootPath, "uploads"); if (model.schoolLogo.Length > 0) { fileName = Guid.NewGuid().ToString().Replace("-", model.schoolLogo.FileName) + Path.GetExtension(model.schoolLogo.FileName); using (var fileStream = new FileStream(Path.Combine(uploads, fileName), FileMode.Create)) { await model.schoolLogo.CopyToAsync(fileStream); //emp.BookPic = fileName; } } //If the user is a new tenant create tenant school = new School(); school.created_by = user.Id; school.created_date = DateTime.Now; school.name = model.schoolName; school.imgPath = fileName; school.timezone = TimeZone.CurrentTimeZone.StandardName.ToString(); _context.Entry(school).State = EntityState.Added; _context.SaveChanges(); Schoo_User schoo_User = new Schoo_User() { user_Id = user.Id, school_Id = school.id }; _context.Entry(schoo_User).State = EntityState.Added; _context.SaveChanges(); school_Year.school_ID = school.id; _context.school_Years.Add(school_Year); _context.SaveChanges(); //SendActivationCode(user); return(Ok("Done")); } else { return(new JsonResult(new { Message = "Error", Errors = result.Errors })); } } else { var scholl = _context.schools.FirstOrDefault(o => o.id == model.id); var fileName = ""; if (model.schoolLogo.Length != null) { var deletefile = Path.Combine(HostingEnvironment.WebRootPath + "/uploads"); var uploads = Path.Combine(HostingEnvironment.WebRootPath, "uploads"); if (System.IO.File.Exists((Path.Combine(deletefile, scholl.imgPath)))) { System.IO.File.Delete((Path.Combine(deletefile, scholl.imgPath))); } fileName = Guid.NewGuid().ToString().Replace("-", "") + Path.GetExtension(model.schoolLogo.FileName); using (var fileStream = new FileStream(Path.Combine(uploads, fileName), FileMode.Create)) { await model.schoolLogo.CopyToAsync(fileStream); } } scholl.name = model.schoolName; scholl.imgPath = fileName; _context.Entry(scholl).State = EntityState.Modified; _context.SaveChanges(); var sy = _context.school_Years.FirstOrDefault(o => o.school_ID == model.id); sy.isActive = model.isActive; sy.YearID = model.year; _context.Entry(sy).State = EntityState.Modified; _context.SaveChanges(); return(Ok("Done")); } }
public async Task <IActionResult> RegisterTeacherAsync([FromForm] Models.TeacherDto teacher) { if (teacher.id == "0") { var user = new User { UserName = teacher.UserName, Email = teacher.Email, FullName = teacher.FullName , PhoneNumber = teacher.phone , EmailConfirmed = true , Timezone = TimeZone.CurrentTimeZone.StandardName.ToString() }; var fileName = ""; var uploads = Path.Combine(hostingEnvironment.WebRootPath, "uploads"); if (teacher.profileimg.Length > 0) { fileName = Guid.NewGuid().ToString().Replace("-", teacher.profileimg.FileName) + Path.GetExtension(teacher.profileimg.FileName); using (var fileStream = new FileStream(Path.Combine(uploads, fileName), FileMode.Create)) { await teacher.profileimg.CopyToAsync(fileStream); //emp.BookPic = fileName; } } user.profilePath = "uploads/" + fileName; var result = await _userManager.CreateAsync(user, teacher.Password); if (result.Succeeded) { Teacher t = new Teacher(); Schoo_User school_user = new Schoo_User(); school_user.school_Id = School_Claim;; school_user.user_Id = user.Id; _context.schoo_Users.Add(school_user); _context.SaveChanges(); t.school_id = School_Claim; t.userid = user.Id; // user.profilePath = "uploads/" + fileName; _context.teachers.Add(t); _context.SaveChanges(); return(new JsonResult("Data Saved ")); } else { string error = ""; foreach (var e in result.Errors) { error += e.Description; } return(new JsonResult(error)); } } else { var v = _context.Users.FirstOrDefault(o => o.Id == teacher.id); v.FullName = teacher.FullName; v.Email = teacher.Email; v.PhoneNumber = teacher.phone; _context.Entry(v).State = Microsoft.EntityFrameworkCore.EntityState.Modified; _context.SaveChanges(); return(new JsonResult("Data Saved ")); } }