public IHttpActionResult Create(CreateTeacher model) { IHttpActionResult httpActionResult; ErrorsModel errors = new ErrorsModel(); if (string.IsNullOrEmpty(model.Code)) { errors.Add("Mã giảng viên là trường bắt buộc"); } if (string.IsNullOrEmpty(model.Name)) { errors.Add("Tên giảng viên là trường bắt buộc"); } if (errors.Errors.Count == 0) { Teachers t = new Teachers(); t.Code = model.Code; t.Name = model.Name; t = _db.Teachers.Add(t); this._db.SaveChanges(); TeacherModel viewModel = new TeacherModel(t); httpActionResult = Ok(viewModel); } else { httpActionResult = new ErrorActionResult(Request, System.Net.HttpStatusCode.BadRequest, errors); } return(httpActionResult); }
public async Task <object> Post(CreateTeacher request) { var response = new BaseResponse(); var entity = request.ConvertTo <Teacher>(); var result = await _teacherService.Create(entity); if (request.CreateNewUserLogin) { var userLogin = new CreateUser() { FirstName = entity.FirstName, LastName = entity.LastName, DisplayName = entity.FirstName + " " + entity.LastName, UserName = entity.FirstName.ToLower() + entity.LastName.ToLower(), Password = entity.FirstName.ToLower() + entity.LastName.ToLower(), RoleId = RoleEnum.Teacher.ToDescription() }; await _userApiService.Post(userLogin); } response.Success = true; response.StatusCode = (int)HttpStatusCode.Created; response.Message = "Create teacher success"; response.Results = result; return(response); }
public async Task creating_teacher_given_valid_credentials_should_return_no_content() { string email = "*****@*****.**"; string password = "******"; var user = await GetUserAsync(email); var token = await GetTokenAsync(email, password); var command = new CreateTeacher { }; var payload = GetPayload(command); var request = CreateRequest($"http://localhost:5000/teachers", payload, new Dictionary <string, string> { { "Authorization", $"Bearer {token}" }, { "Content-type", "application/json" } }); var response = await request.PostAsync(); response.StatusCode.ShouldBeEquivalentTo(HttpStatusCode.Created); response.Headers.Location.ShouldBeEquivalentTo($"/teachers/{user.Id}"); }
private void btnCreateTeacher_Click(object sender, RoutedEventArgs e) { object Result = new CreateTeacher( new Entities.Teacher( Guid.NewGuid().ToString("N"), txtTeacherFirstName.Text, txtTeacherLastName.Text, txtTeacherPhoneExtension.Text)).Execute(); Teachers.Add(Result as Teacher); }
private void CreateTeacherAction(object sender, EventArgs e) { RadPageViewPage createTeacherPage = new RadPageViewPage(); createTeacherPage.Text = "Create Teacher"; CreateTeacher createTeacher = new CreateTeacher(); createTeacher.Text = "Create Teacher"; createTeacher.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Bottom | AnchorStyles.Right; createTeacherPage.Controls.Add(createTeacher); teachersPage.Pages.Add(createTeacherPage); teachersPage.SelectedPage = createTeacherPage; }
public ActionResult Create(CreateTeacher createTeacher) { if (ModelState.IsValid && createTeacher != null) { using (var db = new SpecialtySelectorDbContext()) { var adminId = this.User.Identity.GetUserId(); var subnew = new List <Subject>(); if (createTeacher.Subject != null) { foreach (var kvp in createTeacher.Subject) { var asd = db.Subjects.FirstOrDefault(x => x.Id == kvp); subnew.Add(asd); } } var teacher = new Teacher() { FirstName = createTeacher.FirstName, SecondName = createTeacher.SecondName, AdminId = adminId, LastName = createTeacher.LastName, AcademicTitle = createTeacher.AcademicTitle, Degree = createTeacher.Degree, TeacherInfo = createTeacher.TeacherInfo, Subjects = subnew }; db.Teachers.Add(teacher); db.SaveChanges(); return(RedirectToAction("Details", new { id = teacher.Id })); } } using (var db = new SpecialtySelectorDbContext()) { var subjects = db.Subjects.ToList(); ViewBag.Subjects = subjects; return(View(createTeacher)); } }
// GET: Teachers/Create public ActionResult Create() { string UserID = ""; CreateTeacher createTeacher = new CreateTeacher(); List <SelectListItem> Schools = null; try { UserID = User.Identity.GetUserId(); Schools = Common.GetSchoolsForDropdown(db, User); ViewBag.SchoolID = Schools; if (Schools.Count == 1) { createTeacher.SchoolID = int.Parse(Schools[0].Value); } } catch (Exception ex) { ModelState.AddModelError("", "Exception Initializing Teacher Creation :: " + ex.ToString()); } return(View(createTeacher)); }
public async Task<IActionResult> Post([FromBody]CreateTeacher command) { await DispatchAsync(command); return Created($"/teachers/{command.UserId}", null); }
public ActionResult Create([Bind(Include = "SchoolID,UserName,Password,ConfirmPassword,FirstName,MiddleName,LastName,Email,Email,PhoneNumber")] CreateTeacher createTeacher) { ApplicationUser user = null; ApplicationUserManager UserMgr = null; AspNetUser aspNetUser = null; AspNetRole TeacherRole = null; School school = null; IdentityResult result = null; if (ModelState.IsValid) { //TOOD : Create User user = new ApplicationUser { UserName = createTeacher.UserName, Email = createTeacher.Email, FirstName = createTeacher.FirstName, MiddleName = createTeacher.MiddleName, LastName = createTeacher.LastName, PhoneNumber = createTeacher.PhoneNumber }; try { UserMgr = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>(); aspNetUser = db.AspNetUsers.Where(a => a.UserName == createTeacher.UserName).FirstOrDefault(); if (aspNetUser != null && aspNetUser.Id != "") { throw new Exception("Username is not available"); } if (aspNetUser == null) { //Attempt to create the AspNetUser Identity with credentials. //Emails must be unique - May want to remove this requirement result = UserMgr.Create(user, createTeacher.Password); if (!result.Succeeded) { ModelState.AddModelError("", "Unable to create user " + createTeacher.UserName); foreach (string err in result.Errors) { ModelState.AddModelError("", err); } throw new Exception(); } //Reload aspNetUser variable aspNetUser = db.AspNetUsers.Where(a => a.UserName == createTeacher.UserName).FirstOrDefault(); } TeacherRole = aspNetUser.AspNetRoles.Where(r => r.Name == "Teacher").FirstOrDefault(); //If the User is new OR the user was not successfully added to the teacher role previously //Attempt to add the User to the Teacher Role if (TeacherRole == null) { result = UserMgr.AddToRole(aspNetUser.Id, "Teacher"); if (!result.Succeeded) { ModelState.AddModelError("", "Unable to assign " + aspNetUser.FullName + " the role of 'Teacher'"); foreach (string err in result.Errors) { ModelState.AddModelError("", err); } throw new Exception(); } } //Get School to assign to the User and the user to the school school = db.Schools.Where(s => s.SchoolID == createTeacher.SchoolID).FirstOrDefault(); aspNetUser.Schools.Add(school); school.AspNetUsers.Add(aspNetUser); if (db.SaveChanges() > 0) { // Send an email with this link string code = UserMgr.GenerateEmailConfirmationToken(user.Id); var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); UserMgr.SendEmail(user.Id, "Confirm your account", "<h2>Welcome to Online Permission Slips by Trash Panda Solutions.</h2>" + Environment.NewLine + Environment.NewLine + "You have been added to " + school.SchoolName + " with a Teacher Account" + Environment.NewLine + Environment.NewLine + "Your user name is: " + createTeacher.UserName + Environment.NewLine + "Your password will be provided by your school admin" + Environment.NewLine + Environment.NewLine + "You can confirm your account using the following link: <a href=\"" + callbackUrl + "\">Click Here to confirm your account</a>"); return(RedirectToAction("Index")); } else { ModelState.AddModelError("", "Login Created but an error occurred trying to assign Teacher to School"); } return(RedirectToAction("Index")); } catch (DbEntityValidationException ex) { //ModelState.AddModelError("", "Login Created but an error occurred trying to assign Teacher to School"); foreach (DbEntityValidationResult ValidationErrors in ex.EntityValidationErrors) { if (!ValidationErrors.IsValid) { foreach (DbValidationError ValidationError in ValidationErrors.ValidationErrors) { ModelState.AddModelError(ValidationError.PropertyName, ValidationError.ErrorMessage); } } } } catch (Exception ex) { //ModelState.AddModelError("", "Login Created but an error occurred trying to assign Teacher to School"); ModelState.AddModelError("", ex.Message); foreach (var key in ex.Data.Keys) { ModelState.AddModelError("", key + " :: " + ex.Data[key].ToString()); } } } ViewBag.SchoolID = Common.GetSchoolsForDropdown(db, User); return(View(createTeacher)); }