/// <summary> /// Adds the contact presenting problem. /// </summary> /// <param name="presentingProblem">The presenting problem.</param> /// <returns></returns> public Response <ContactPresentingProblemModel> AddContactPresentingProblem(ContactPresentingProblemModel presentingProblem) { var repository = unitOfWork.GetRepository <ContactPresentingProblemModel>(SchemaName.Registration); var spParameters = BuildPresentingProblemSpParams(presentingProblem, false); return(unitOfWork.EnsureInTransaction <Response <ContactPresentingProblemModel> >(repository.ExecuteNQStoredProc, "usp_AddContactPresentingProblem", spParameters, forceRollback: presentingProblem.ForceRollback ?? false, idResult: true)); }
/// <summary> /// Builds the presenting problem sp parameters. /// </summary> /// <param name="presentingProblem">The contact alias.</param> /// <param name="isUpdate">if set to <c>true</c> [is update].</param> /// <returns></returns> private List <SqlParameter> BuildPresentingProblemSpParams(ContactPresentingProblemModel presentingProblem, bool isUpdate) { var spParameters = new List <SqlParameter>(); spParameters.Add(new SqlParameter("TransactionLogID", (object)presentingProblem.TransactionID ?? DBNull.Value)); spParameters.Add(new SqlParameter("ModuleComponentID", (object)presentingProblem.ScreenID ?? DBNull.Value)); if (isUpdate) { spParameters.Add(new SqlParameter("ContactPresentingProblemID", presentingProblem.ContactPresentingProblemID)); } spParameters.Add(new SqlParameter("ContactID", presentingProblem.ContactID)); spParameters.Add(new SqlParameter("PresentingProblemTypeID", (object)presentingProblem.PresentingProblemTypeID ?? DBNull.Value)); spParameters.Add(new SqlParameter("EffectiveDate", (object)presentingProblem.EffectiveDate ?? DBNull.Value)); spParameters.Add(new SqlParameter("ExpirationDate", (object)presentingProblem.ExpirationDate ?? DBNull.Value)); spParameters.Add(new SqlParameter("ModifiedOn", (object)presentingProblem.ModifiedOn ?? DateTime.Now)); return(spParameters); }