コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }