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));
            }
        }
Beispiel #2
0
 public ActionResult <AddRelatedPersonResponse> AddRelatedPerson([FromBody] AddRelatedPersonRequest request)
 {
     return(_personService.AddRelatedPerson(request));
 }