public AddRelatedPersonResponse AddRelatedPerson(AddRelatedPersonRequest request) { try { var persons = _db.Persons.AsNoTracking().Where(t => t.Id == request.PersonId || t.Id == request.RelatedPersonId).ToList(); if (persons.Count == 0) { return(Fail(new AddRelatedPersonResponse(), RsStrings.PersonAndRelatedPersonNotFound)); } if (!persons.Where(t => t.Id == request.PersonId).Any()) { return(Fail(new AddRelatedPersonResponse(), RsStrings.PersonNotFound)); } if (!persons.Where(t => t.Id == request.RelatedPersonId).Any()) { return(Fail(new AddRelatedPersonResponse(), RsStrings.RelatedPersonNotFound)); } var relatedPerson = new RelatedPerson { PersonId = request.PersonId, RelatedPersonId = request.RelatedPersonId, RelationTypeId = (int)Enum.Parse(typeof(RelationType), request.RelationType) }; _db.RelatedPersons.Add(relatedPerson); _db.SaveChanges(); return(Success(new AddRelatedPersonResponse())); } catch (Exception ex) { return(Error(new AddRelatedPersonResponse(), RsStrings.AddRelatedPersonUnexpectedException)); } }
public ActionResult <AddRelatedPersonResponse> AddRelatedPerson([FromBody] AddRelatedPersonRequest request) { return(_personService.AddRelatedPerson(request)); }