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 }); }