コード例 #1
0
        /// <summary>
        /// Generates the insert script.
        /// </summary>
        /// <param name="tariffBaseUnitCost">
        /// The tariff base unit cost.
        /// </param>
        /// <param name="fileItemCode">
        /// The file item code.
        /// </param>
        /// <param name="fileDoctorRecommendedUnit">
        /// The file doctor recommended unit.
        /// </param>
        /// <param name="newTariffNotLoadedPath">
        /// The new tariff not loaded path.
        /// </param>
        /// <param name="doctorTariffData">
        /// The doctor tariff data.
        /// </param>
        /// <param name="originalGazetteName">
        /// Name of the original gazette.
        /// </param>
        /// <param name="dataAccessHelper">
        /// The data access helper.
        /// </param>
        private static void GenerateInsertScript(
            TariffBaseUnitCost tariffBaseUnitCost, 
            string fileItemCode, 
            decimal fileDoctorRecommendedUnit, 
            string newTariffNotLoadedPath, 
            Tariff doctorTariffData, 
            string originalGazetteName, 
            TariffsDataAccessHelper dataAccessHelper)
        {
            var databaseName = tariffBaseUnitCost.Name;

            var pathologyGPValues = ConfigurationManager.AppSettings[Constant.PathologyGPConfigKey];
            var pathologySpecialistValues = ConfigurationManager.AppSettings[Constant.PathologySpecialistConfigKey];
            var clinicalProceduresGPValues = ConfigurationManager.AppSettings[Constant.ClinicalProcedureGPConfigKey];
            var clinicalProceduresSpecialistValues =
                ConfigurationManager.AppSettings[Constant.ClinicalProcedureSpecialistConfigKey];
            var radiologyGpValues = ConfigurationManager.AppSettings[Constant.RadiologyGPConfigKey];
            var radiologySpecialistValues = ConfigurationManager.AppSettings[Constant.RadiologySpecialistConfigKey];

            if (databaseName.Contains(Constant.Pathology, StringComparison.InvariantCultureIgnoreCase))
            {
                InsertNewTariffScript(
                    pathologyGPValues, 
                    fileItemCode, 
                    fileDoctorRecommendedUnit, 
                    tariffBaseUnitCost, 
                    newTariffNotLoadedPath, 
                    dataAccessHelper);

                return;
            }

            if (databaseName.Contains(Constant.Radiology, StringComparison.InvariantCultureIgnoreCase))
            {
                InsertNewTariffScript(
                    radiologyGpValues, 
                    fileItemCode, 
                    fileDoctorRecommendedUnit, 
                    tariffBaseUnitCost, 
                    newTariffNotLoadedPath, 
                    dataAccessHelper);

                return;
            }

            newTariffNotLoadedPath.WriteToFile(
                string.Format("{0} - {1}", doctorTariffData.ItemCode, originalGazetteName));
        }
コード例 #2
0
        /// <summary>
        /// Gets the specialist recommended units.
        /// </summary>
        /// <param name="correctName">
        /// Name of the correct.
        /// </param>
        /// <param name="fileSpecialistRecommendedUnit">
        /// The file specialist recommended unit.
        /// </param>
        /// <param name="doctorRecommendedUnit">
        /// The doctor recommended unit.
        /// </param>
        /// <param name="specialistTariffData">
        /// The specialist tariff data.
        /// </param>
        /// <returns>
        /// The calculated specialist amount
        /// </returns>
        private static decimal GetSpecialistRecommendedUnits(
            string correctName, 
            decimal fileSpecialistRecommendedUnit, 
            decimal doctorRecommendedUnit, 
            Tariff specialistTariffData)
        {
            if (specialistTariffData.PractitionerType != null
                && !string.IsNullOrEmpty(specialistTariffData.PractitionerType.Name)
                && specialistTariffData.PractitionerType.Name.Trim()
                       .Contains(correctName, StringComparison.InvariantCultureIgnoreCase))
            {
                return fileSpecialistRecommendedUnit;
            }

            if (specialistTariffData.PractitionerType != null
                && (correctName.Equals(Constant.Pathology, StringComparison.InvariantCultureIgnoreCase)
                    && !specialistTariffData.PractitionerType.Name.Trim()
                            .Contains(Constant.Pathology, StringComparison.InvariantCultureIgnoreCase)))
            {
                return doctorRecommendedUnit;
            }

            if (specialistTariffData.PractitionerType != null
                && (correctName.Equals(Constant.Radiology, StringComparison.CurrentCultureIgnoreCase)
                    && !specialistTariffData.PractitionerType.Name.Trim()
                            .Contains(Constant.Radiology, StringComparison.InvariantCultureIgnoreCase)))
            {
                return doctorRecommendedUnit;
            }

            if (specialistTariffData.PractitionerType != null
                && (!correctName.Equals(Constant.Pathology, StringComparison.InvariantCultureIgnoreCase)
                    && specialistTariffData.PractitionerType.Name.Trim()
                           .Contains(Constant.Pathology, StringComparison.InvariantCultureIgnoreCase)))
            {
                return doctorRecommendedUnit;
            }

            if (specialistTariffData.PractitionerType != null
                && (!correctName.Equals(Constant.Radiology, StringComparison.InvariantCultureIgnoreCase)
                    && specialistTariffData.PractitionerType.Name.Trim()
                           .Contains(Constant.Radiology, StringComparison.InvariantCultureIgnoreCase)))
            {
                return doctorRecommendedUnit;
            }

            return fileSpecialistRecommendedUnit;
        }