public IActionResult InsertOrUpdatePersonTypePerson(int?id) { PersonTypePersonViewModel personTypePersonViewModel = new PersonTypePersonViewModel() { PersonTypePerson = new PersonTypePerson(), TypePersonList = _unitWork.TypePerson.GetAll(orderBy: tpe => tpe.OrderBy(tpe => tpe.Name)).Select(tpe => new SelectListItem { Text = tpe.Name, Value = tpe.Id.ToString() }), PersonList = _unitWork.Person.GetAll(orderBy: pe => pe.OrderBy(pe => pe.Surnames + pe.Names)).Select(pe => new SelectListItem { Text = pe.Names + " " + pe.Surnames, Value = pe.Id.ToString() }).ToList(), }; // Crea un nuevo registro if (id == null) { personTypePersonViewModel.PersonTypePerson.Active = true; return(View(personTypePersonViewModel)); } // Actualiza el registro personTypePersonViewModel.PersonTypePerson = _unitWork.PersonTypePerson.Get(id.GetValueOrDefault()); if (personTypePersonViewModel.PersonTypePerson == null) { return(NotFound()); } return(View(personTypePersonViewModel)); }
public IActionResult InsertOrUpdatePersonTypePerson(PersonTypePersonViewModel personTypePersonViewModel) { if (ModelState.IsValid) { Action action = Action.None; if (personTypePersonViewModel.PersonTypePerson.Id == 0) { action = Action.Create; _unitWork.PersonTypePerson.Add(personTypePersonViewModel.PersonTypePerson); } else { action = Action.Update; _unitWork.PersonTypePerson.Update(personTypePersonViewModel.PersonTypePerson); } try { _unitWork.Save(); if (action == Action.Create) { _notyfService.Success("Asignación Tipo de Persona creaada correctamente."); } if (action == Action.Update) { _notyfService.Success("Asignación Tipo de Persona actualizada correctamente."); } return(RedirectToAction(nameof(Index))); } catch (DbUpdateException dbUpdateException) { if (dbUpdateException.InnerException.Message.Contains("IX_PersonTypePeople_PersonId_TypePersonId")) { _notyfService.Error("Ya existe una Persona con los mismos datos registrados"); personTypePersonViewModel.TypePersonList = _unitWork.TypePerson.GetAll().Select(tpe => new SelectListItem { Text = tpe.Name, Value = tpe.Id.ToString() }); personTypePersonViewModel.PersonList = _unitWork.Person.GetAll().Select(pe => new SelectListItem { Text = pe.Names + " " + pe.Surnames, Value = pe.Id.ToString() }).ToList(); return(View(personTypePersonViewModel)); } else { ModelState.AddModelError(string.Empty, dbUpdateException.InnerException.Message); } } catch (Exception exception) { ModelState.AddModelError(string.Empty, exception.Message); } } else { personTypePersonViewModel.TypePersonList = _unitWork.TypePerson.GetAll().Select(tpe => new SelectListItem { Text = tpe.Name, Value = tpe.Id.ToString() }); personTypePersonViewModel.PersonList = _unitWork.Person.GetAll(orderBy: pe => pe.OrderBy(pe => pe.Surnames + pe.Names)).Select(pe => new SelectListItem { Text = pe.Names + " " + pe.Surnames, Value = pe.Id.ToString() }); if (personTypePersonViewModel.PersonTypePerson.Id != 0) { personTypePersonViewModel.PersonTypePerson = _unitWork.PersonTypePerson.Get(personTypePersonViewModel.PersonTypePerson.Id); } } return(View(personTypePersonViewModel)); }