private void BindList(DropDownList ddl, EnumItemDescriptionList list)
        {
            ddl.DataSource = list;
            ddl.DataTextField = "Description";
			ddl.DataValueField = "EnumValue";
            ddl.DataBind();
        }
 private void BindList(DropDownList ddl, EnumItemDescriptionList list)
 {
     ddl.DataSource = list;
     ddl.DataTextField = "Description";
     ddl.DataValueField = "EnumValue";
     ddl.DataBind();
     ddl.Items.Insert(0, (new ListItem("", "")));
 }
Esempio n. 3
0
        private static string[] GetIgnorPropertiesByEnum(int field, EnumItemDescriptionList despList)
        {
            List <string> result = new List <string>();

            foreach (EnumItemDescription desp in despList)
            {
                if ((field & desp.EnumValue) == 0)
                {
                    result.Add(desp.Name);
                }
            }

            return(result.ToArray());
        }
Esempio n. 4
0
        internal static WhereSqlClauseBuilder GetWhereSqlClauseBuilderByUserTask(UserTask task, UserTaskIDType idType)
        {
            WhereSqlClauseBuilder   builder  = new WhereSqlClauseBuilder();
            EnumItemDescriptionList despList = EnumItemDescriptionAttribute.GetDescriptionList(typeof(UserTaskIDType));

            foreach (EnumItemDescription desp in despList)
            {
                if (((UserTaskIDType)desp.EnumValue & idType) != UserTaskIDType.None)
                {
                    builder.AppendItem(desp.Description, GetUserTaskIDValue(task, (UserTaskIDType)desp.EnumValue));
                }
            }

            return(builder);
        }
Esempio n. 5
0
 public static void ListBoxDataBindByEnum(ListBox litb, Type enumType, bool isUseValue)
 {
     if (enumType.IsEnum)
     {
         litb.Items.Clear();
         EnumItemDescriptionList list = EnumItemDescriptionAttribute.GetDescriptionList(enumType);
         foreach (EnumItemDescription desc in list)
         {
             ListItem item = new ListItem();
             item.Text  = desc.Description;
             item.Value = isUseValue ? desc.EnumValue.ToString() : desc.Name;
             litb.Items.Add(item);
         }
     }
 }
Esempio n. 6
0
        /// <summary>
        /// 将DirectoryEntry转换成ADSchemaType
        /// </summary>
        /// <param name="entry"></param>
        /// <returns></returns>
        public static ADSchemaType ToADSchemaType(this DirectoryEntry entry)
        {
            ADSchemaType result = ADSchemaType.Unspecified;

            EnumItemDescriptionList items = EnumItemDescriptionAttribute.GetDescriptionList(typeof(ADSchemaType));

            foreach (EnumItemDescription item in items)
            {
                if (string.Compare(item.ShortName, entry.SchemaClassName, true) == 0)
                {
                    result = (ADSchemaType)item.EnumValue;
                    break;
                }
            }

            return(result);
        }
Esempio n. 7
0
        public string[] QueryUserTaskStatus(string[] reqParams)
        {
            EnumItemDescriptionList despList =
                EnumItemDescriptionAttribute.GetDescriptionList(typeof(UserTaskQueryType));

            string[] result = new string[despList.Count];

            string userTaskChangeResult = DoUserTaskChangedQuery(reqParams[(int)UserTaskQueryType.UserTaskCount]);

            result[(int)UserTaskQueryType.UserTaskCount] = userTaskChangeResult;

            if (string.IsNullOrEmpty(userTaskChangeResult) == false)
            {
                result[(int)UserTaskQueryType.NewTaskArrived] = DoNewTaskArrived();
            }

            return(result);
        }
Esempio n. 8
0
        /// <summary>
        /// 根据描述找到枚举对象的值
        /// </summary>
        /// <param name="enumType"></param>
        /// <param name="description"></param>
        /// <returns></returns>
        public static int GetEnumValue(Type enumType, string description)
        {
            EnumItemDescriptionList enumList = EnumItemDescriptionAttribute.GetDescriptionList(enumType);

            EnumItemDescription found = null;

            foreach (EnumItemDescription item in enumList)
            {
                if (item.Description == description)
                {
                    found = item;
                    break;
                }
            }

            if (found == null)
            {
                throw new ArgumentException(string.Format("无法在类型为{0}的枚举中找到描述为{1}的枚举对象", enumType.Name, description));
            }

            return(found.EnumValue);
        }
        public List <ShowDSTargetCompleted> GetDSTargetCompleted(int Year, int Month, bool IsLatestVersion)
        {
            List <ShowDSTargetCompleted> showList = new List <ShowDSTargetCompleted>();
            C_System SystemModel = C_SystemOperator.Instance.GetSystem(SysDescriptionID);

            if (SystemModel != null)
            {
                List <C_Company> CompanyList = C_CompanyOperator.Instance.GetCompanyList(SystemModel.ID).ToList();
                //上一个月以及当前月的信息
                ReportInstance             LastMonthReport  = new ReportInstance();
                List <MonthlyReportDetail> LastMonthRptList = null;
                if (Month > 1)
                {
                    LastMonthReport  = new ReportInstance(SystemModel.ID, Year, Month - 1, IsLatestVersion);
                    LastMonthRptList = LastMonthReport.ReportDetails;
                }


                ReportInstance             CurrentMonthReport  = new ReportInstance(SystemModel.ID, Year, Month, IsLatestVersion);
                List <MonthlyReportDetail> CurrentMonthRptList = CurrentMonthReport.ReportDetails;
                List <C_Target>            TargetList          = new List <C_Target>();
                if (CurrentMonthRptList != null)
                {
                    TargetList = C_TargetOperator.Instance.GetTargetList(SystemModel.ID, CurrentMonthRptList[0].CreateTime).Where(t => t.NeedReport == true && t.TargetName != "总部管理费用").ToList();
                }
                else
                {
                    TargetList = C_TargetOperator.Instance.GetTargetList(SystemModel.ID, DateTime.Now).Where(t => t.NeedReport == true && t.TargetName != "总部管理费用").ToList();
                }
                #region 判断完成了几个指标

                List <DSTargetCompleted> list = new List <DSTargetCompleted>();
                foreach (C_Company c in CompanyList)
                {
                    int LastCompletedCount    = 0;
                    int CurCompletedCount     = 0;
                    int ToCurCompletedCount   = 0;
                    DSTargetCompleted DSmodel = new DSTargetCompleted();
                    DSmodel.CompanyName = c.CompanyName;
                    DSmodel.AreaName    = c.CompanyProperty3;
                    foreach (C_Target itemt in TargetList)
                    {
                        if (Month > 1)
                        {
                            //上一个月
                            MonthlyReportDetail LastDetailModel = GetMonthlyReportDetail(c, LastMonthRptList, CurrentMonthRptList, itemt, false);
                            if (LastDetailModel != null && LastDetailModel.ID != Guid.Empty)
                            {
                                if (LastDetailModel.IsMissTarget)
                                {
                                    LastCompletedCount++;
                                }
                            }
                        }
                        //当前月
                        MonthlyReportDetail CurDetailModel = GetMonthlyReportDetail(c, LastMonthRptList, CurrentMonthRptList, itemt, true);
                        if (CurDetailModel != null && CurDetailModel.ID != Guid.Empty)
                        {
                            if (CurDetailModel.IsMissTargetCurrent)
                            {
                                CurCompletedCount++;
                            }
                            if (CurDetailModel.IsMissTarget)
                            {
                                ToCurCompletedCount++;
                            }
                        }
                    }

                    DSmodel.LastCount      = LastCompletedCount;
                    DSmodel.CurrentCount   = CurCompletedCount;
                    DSmodel.ToCurrentCount = ToCurCompletedCount;

                    if (LastMonthRptList != null || CurrentMonthRptList.Count > 0)
                    {
                        list.Add(DSmodel);
                    }
                }
                //判断指标完成几个
                if (list.Count >= 0)
                {
                    List <DSTargetCompleted> NorthList  = list.Where(t => t.AreaName == "北区").ToList();
                    List <DSTargetCompleted> SouthList  = list.Where(t => t.AreaName == "南区").ToList();
                    List <DSTargetCompleted> CenterList = list.Where(t => t.AreaName == "中区").ToList();

                    //单双指标名称的枚举List
                    EnumItemDescriptionList enumList = EnumItemDescriptionAttribute.GetDescriptionList(typeof(DSProjectType));

                    for (int i = 0; i < enumList.Count; i++)
                    {
                        ShowDSTargetCompleted showModel = new ShowDSTargetCompleted();
                        showModel.PorjectName = EnumHelper.GetEnumDescription(typeof(DSProjectType), i);

                        if (Month > 1 && LastMonthRptList != null && LastMonthRptList.Count > 0)
                        {
                            showModel.LastNorth  = NorthList.Where(t => t.LastCount == i).ToList().Count;
                            showModel.LastCenter = CenterList.Where(t => t.LastCount == i).ToList().Count;
                            showModel.LastSouth  = SouthList.Where(t => t.LastCount == i).ToList().Count;
                            showModel.LastTotal  = showModel.LastNorth + showModel.LastCenter + showModel.LastSouth;
                        }
                        else
                        {
                            showModel.LastNorth  = 0;
                            showModel.LastCenter = 0;
                            showModel.LastSouth  = 0;
                            showModel.LastTotal  = 0;
                        }

                        if (CurrentMonthRptList.Count > 0)
                        {
                            showModel.CurrentNorth  = NorthList.Where(t => t.CurrentCount == i).ToList().Count;
                            showModel.CurrentCenter = CenterList.Where(t => t.CurrentCount == i).ToList().Count;
                            showModel.CurrentSouth  = SouthList.Where(t => t.CurrentCount == i).ToList().Count;
                            showModel.CurrentTotal  = showModel.CurrentNorth + showModel.CurrentCenter + showModel.CurrentSouth;

                            showModel.ToCurrentNorth  = NorthList.Where(t => t.ToCurrentCount == i).ToList().Count;
                            showModel.ToCurrentCenter = CenterList.Where(t => t.ToCurrentCount == i).ToList().Count;
                            showModel.ToCurrentSouth  = SouthList.Where(t => t.ToCurrentCount == i).ToList().Count;
                            showModel.ToCurrentTotal  = showModel.ToCurrentNorth + showModel.ToCurrentCenter + showModel.ToCurrentSouth;
                        }
                        else
                        {
                            showModel.CurrentNorth  = 0;
                            showModel.CurrentCenter = 0;
                            showModel.CurrentSouth  = 0;
                            showModel.CurrentTotal  = 0;

                            showModel.ToCurrentNorth  = 0;
                            showModel.ToCurrentCenter = 0;
                            showModel.ToCurrentSouth  = 0;
                            showModel.ToCurrentTotal  = 0;
                        }
                        showList.Add(showModel);
                    }
                }
                #endregion
                //合计
                ShowDSTargetCompleted hjshowModel = new ShowDSTargetCompleted();
                hjshowModel.PorjectName     = "合计";
                hjshowModel.LastNorth       = showList.Sum(t => t.LastNorth);
                hjshowModel.LastCenter      = showList.Sum(t => t.LastCenter);
                hjshowModel.LastSouth       = showList.Sum(t => t.LastSouth);
                hjshowModel.LastTotal       = showList.Sum(t => t.LastTotal);
                hjshowModel.CurrentNorth    = showList.Sum(t => t.CurrentNorth);
                hjshowModel.CurrentCenter   = showList.Sum(t => t.CurrentCenter);
                hjshowModel.CurrentSouth    = showList.Sum(t => t.CurrentSouth);
                hjshowModel.CurrentTotal    = showList.Sum(t => t.CurrentTotal);
                hjshowModel.ToCurrentNorth  = showList.Sum(t => t.ToCurrentNorth);
                hjshowModel.ToCurrentCenter = showList.Sum(t => t.ToCurrentCenter);
                hjshowModel.ToCurrentSouth  = showList.Sum(t => t.ToCurrentSouth);
                hjshowModel.ToCurrentTotal  = showList.Sum(t => t.ToCurrentTotal);
                showList.Add(hjshowModel);
                #region 判断哪个指标未完成
                List <DSTargetCompleted> MissTargetlist = new List <DSTargetCompleted>();
                foreach (C_Target itemt in TargetList.OrderBy(T => T.Sequence))
                {
                    #region//北区
                    List <int> NorthList = GetMissTargetCountList(CompanyList, LastMonthRptList, CurrentMonthRptList, itemt, "北区", Month);
                    #endregion

                    #region//中区
                    List <int> CenterList = GetMissTargetCountList(CompanyList, LastMonthRptList, CurrentMonthRptList, itemt, "中区", Month);
                    #endregion
                    #region//南区
                    List <int> SouthList = GetMissTargetCountList(CompanyList, LastMonthRptList, CurrentMonthRptList, itemt, "南区", Month);
                    #endregion


                    ShowDSTargetCompleted ShowDSmodel = new ShowDSTargetCompleted();
                    ShowDSmodel.PorjectName     = itemt.TargetName + "未完成门店数";
                    ShowDSmodel.LastNorth       = NorthList[0];
                    ShowDSmodel.LastCenter      = CenterList[0];;
                    ShowDSmodel.LastSouth       = SouthList[0];;
                    ShowDSmodel.LastTotal       = ShowDSmodel.LastNorth + ShowDSmodel.LastCenter + ShowDSmodel.LastSouth;
                    ShowDSmodel.CurrentNorth    = NorthList[1];
                    ShowDSmodel.CurrentCenter   = CenterList[1];
                    ShowDSmodel.CurrentSouth    = SouthList[1];
                    ShowDSmodel.CurrentTotal    = ShowDSmodel.CurrentNorth + ShowDSmodel.CurrentCenter + ShowDSmodel.CurrentSouth;
                    ShowDSmodel.ToCurrentNorth  = NorthList[2];
                    ShowDSmodel.ToCurrentCenter = CenterList[2];
                    ShowDSmodel.ToCurrentSouth  = SouthList[2];
                    ShowDSmodel.ToCurrentTotal  = ShowDSmodel.ToCurrentNorth + ShowDSmodel.ToCurrentCenter + ShowDSmodel.ToCurrentSouth;
                    showList.Add(ShowDSmodel);
                }
                #endregion
            }
            return(showList);
        }
        private static string[] GetIgnorPropertiesByEnum(int field, EnumItemDescriptionList despList)
        {
            List<string> result = new List<string>();

            foreach (EnumItemDescription desp in despList)
            {
                if ((field & desp.EnumValue) == 0)
                    result.Add(desp.Name);
            }

            return result.ToArray();
        }