public async Task <IActionResult> Crear([FromBody] CrearViewModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } VMClient vMClient = new VMClient { clientname = model.clientname, clientfullname = model.clientfullname, clientemail = model.clientemail, clientphone = model.clientphone, clientcontact = model.clientcontact, emailcontact_tecnico = model.emailcontact_tecnico, estado = true }; _context.VMClients.Add(vMClient); try { await _context.SaveChangesAsync(); } catch (Exception ex) { return(BadRequest()); } return(Ok()); }
public ActionResult Create([Bind("Name,Email,Password,RG,cpf,Street,Neighborhood,idCity,idState,ContractStartDate,idPlanType,idTypePayment,idUser")] VMClient payload) { try { if (!ModelState.IsValid) { TempData["_mensagem"] = new VMMessages() { Css = "alert alert-danger", Text = "Não foi possivel realizar seu cadastro,tente novamente!" }; //return BadRequest(ModelState.GetErrorMessages()); ViewData["idCity"] = new SelectList(_cityService.GetCitiesByState(payload.idState), "Id", "Name", payload.idCity); ViewData["idPlanType"] = new SelectList(_planTypeService.GetAll(), "Id", "Name"); ViewData["idState"] = new SelectList(_stateService.GetAll(), "Id", "Name"); ViewData["idTypePayment"] = new SelectList(_typePaymentService.GetAll(), "Id", "Name"); return(View(payload)); } var result = _clientService.Save(payload); var _msg = new VMMessages() { Css = "alert alert-success", Text = "Cadastro salvo com sucesso!" }; TempData["_mensagem"] = JsonConvert.SerializeObject(_msg); return(RedirectToAction(nameof(Index))); } catch (CustomHttpException ex) { _logger.Log(LogLevel.Error, ex.Message); TempData["_mensagem"] = new VMMessages() { Css = "alert alert-danger", Text = ex.ErrorMessage }; } catch (Exception ex) { _logger.Log(LogLevel.Error, ex.Message); TempData["_mensagem"] = new VMMessages() { Css = "alert alert-danger", Text = "Um erro insperado ocorreu" }; } ViewData["idCity"] = new SelectList(_cityService.GetCitiesByState(payload.idState), "Id", "Name", payload.idCity); ViewData["idPlanType"] = new SelectList(_planTypeService.GetAll(), "Id", "Name"); ViewData["idState"] = new SelectList(_stateService.GetAll(), "Id", "Name"); ViewData["idTypePayment"] = new SelectList(_typePaymentService.GetAll(), "Id", "Name"); return(View(payload)); }
public ActionResult Create(VMClient vmclient) { if (ModelState.IsValid) { this.repository.Add(_mapper.Map <Client>(vmclient)); return(RedirectToAction(nameof(Index))); } else { return(View(vmclient)); } }
public ActionResult Edit(int id, VMClient vmclient) { try { // TODO: Add update logic here this.repository.Update(_mapper.Map <Client>(vmclient)); return(RedirectToAction(nameof(Index))); } catch { return(View()); } }
public bool Update(VMClient entity) { var existingUser = _userRepository.FindByEmail(entity.Email); if (existingUser != null && existingUser.Id != entity.idUser) { throw new CustomHttpException(422, " Esse “E-mail” já existe na base de dados."); } var existingUserWithCpf = _userRepository.FindByCPF(entity.cpf); if (existingUserWithCpf != null && existingUserWithCpf.Id != entity.idUser) { throw new CustomHttpException(422, " Esse “CPF” já existe na base de dados."); } var existingUserWithRG = _userRepository.FindByRg(entity.RG); if (existingUserWithRG != null && existingUserWithRG.Id != entity.idUser) { throw new CustomHttpException(422, " Esse “RG” já existe na base de dados."); } var user = _mapper.Map <User>(entity); user.UserTypeId = 5; user.Id = entity.idUser; user.Password = user.Password; user.CreatedAt = existingUser.CreatedAt; var transaction = _context.Database.BeginTransaction(); try { var createdUser = _userRepository.Update(user, user.Id); var client = _mapper.Map <Client>(entity); client.CreatedAt = existingUser.CreatedAt; var createdInstructor = _clientRepository.Update(client, entity.IdRegistration); transaction.Commit(); return(createdInstructor); } catch (Exception ex) { //TODO: Log ex transaction.Rollback(); throw new CustomHttpException(500, "Internal server error"); } }
public Client Save(VMClient entity) { var existingUser = _userRepository.FindByEmail(entity.Email); if (existingUser != null) { throw new CustomHttpException(422, " Esse “E-mail” já existe na base de dados."); } var existingUserWithCpf = _userRepository.FindByCPF(entity.cpf); if (existingUserWithCpf != null) { throw new CustomHttpException(422, " Esse “CPF” já existe na base de dados."); } var existingUserWithRG = _userRepository.FindByRg(entity.RG); if (existingUserWithRG != null) { throw new CustomHttpException(422, " Esse “RG” já existe na base de dados."); } var user = _mapper.Map <User>(entity); user.UserTypeId = 5; user.Password = _passwordManager.HashPassword(user.Password); var transaction = _context.Database.BeginTransaction(); try { var createdUser = _userRepository.Save(user); var client = _mapper.Map <Client>(entity); client.idUser = createdUser; var createdInstructor = _clientRepository.Save(client); transaction.Commit(); return(_clientRepository.FindById(createdInstructor)); } catch (Exception ex) { //TODO: Log ex transaction.Rollback(); throw new CustomHttpException(500, "Internal server error"); } }
public ActionResult Edit(int id, [Bind("IdRegistration,Name,Email,Password,RG,cpf,Street,Neighborhood,idCity,idState,ContractStartDate,ContractEndDate,idPlanType,idTypePayment,idUser,CreatedAt,UpdatedAt,DeletedAt")] VMClient payload) { try { if (id != payload.IdRegistration) { var _msg = new VMMessages() { Css = "alert alert-danger", Text = "Um erro inseperado ocorreu" }; TempData["_mensagem"] = JsonConvert.SerializeObject(_msg); return(RedirectToAction(nameof(Index))); } if (ModelState.IsValid) { var result = _clientService.Update(payload); if (result) { var _msg = new VMMessages() { Css = "alert alert-success", Text = "Editado com sucesso!" }; TempData["_mensagem"] = JsonConvert.SerializeObject(_msg); } else { var _msg = new VMMessages() { Css = "alert alert-danger", Text = "Um erro insperado ocorreu" }; TempData["_mensagem"] = JsonConvert.SerializeObject(_msg); } return(RedirectToAction(nameof(Index))); } } catch (CustomHttpException ex) { _logger.Log(LogLevel.Error, ex.Message); TempData["_mensagem"] = new VMMessages() { Css = "alert alert-danger", Text = ex.ErrorMessage }; } catch (Exception ex) { _logger.Log(LogLevel.Error, ex.Message); TempData["_mensagem"] = new VMMessages() { Css = "alert alert-danger", Text = "Um erro insperado ocorreu" }; } ViewData["idCity"] = new SelectList(_cityService.GetCitiesByState(payload.idState), "Id", "Name", payload.idCity); ViewData["idPlanType"] = new SelectList(_planTypeService.GetAll(), "Id", "Name", payload.idPlanType); ViewData["idState"] = new SelectList(_stateService.GetAll(), "Id", "Name", payload.idState); ViewData["idTypePayment"] = new SelectList(_typePaymentService.GetAll(), "Id", "Name", payload.idTypePayment); return(View(payload)); }