public async Task <ActionResult> Save(ProfessorFormViewModel form) { if (ModelState.IsValid) { ProfessorDto newProfessor = null; try { ProfessorDto professor = (form.IsNew) ? new ProfessorDto() : await _professorRepository.GetProfessorById(form.Id.Value); professor.FirstName = form.FirstName; professor.LastName = form.LastName; professor.Email = form.Email; professor.CellphoneNumber = form.CellphoneNumber; if (form.IsNew) { newProfessor = await _professorRepository.PostProfessor(professor); var registerBindingModel = new RegisterBindingModel { Email = professor.Email, Password = "******", UserId = newProfessor.Id, UserRole = "AppProfessor" }; await _accountRepository.RegisterAccount(registerBindingModel); } else { await _professorRepository.PutProfessor(professor.Id, professor); } AddPageAlerts(ViewHelpers.PageAlertType.Success, "Your changes have been saved succesfully."); return(RedirectToAction("Index")); } catch (BadRequestException bre) { AddErrorsFromAdycHttpExceptionToModelState(bre, ModelState); if (newProfessor != null) { await _accountRepository.DeleteAccount(newProfessor.Email); } } } // Add properties to layout AddPageHeader(form.Title, ""); AddBreadcrumb("Professors", Url.Action("Index", "Professors", new { area = "Admin" })); AddBreadcrumb(form.Title, ""); return(View("ProfessorForm", form)); }
public async void Adicionar(Professor paramProfessor) { if ((paramProfessor == null) || (string.IsNullOrWhiteSpace(paramProfessor.Nome))) { await App.Current.MainPage.DisplayAlert("Atenção", "O campo nome é obrigatório", "OK"); } else if (await ProfessorRepository.PostProfessor(paramProfessor)) { await App.Current.MainPage.Navigation.PopAsync(); } else { await App.Current.MainPage.DisplayAlert("Falhou", "Desculpe, ocorreu um erro inesperado =(", "OK"); } }