Exemplo n.º 1
0
        /// <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);
            }
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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));
 }
Exemplo n.º 10
0
 public IHttpActionResult UpdateReferralHeader(ReferralHeaderModel model)
 {
     return(new HttpResult <Response <ReferralHeaderModel> >(referralDataProvider.UpdateReferralHeader(model), Request));
 }