/// <summary>
        ///  Get template override criterias
        /// </summary>
        /// <returns>A data set of results for all the template overrides</returns>
        private DataSet retriveOverrideCriterias()
        {
            DataSet dsResults = new DataSet();
            TalentTemplateOverride talTemplateOverride = new TalentTemplateOverride();
            DESettings             settings            = Environment.Settings.DESettings;
            ErrorObj err = new ErrorObj();

            talTemplateOverride.Settings          = settings;
            talTemplateOverride.DeTemplate.Source = GlobalConstants.SOURCE;
            err       = talTemplateOverride.GetTemplateOverrideCriterias();
            dsResults = talTemplateOverride.ResultDataSet;
            return(dsResults);
        }
        /// <summary>
        /// Get template overrides from the TM001 and TM002 files based on the given parameters
        /// </summary>
        /// <param name="inputModel">The given template override input model</param>
        /// <returns>A data set of results for all the template overrides</returns>
        private DataSet retrieveTemplateOverrides(TemplateOverrideInputModel inputModel)
        {
            DataSet dsResults = new DataSet();
            TalentTemplateOverride talTemplateOverride = new TalentTemplateOverride();
            DESettings             settings            = Environment.Settings.DESettings;
            ErrorObj err = new ErrorObj();

            talTemplateOverride.Settings = settings;
            talTemplateOverride.DeTemplate.BusinessUnit = inputModel.BusinessUnit;
            talTemplateOverride.DeTemplate.Mode         = inputModel.Mode;
            talTemplateOverride.DeTemplate.Source       = GlobalConstants.SOURCE;
            err       = talTemplateOverride.GetTemplateOverrideList();
            dsResults = talTemplateOverride.ResultDataSet;
            return(dsResults);
        }
        /// <summary>
        /// This method update template override and get updated template override list from the TM001 and TM002 files based on the given parameters
        /// </summary>
        /// <param name="inputModel">The given template override input model</param>
        /// <returns>A data set of results for all the template overrides</returns>
        private DataSet updateAndRetrieveTemplateOverrides(TemplateOverrideInputModel inputModel)
        {
            DataSet dsResults = new DataSet();
            TalentTemplateOverride talTemplateOverride = new TalentTemplateOverride();
            DESettings             settings            = Environment.Settings.DESettings;
            ErrorObj err = new ErrorObj();
            List <TemplateOverrideCriteria> overrideCriterias = new List <TemplateOverrideCriteria>();


            talTemplateOverride.Settings = settings;
            talTemplateOverride.DeTemplate.BusinessUnit = inputModel.BusinessUnit;
            talTemplateOverride.DeTemplate.Mode         = inputModel.Mode;

            foreach (TemplateOverrideCriteria overridecriteria in inputModel.TemplateOverrideCriterias)
            {
                TemplateOverrideCriteria criteria = new TemplateOverrideCriteria();
                criteria.CriteriaType  = overridecriteria.CriteriaType;
                criteria.CriteriaValue = overridecriteria.CriteriaValue;
                overrideCriterias.Add(criteria);
            }
            talTemplateOverride.DeTemplate.Source                           = GlobalConstants.SOURCE;
            talTemplateOverride.DeTemplate.TemplateOverrideId               = inputModel.TemplateOverrideID;
            talTemplateOverride.DeTemplate.Description                      = inputModel.Description;
            talTemplateOverride.DeTemplate.BoxOfficeUser                    = inputModel.BoxOfficeUser;
            talTemplateOverride.DeTemplate.SaleConfirmationEmailId          = inputModel.SaleConfirmationEmailID;
            talTemplateOverride.DeTemplate.SaleConfirmationEmailDescription = inputModel.SaleConfirmationEmailDescription;
            talTemplateOverride.DeTemplate.QAndATemplateID                  = inputModel.QAndATemplateID;
            talTemplateOverride.DeTemplate.QAndATemplateDescription         = inputModel.QAndATemplateDescription;
            talTemplateOverride.DeTemplate.DataCaptureTemplateId            = inputModel.DataCaptureTemplateID;
            talTemplateOverride.DeTemplate.DataCaptureTemplateDescription   = inputModel.DataCaptureTemplateDescription;
            talTemplateOverride.DeTemplate.AutoExpandQAndA                  = inputModel.AutoExpandQAndA;
            talTemplateOverride.DeTemplate.TemplateOverrideCriterias        = overrideCriterias;
            err       = talTemplateOverride.UpdateTemplateOverride();
            dsResults = talTemplateOverride.ResultDataSet;
            return(dsResults);
        }