Beispiel #1
0
        public ActionResult AddRelationMap([Bind("RelationType,PersonOneId,NewRelativePersonalNo")] PersonRelationMapViewModel vModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var relatedPerson = _uow.Persons.GetPersonByPersonalNo(vModel.NewRelativePersonalNo);
                    if (relatedPerson == null)
                    {
                        return(Json(new { success = false, message = "Personal ID was not found" }));
                    }
                    else if (relatedPerson.Id.Equals(vModel.PersonOneId))
                    {
                        return(Json(new { success = false, message = "Related person must be different" }));
                    }

                    vModel.PersonTwoId = relatedPerson.Id;
                    var model = PersonHelper.ConvertToDbModel(vModel);
                    _uow.PersonRelationMaps.Add(model);
                    _uow.Complete();

                    return(Json(new { success = true, newId = model.Id }));
                }
                else
                {
                    return(Json(new { success = false, message = ModelState.Values.First().Errors.First().ErrorMessage }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { success = false, message = "Error occurred while processing your request" }));
            }
        }
 public static PersonRelationMap ConvertToDbModel(PersonRelationMapViewModel vModel)
 {
     return(new PersonRelationMap()
     {
         Id = vModel.Id > 0 ? vModel.Id : 0,
         PersonOneId = vModel.PersonOneId,
         PersonTwoId = vModel.PersonTwoId,
         RelationType = vModel.RelationType
     });
 }