/// <summary> /// Adds the referral header. /// </summary> /// <param name="referral">The referral.</param> /// <returns></returns> public Response <ReferralHeaderModel> AddReferralHeader(ReferralHeaderModel referral) { var referralRepository = unitOfWork.GetRepository <ReferralHeaderModel>(SchemaName.Registration); var procParams = BuildParams(referral); using (var transactionScope = unitOfWork.BeginTransactionScope()) { var result = referralRepository.ExecuteNQStoredProc("usp_AddReferralHeader", procParams, idResult: true); if (result.ResultCode != 0) { return(result); } referral.ReferralHeaderID = result.ID; var convertResult = ConvertToCollateral(referral, referralRepository); if (convertResult != null) { if (convertResult.ResultCode != 0) { return(convertResult); } } if (!referral.ForceRollback.GetValueOrDefault(false)) { unitOfWork.TransactionScopeComplete(transactionScope); } return(result); } }
private Response <ReferralHeaderModel> ConvertToCollateral(ReferralHeaderModel referral, IRepository <ReferralHeaderModel> referralRepository) { if (referral.IsReferrerConvertedToCollateral ?? false) { var convertProcParams = new List <SqlParameter>() { new SqlParameter("ParentContactID", (object)referral.ContactRelationShip.ParentContactID ?? DBNull.Value), new SqlParameter("ContactID", (object)referral.ContactRelationShip.ContactID ?? DBNull.Value), new SqlParameter("ContactTypeID", (object)referral.ContactRelationShip.ContactRelationshipTypeID ?? DBNull.Value), new SqlParameter("IsPolicyHolder", (object)referral.ContactRelationShip.IsPolicyHolder ?? false), new SqlParameter("RelationshipTypeID", (object)referral.ContactRelationShip.RelationshipTypeID ?? DBNull.Value), new SqlParameter("OtherRelationship", (object)referral.ContactRelationShip.OtherRelationship ?? DBNull.Value), new SqlParameter("LivingWithClientStatus", (object)referral.ContactRelationShip.LivingWithClientStatus ?? DBNull.Value), new SqlParameter("ReferralHeaderID", (object)referral.ReferralHeaderID ?? DBNull.Value), new SqlParameter("ModifiedOn", (object)referral.ContactRelationShip.ModifiedOn ?? DateTime.Now) }; return(unitOfWork.EnsureInTransaction(referralRepository.ExecuteNQStoredProc, "usp_ConvertReferrerToCollateral", convertProcParams, idResult: (referral.ReferralHeaderID <= 0), forceRollback: referral.ForceRollback.GetValueOrDefault(false) )); } else { return(null); } }
private List <SqlParameter> BuildParams(ReferralHeaderModel referral) { var spParameters = new List <SqlParameter>(); if (referral.ReferralHeaderID > 0) { spParameters.Add(new SqlParameter("ReferralHeaderID", referral.ReferralHeaderID)); } spParameters.Add(new SqlParameter("ContactID", referral.ContactID)); spParameters.Add(new SqlParameter("ReferralStatusID", (object)referral.ReferralStatusID ?? DBNull.Value)); spParameters.Add(new SqlParameter("ReferralTypeID", (object)referral.ReferralTypeID ?? DBNull.Value)); spParameters.Add(new SqlParameter("ResourceTypeID", (object)referral.ResourceTypeID ?? DBNull.Value)); spParameters.Add(new SqlParameter("ReferralCategorySourceID", (object)referral.ReferralCategorySourceID ?? DBNull.Value)); spParameters.Add(new SqlParameter("ReferralOriginID", (object)referral.ReferralOriginID ?? DBNull.Value)); spParameters.Add(new SqlParameter("OrganizationID", (object)referral.OrganizationID ?? DBNull.Value)); spParameters.Add(new SqlParameter("ReferralOrganizationID", (object)referral.ReferralOrganizationID ?? DBNull.Value)); spParameters.Add(new SqlParameter("OtherOrganization", (object)referral.OtherOrganization ?? DBNull.Value)); spParameters.Add(new SqlParameter("ReferralSourceID", (object)referral.ReferralSourceID ?? DBNull.Value)); spParameters.Add(new SqlParameter("OtherSource", (object)referral.OtherSource ?? DBNull.Value)); spParameters.Add(new SqlParameter("ReferralDate", referral.ReferralDate)); spParameters.Add(new SqlParameter("IsLinkedToContact", (object)referral.IsLinkedToContact ?? DBNull.Value)); spParameters.Add(new SqlParameter("IsReferrerConvertedToContact", (object)referral.IsReferrerConvertedToCollateral ?? DBNull.Value)); spParameters.Add(new SqlParameter("ModifiedOn", referral.ModifiedOn ?? DateTime.Now)); return(spParameters); }
/// <summary> /// To the model. /// </summary> /// <param name="model">The model.</param> /// <returns></returns> public static ReferralHeaderModel ToModel(this ReferralHeaderViewModel model) { if (model == null) { return(null); } var entity = new ReferralHeaderModel { ReferralHeaderID = model.ReferralHeaderID, ContactID = model.ContactID, ReferralStatusID = model.ReferralStatusID, ReferralTypeID = model.ReferralTypeID, ResourceTypeID = model.ResourceTypeID, ReferralSourceID = model.ReferralSourceID, ReferralOriginID = model.ReferralOriginID, OrganizationID = model.OrganizationID, ReferralOrganizationID = model.ReferralOrganizationID, OtherOrganization = model.OtherOrganization, ReferralCategorySourceID = model.ReferralCategorySourceID, ReferralDate = model.ReferralDate, ModifiedOn = model.ModifiedOn, OtherSource = model.OtherSource, IsLinkedToContact = model.IsLinkedToContact, IsReferrerConvertedToCollateral = model.IsReferrerConvertedToCollateral, ContactRelationShip = model.ContactRelationShip, LivingWithClientStatus = model.LivingWithClientStatus, DriverLicense = model.DriverLicense, DriverLicenseStateID = model.DriverLicenseStateID }; return(entity); }
/// <summary> /// Updates the referral header. /// </summary> /// <param name="referralHeader">The referral header.</param> /// <returns></returns> public Response <ReferralHeaderModel> UpdateReferralHeader(ReferralHeaderModel referralHeader) { const string apiUrl = BaseRoute + "UpdateReferralHeader"; return(communicationManager.Put <ReferralHeaderModel, Response <ReferralHeaderModel> >(referralHeader, apiUrl)); }
public void UpdateReferralRequestor_Failed() { //Demographics // Arrange var urlDemographics = baseRouteDemographics + "UpdateContactDemographics"; var referralDemographics = new ReferralDemographicsModel { ReferralID = -1, FirstName = "FirstName", LastName = "LastName", SuffixID = -1, TitleID = -1, Middle = "M", ForceRollback = true }; // Act var demographicsResponse = communicationManager.Post <ReferralDemographicsModel, Response <ReferralDemographicsModel> >(referralDemographics, urlDemographics); // Assert Assert.IsTrue(demographicsResponse != null, "Response can't be null"); Assert.IsTrue(demographicsResponse.RowAffected < 3, "Invalid referral demographics has been updated."); //Header // Arrange var urlHeader = baseRouteHeader + "UpdateReferralHeader"; var referralHeader = new ReferralHeaderModel { ContactID = -1, ReferralHeaderID = -1, ReferralStatusID = 1, ReferralTypeID = 1, ResourceTypeID = 1, ReferralCategorySourceID = 1, ReferralOriginID = 1, ForceRollback = true }; // Act var headerResponse = communicationManager.Put <ReferralHeaderModel, Response <ReferralHeaderModel> >(referralHeader, urlHeader); // Assert Assert.IsTrue(headerResponse != null, "Response can't be null"); Assert.IsTrue(headerResponse.RowAffected < 3, "Invalid referral header has been updated."); //Address // Arrange var urlAddress = baseRouteAddress + "AddUpdateAddress"; var referralAddress = new List <ContactAddressModel>(); referralAddress.Add(new ContactAddressModel { ContactID = -1, AddressID = -1, MailPermissionID = 1, AddressTypeID = 1, Line1 = "Line1", Line2 = "Line2", City = "City", StateProvince = 1, County = 1, Zip = "12321-3212", ForceRollback = true }); // Act var addressResponse = communicationManager.Post <List <ContactAddressModel>, Response <List <ContactAddressModel> > >(referralAddress, urlAddress); // Assert Assert.IsTrue(addressResponse != null, "Response can't be null"); Assert.IsTrue(addressResponse.RowAffected < 3, "Invalid referral address has been updated."); //Email // Arrange var urlEmail = baseRouteEmail + "AddUpdateEmails"; var referralEmail = new List <ContactEmailModel>(); referralEmail.Add(new ContactEmailModel { ContactID = -1, EmailID = -1, EmailPermissionID = 1, Email = "*****@*****.**", ForceRollback = true }); // Act var emailResponse = communicationManager.Post <List <ContactEmailModel>, Response <List <ContactEmailModel> > >(referralEmail, urlEmail); // Assert Assert.IsTrue(emailResponse != null, "Response can't be null"); Assert.IsTrue(emailResponse.RowAffected < 3, "Invalid referral email has been updated."); //Phone // Arrange var urlPhone = baseRoutePhone + "AddUpdateContactPhones"; var referralPhone = new ContactPhoneModel { ContactID = -1, ContactPhoneID = -1, PhoneID = -1, PhonePermissionID = -1, PhoneTypeID = -1, Number = "0123456789", ForceRollback = true }; // Act var phoneResponse = communicationManager.Post <ContactPhoneModel, Response <ContactPhoneModel> >(referralPhone, urlPhone); // Assert Assert.IsTrue(phoneResponse != null, "Response can't be null"); Assert.IsTrue(phoneResponse.RowAffected < 2, "Invalid referral phone has been updated."); }
public IHttpActionResult UpdateReferralHeader(ReferralHeaderModel referral) { return(new HttpResult <Response <ReferralHeaderModel> >(referralHeaderRuleEngine.UpdateReferralHeader(referral), Request)); }
/// <summary> /// Updates the referral header. /// </summary> /// <param name="referral">The referral.</param> /// <returns></returns> public Response <ReferralHeaderModel> UpdateReferralHeader(ReferralHeaderModel referral) { return(referralHeader.UpdateReferralHeader(referral)); }
/// <summary> /// Adds the referral header. /// </summary> /// <param name="referral">The referral.</param> /// <returns></returns> public Response <ReferralHeaderModel> AddReferralHeader(ReferralHeaderModel referral) { return(referralHeader.AddReferralHeader(referral)); }
public IHttpActionResult UpdateReferralHeader(ReferralHeaderModel model) { return(new HttpResult <Response <ReferralHeaderModel> >(referralDataProvider.UpdateReferralHeader(model), Request)); }