コード例 #1
0
        /// <summary>
        /// Builds the additional demographics sp parameters.
        /// </summary>
        /// <param name="additional">The additional.</param>
        /// <returns></returns>
        private List <SqlParameter> BuildAdditionalDemographicsSpParams(ECIAdditionalDemographicsModel additional, bool isUpdate)
        {
            var spParameters = new List <SqlParameter>();

            if (isUpdate)
            {
                spParameters.Add(new SqlParameter("AdditionalDemographicID", additional.AdditionalDemographicID));
            }

            spParameters.Add(new SqlParameter("ContactID", additional.ContactID));
            spParameters.Add(new SqlParameter("ReferralDispositionStatusID", (object)additional.ReferralDispositionStatusID ?? DBNull.Value));
            spParameters.Add(new SqlParameter("SchoolDistrictID", (object)additional.SchoolDistrictID ?? DBNull.Value));
            spParameters.Add(new SqlParameter("OtherRace", (object)additional.OtherRace ?? DBNull.Value));
            spParameters.Add(new SqlParameter("EthnicityID", additional.EthnicityID));
            spParameters.Add(new SqlParameter("OtherEthnicity", (object)additional.OtherEthnicity ?? DBNull.Value));
            spParameters.Add(new SqlParameter("PrimaryLanguageID", (object)additional.LanguageID ?? DBNull.Value));
            spParameters.Add(new SqlParameter("OtherPreferredLanguage", (object)additional.OtherPreferredLanguage ?? DBNull.Value));
            spParameters.Add(new SqlParameter("InterpreterRequired", (object)additional.InterpreterRequired ?? DBNull.Value));
            spParameters.Add(new SqlParameter("IsCPSInvolved", (object)additional.IsCPSInvolved));
            spParameters.Add(new SqlParameter("IsChildHospitalized", (object)additional.IsChildHospitalized ?? DBNull.Value));
            spParameters.Add(new SqlParameter("ExpectedHospitalDischargeDate", (object)additional.ExpectedHospitalDischargeDate ?? DBNull.Value));
            spParameters.Add(new SqlParameter("BirthWeightLbs", (object)additional.BirthWeightLbs ?? DBNull.Value));
            spParameters.Add(new SqlParameter("BirthWeightOz", (object)additional.BirthWeightOz ?? DBNull.Value));
            spParameters.Add(new SqlParameter("IsTransfer", (object)additional.IsTransfer ?? DBNull.Value));
            spParameters.Add(new SqlParameter("TransferFrom", (object)additional.TransferFrom ?? DBNull.Value));
            spParameters.Add(new SqlParameter("TransferDate", (object)additional.TransferDate ?? DBNull.Value));
            spParameters.Add(new SqlParameter("IsOutOfServiceArea", (object)additional.IsOutOfServiceArea ?? DBNull.Value));
            spParameters.Add(new SqlParameter("ReportingUnitID", (object)additional.ReportingUnitID ?? DBNull.Value));
            spParameters.Add(new SqlParameter("ServiceCoordinatorID", (object)additional.ServiceCoordinatorID ?? DBNull.Value));
            spParameters.Add(new SqlParameter("ServiceCoordinatorPhoneID", (object)additional.ServiceCoordinatorPhoneID ?? DBNull.Value));
            spParameters.Add(new SqlParameter("ModifiedOn", additional.ModifiedOn ?? DateTime.Now));
            return(spParameters);
        }
コード例 #2
0
        /// <summary>
        /// Updates the additional demographic.
        /// </summary>
        /// <param name="additional">The additional.</param>
        /// <returns></returns>
        public Response <ECIAdditionalDemographicsModel> UpdateAdditionalDemographic(ECIAdditionalDemographicsModel additional)
        {
            var additionalDemographicsParameters = BuildAdditionalDemographicsSpParams(additional, true);
            var contactDemographicsRepository    = unitOfWork.GetRepository <ECIAdditionalDemographicsModel>(SchemaName.ECI);

            return(contactDemographicsRepository.ExecuteNQStoredProc("usp_UpdateAdditionalDemographics", additionalDemographicsParameters));
        }
コード例 #3
0
        /// <summary>
        /// Adds the additional demographic.
        /// </summary>
        /// <param name="additional">The additional.</param>
        /// <returns></returns>
        public Response <ECIAdditionalDemographicsModel> AddAdditionalDemographic(ECIAdditionalDemographicsModel additional)
        {
            var contactDemographicsRepository = unitOfWork.GetRepository <ECIAdditionalDemographicsModel>(SchemaName.ECI);
            var contactMRNRepository          = unitOfWork.GetRepository <ECIAdditionalDemographicsModel>(SchemaName.Registration);
            var defaultErrorMessage           = "Error while saving the additional demographics";
            var response = new Response <ECIAdditionalDemographicsModel>()
            {
                ResultCode = -1, ResultMessage = defaultErrorMessage
            };

            using (var transactionScope = unitOfWork.BeginTransactionScope())
            {
                try
                {
                    var additionalDemographicsParameters = BuildAdditionalDemographicsSpParams(additional, false);
                    var addDemographicsResponse          = contactDemographicsRepository.ExecuteNQStoredProc("usp_AddAdditionalDemographics", additionalDemographicsParameters);

                    if (addDemographicsResponse.ResultCode != 0)
                    {
                        goto end;
                    }

                    SqlParameter contactIDParam  = new SqlParameter("ContactID", additional.ContactID);
                    SqlParameter modifiedOnParam = new SqlParameter("ModifiedOn", additional.ModifiedOn ?? DateTime.Now);
                    var          mrnResponse     = contactMRNRepository.ExecuteNQStoredProc("usp_GenerateMRN", new List <SqlParameter>()
                    {
                        contactIDParam, modifiedOnParam
                    });

                    if (mrnResponse.ResultCode != 0)
                    {
                        goto end;
                    }

                    response = addDemographicsResponse;
                    if (!additional.ForceRollback.GetValueOrDefault(false))
                    {
                        unitOfWork.TransactionScopeComplete(transactionScope);
                    }
                }
                catch (Exception ex)
                {
                    logger.Error(ex);
                    response.ResultCode    = -1;
                    response.ResultMessage = defaultErrorMessage;
                }
            }

end:
            return(response);
        }
コード例 #4
0
 public IHttpActionResult UpdateAdditionalDemographic(ECIAdditionalDemographicsModel additional)
 {
     if (ModelState.IsValid)
     {
         return(new HttpResult <Response <ECIAdditionalDemographicsModel> >(_eciAdditionalDemographicsRuleEngine.UpdateAdditionalDemographic(additional), Request));
     }
     else
     {
         var errorMessage       = ModelState.ParseError();
         var validationResponse = new Response <ECIAdditionalDemographicsModel>()
         {
             DataItems = new List <ECIAdditionalDemographicsModel>(), ResultCode = -1, ResultMessage = errorMessage
         };
         return(new HttpResult <Response <ECIAdditionalDemographicsModel> >(validationResponse, Request));
     }
 }
コード例 #5
0
        /// <summary>
        /// To the model.
        /// </summary>
        /// <param name="model">The model.</param>
        /// <returns></returns>
        public static ECIAdditionalDemographicsModel ToModel(this ECIAdditionalDemographicsViewModel model)
        {
            if (model == null)
            {
                return(null);
            }

            var entity = new ECIAdditionalDemographicsModel
            {
                AdditionalDemographicID = model.AdditionalDemographicID,
                ContactID = model.ContactID,
                ReferralDispositionStatusID = model.ReferralDispositionStatusID,
                ReportingUnitID             = model.ReportingUnitID,
                ServiceCoordinatorID        = model.ServiceCoordinatorID,
                ServiceCoordinatorPhoneID   = model.ServiceCoordinatorPhoneID,
                SchoolDistrictID            = model.SchoolDistrictID,
                EthnicityID                   = model.EthnicityID,
                LanguageID                    = model.LanguageID,
                OtherRace                     = model.OtherRace,
                OtherEthnicity                = model.OtherEthnicity,
                OtherPreferredLanguage        = model.OtherPreferredLanguage,
                InterpreterRequired           = model.InterpreterRequired,
                IsCPSInvolved                 = model.IsCPSInvolved,
                IsChildHospitalized           = model.IsChildHospitalized,
                BirthWeightLbs                = model.BirthWeightLbs,
                BirthWeightOz                 = model.BirthWeightOz,
                IsTransfer                    = model.IsTransfer,
                ExpectedHospitalDischargeDate = model.ExpectedHospitalDischargeDate,
                TransferFrom                  = model.TransferFrom,
                TransferDate                  = model.TransferDate,
                IsOutOfServiceArea            = model.IsOutOfServiceArea,
                MRN        = model.MRN,
                ModifiedOn = model.ModifiedOn
            };

            return(entity);
        }
コード例 #6
0
        public Response <ECIAdditionalDemographicsModel> UpdateAdditionalDemographic(ECIAdditionalDemographicsModel additional)
        {
            const string apiUrl = BaseRoute + "updateAdditionalDemographic";

            return(_communicationManager.Post <ECIAdditionalDemographicsModel, Response <ECIAdditionalDemographicsModel> >(additional, apiUrl));
        }
コード例 #7
0
 /// <summary>
 /// Updates the additional demographic.
 /// </summary>
 /// <param name="additional">The additional.</param>
 /// <returns></returns>
 public IHttpActionResult UpdateAdditionalDemographic(ECIAdditionalDemographicsModel additional)
 {
     return(new HttpResult <Response <ECIAdditionalDemographicsModel> >(_additionalDemographicsDataProvider.UpdateAdditionalDemographic(additional), Request));
 }
 public Response <ECIAdditionalDemographicsModel> UpdateAdditionalDemographic(ECIAdditionalDemographicsModel additional)
 {
     return(_eciAdditionalDemographicsService.UpdateAdditionalDemographic(additional));
 }