/// <summary>
        /// سر ستون رزرو فیلدها را در گزارش کارکرد ماهانه برمیگرداند
        /// </summary>
        /// <returns>دیکشنری سرستون فیلدهای رزرو</returns>
        public IDictionary <ConceptReservedFields, string> GetReservedFieldsNames()
        {
            try
            {
                IList <string> reserveFields = new List <string>()
                {
                    "gridFields_ReserveField1", "gridFields_ReserveField2", "gridFields_ReserveField3"
                    , "gridFields_ReserveField4", "gridFields_ReserveField5", "gridFields_ReserveField6"
                    , "gridFields_ReserveField7", "gridFields_ReserveField8", "gridFields_ReserveField9"
                    , "gridFields_ReserveField10"
                };


                SecondaryConceptRepository rep  = new SecondaryConceptRepository(false);
                IList <SecondaryConcept>   list = rep.GetAllByKeyNames(reserveFields);
                list = list == null ? new List <SecondaryConcept>() : list;

                IDictionary <ConceptReservedFields, string> dic = new Dictionary <ConceptReservedFields, string>();
                foreach (string field in reserveFields)
                {
                    ConceptReservedFields keyColumn = new ConceptReservedFields();
                    switch (field)
                    {
                    case "gridFields_ReserveField1":
                        keyColumn = ConceptReservedFields.ReserveField1;
                        break;

                    case "gridFields_ReserveField2":
                        keyColumn = ConceptReservedFields.ReserveField2;
                        break;

                    case "gridFields_ReserveField3":
                        keyColumn = ConceptReservedFields.ReserveField3;
                        break;

                    case "gridFields_ReserveField4":
                        keyColumn = ConceptReservedFields.ReserveField4;
                        break;

                    case "gridFields_ReserveField5":
                        keyColumn = ConceptReservedFields.ReserveField5;
                        break;

                    case "gridFields_ReserveField6":
                        keyColumn = ConceptReservedFields.ReserveField6;
                        break;

                    case "gridFields_ReserveField7":
                        keyColumn = ConceptReservedFields.ReserveField7;
                        break;

                    case "gridFields_ReserveField8":
                        keyColumn = ConceptReservedFields.ReserveField8;
                        break;

                    case "gridFields_ReserveField9":
                        keyColumn = ConceptReservedFields.ReserveField9;
                        break;

                    case "gridFields_ReserveField10":
                        keyColumn = ConceptReservedFields.ReserveField10;
                        break;
                    }

                    SecondaryConcept cnp = list.Where(x => x.KeyColumnName == field).FirstOrDefault();

                    if (cnp != null)
                    {
                        if (BLanguage.CurrentLocalLanguage == LanguagesName.Parsi)
                        {
                            dic.Add(keyColumn, cnp.FnName);
                        }
                        else
                        {
                            dic.Add(keyColumn, cnp.EnName);
                        }
                    }
                    else
                    {
                        dic.Add(keyColumn, String.Empty);
                    }
                }
                return(dic);
            }
            catch (Exception ex)
            {
                BaseBusiness <Entity> .LogException(ex, this.GetType().Name, "GetReservedFieldsNames");

                throw ex;
            }
        }
        /// <summary>
        /// سر ستون رزورو فیلدها را در گزارش کارکرد ماهانه برمیگرداند
        /// </summary>
        /// <param name="field">فیلد رزرو شده</param>
        /// <returns>سرستون</returns>
        public string GetReservedFieldsName(ConceptReservedFields field)
        {
            try
            {
                string keyColumn = "";
                switch (field)
                {
                case ConceptReservedFields.ReserveField1:
                    keyColumn = "gridFields_ReserveField1";
                    break;

                case ConceptReservedFields.ReserveField2:
                    keyColumn = "gridFields_ReserveField2";
                    break;

                case ConceptReservedFields.ReserveField3:
                    keyColumn = "gridFields_ReserveField3";
                    break;

                case ConceptReservedFields.ReserveField4:
                    keyColumn = "gridFields_ReserveField4";
                    break;

                case ConceptReservedFields.ReserveField5:
                    keyColumn = "gridFields_ReserveField5";
                    break;

                case ConceptReservedFields.ReserveField6:
                    keyColumn = "gridFields_ReserveField6";
                    break;

                case ConceptReservedFields.ReserveField7:
                    keyColumn = "gridFields_ReserveField7";
                    break;

                case ConceptReservedFields.ReserveField8:
                    keyColumn = "gridFields_ReserveField8";
                    break;

                case ConceptReservedFields.ReserveField9:
                    keyColumn = "gridFields_ReserveField9";
                    break;

                case ConceptReservedFields.ReserveField10:
                    keyColumn = "gridFields_ReserveField10";
                    break;
                }
                SecondaryConceptRepository rep  = new SecondaryConceptRepository(false);
                IList <SecondaryConcept>   list = rep.Find().
                                                  Where(x => x.KeyColumnName != null && x.KeyColumnName != "" &&
                                                        x.KeyColumnName == keyColumn).ToList <SecondaryConcept>();
                SecondaryConcept concept = list.FirstOrDefault();
                if (concept != null)
                {
                    if (BLanguage.CurrentLocalLanguage == LanguagesName.Parsi)
                    {
                        return(concept.FnName);
                    }
                    else
                    {
                        return(concept.EnName);
                    }
                }
                return(String.Empty);
            }
            catch (Exception ex)
            {
                BaseBusiness <Entity> .LogException(ex, this.GetType().Name, "GetReservedFieldsName");

                throw ex;
            }
        }