示例#1
0
        public static void DropDownListDataBindByEnum(DropDownList ddl, Type enumType, string defaultValue, bool includeAll, bool isUseValue)
        {
            if (enumType.IsEnum)
            {
                ddl.Items.Clear();

                if (includeAll)
                {
                    ddl.Items.Add(new ListItem("--请选择--", string.Empty));
                }

                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;
                    if (item.Value == defaultValue)
                    {
                        item.Selected = true;
                    }
                    ddl.Items.Add(item);
                }
            }
        }
示例#2
0
        private string GetStatusText(WfProcessCurrentInfo atp, UserIMAddressCollection extendInfo)
        {
            string result = DefaultStatusText;

            switch (DisplayMode)
            {
            case WfStatusDisplayMode.ProcessStatus:
                result = HttpUtility.HtmlEncode(EnumItemDescriptionAttribute.GetDescription(atp.Status));
                break;

            case WfStatusDisplayMode.CurrentUsers:
                if (EnableUserPresence == false)
                {
                    result = GetAllAssigneesStatusHtmlWithoutPresence(atp);
                }
                else
                {
                    result = GetAllAssigneesStatusHtmlWithPresence(atp, IsHtmlRender, extendInfo, this.ClientID);
                }

                break;
            }

            return(result);
        }
示例#3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            WfExternalUser extUser = new WfExternalUser();

            hiddenExtUserTemplate.Value = JSONSerializerExecute.Serialize(extUser);
            BindList(ddlGender, EnumItemDescriptionAttribute.GetDescriptionList(typeof(MCS.Library.SOA.DataObjects.Gender)));
        }
示例#4
0
        public static void DropDownListDataBindByEnum(DropDownList ddl, Type enumType, int defaultValue, bool includeSelectionToolTip, bool equalsEnumName)
        {
            if (enumType.IsEnum)
            {
                ddl.Items.Clear();
                if (includeSelectionToolTip)
                {
                    ddl.Items.Add(new ListItem("----请选择----", string.Empty));
                }

                bool   existSelectedItem  = false;
                string destnationEnumName = Enum.GetName(enumType, defaultValue);

                EnumItemDescriptionList list = EnumItemDescriptionAttribute.GetDescriptionList(enumType);
                foreach (EnumItemDescription desc in list)
                {
                    ListItem item     = new ListItem();
                    String   descName = desc.Description;
                    item.Text = descName;
                    int descValue = desc.EnumValue;
                    item.Value = descValue.ToString();
                    if (!existSelectedItem)
                    {
                        existSelectedItem = item.Selected = (
                            (equalsEnumName && descName == destnationEnumName) ||
                            (!equalsEnumName && descValue == defaultValue)
                            );
                    }

                    ddl.Items.Add(item);
                }
            }
        }
        protected override void OnPrepareUserOperationLog(WfExecutorDataContext dataContext)
        {
            if (OperatorActivity != null)
            {
                UserOperationLog log = UserOperationLog.FromActivity(OperatorActivity);

                log.OperationType = DataObjects.OperationType.Update;
                log.OperationName = EnumItemDescriptionAttribute.GetDescription(this.OperationType);

                dataContext.OperationLogs.Add(log);
            }

            FirePrepareUserOperationLog(dataContext, dataContext.OperationLogs);

            foreach (UserOperationLog log in dataContext.OperationLogs)
            {
                if (log.RealUser != null && string.IsNullOrEmpty(log.OperationDescription))
                {
                    string originalUserName = UsersToString(this.OriginalAssignees);

                    log.OperationDescription = string.Format("{0}:{1}->{2}>>'{3}' {4:yyyy-MM-dd HH:mm:ss}",
                                                             log.OperationName, log.RealUser.DisplayName, originalUserName, this.TargetAssigneesToString(), SNTPClient.AdjustedTime);
                }
            }
        }
示例#6
0
        private string GetStatisticsText()
        {
            StringBuilder strB = new StringBuilder();

            if (this.ActivityID.IsNotEmpty())
            {
                Dictionary <WfProcessStatus, int> statData = this.StatisticsData;

                int total = 0;
                foreach (KeyValuePair <WfProcessStatus, int> kp in statData)
                {
                    total += kp.Value;
                }

                strB.AppendFormat("总共{0}条流程", total);

                EnumItemDescriptionList statusList = EnumItemDescriptionAttribute.GetDescriptionList(typeof(WfProcessStatus));

                foreach (EnumItemDescription item in statusList)
                {
                    int count = 0;

                    if (statData.TryGetValue((WfProcessStatus)item.EnumValue, out count))
                    {
                        strB.AppendFormat(", {0}{1}条", item.Description, count);
                    }
                }
            }

            return(strB.ToString());
        }
示例#7
0
        public void EnumExtension_GetDescriptionAttribute()
        {
            TestEnum val = TestEnum.ValueWithAttribute;
            EnumItemDescriptionAttribute actual = EnumExtensions.GetDescriptionAttribute(val);

            Assert.IsNotNull(actual);
        }
示例#8
0
        private static void AdaptProcessProperties(IWfProcess procInstance, WorkflowInfo targetDTO, bool isMainStream)
        {
            targetDTO.Key = procInstance.ID;

            targetDTO.Name      = procInstance.RuntimeProcessName;
            targetDTO.UpdateTag = procInstance.UpdateTag;

            IWfProcessDescriptor instanceDesc = GetProcessDescriptor(procInstance, isMainStream);

            if (targetDTO.Name.IsNullOrEmpty())
            {
                targetDTO.Name = instanceDesc.Name;
            }

            targetDTO.GraphDescription   = instanceDesc.GraphDescription;
            targetDTO.ApplicationName    = instanceDesc.ApplicationName;
            targetDTO.ProgramName        = instanceDesc.ProgramName;
            targetDTO.ResourceID         = procInstance.ResourceID;
            targetDTO.Status             = EnumItemDescriptionAttribute.GetDescription(procInstance.Status);
            targetDTO.StartTime          = procInstance.StartTime;
            targetDTO.EndTime            = procInstance.EndTime;
            targetDTO.Creator            = (procInstance.Creator == null ? "" : procInstance.Creator.Name);
            targetDTO.OwnerDepartment    = (procInstance.OwnerDepartment == null ? string.Empty : procInstance.OwnerDepartment.Name);
            targetDTO.CurrentActivityKey = (procInstance.CurrentActivity == null ? string.Empty : procInstance.CurrentActivity.Descriptor.Key);
        }
        /// <summary>
        /// 检查数据的状态
        /// </summary>
        /// <param name="objsToCheck"></param>
        protected void CheckObjectStatus(params DEEntityInstanceBase[] objsToCheck)
        {
            List <DEEntityInstanceBase> normalizedObjsToCheck = new List <DEEntityInstanceBase>();

            InSqlClauseBuilder idBuilder = new InSqlClauseBuilder("ID");

            normalizedObjsToCheck.ForEach(o => idBuilder.AppendItem(o.ID));

            if (idBuilder.IsEmpty == false)
            {
                DEEntityInstanceBaseCollection originalDataList = DEInstanceAdapter.Instance.Load(idBuilder);

                string opName = EnumItemDescriptionAttribute.GetDescription(this.OperationType);

                foreach (DEEntityInstanceBase objToCheck in normalizedObjsToCheck)
                {
                    if (originalDataList.ContainsKey(objToCheck.ID) == false)
                    {
                        throw new DEStatusCheckException(string.Format("ID为\"{0}\"的对象不存在,不能执行{1}操作", objToCheck.ID, opName));
                    }

                    DEEntityInstanceBase originalData = originalDataList[objToCheck.ID];

                    if (originalData.Status != SchemaObjectStatus.Normal)
                    {
                        throw new DEStatusCheckException(string.Format("ID为\"{0}\"动态实体对象状态不正常,不能执行{1}操作", objToCheck.ID, opName));
                    }
                }
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            WfConverterHelper.RegisterConverters();

            WfServiceOperationDefinition svcOpDef = new WfServiceOperationDefinition();

            hiddenSvcOperationTemplate.Value = JSONSerializerExecute.Serialize(svcOpDef);

            var dataTypeList = EnumItemDescriptionAttribute.GetDescriptionList(typeof(WfSvcOperationParameterType));

            dataTypeDropDownList.DataSource    = dataTypeList;
            dataTypeDropDownList.DataTextField = "Name";

            dataTypeDropDownList.DataValueField = "EnumValue";
            dataTypeDropDownList.DataBind();

            if (Request["hasRtn"] == "false")
            {
                this.trRtn.Style["display"] = "none";
            }

            if (!string.IsNullOrEmpty(Request["initPara"]))
            {
                var initData = new WfServiceOperationParameterCollection();
                initData.Add(new WfServiceOperationParameter()
                {
                    Name  = Request["initPara"],
                    Type  = WfSvcOperationParameterType.RuntimeParameter,
                    Value = ""
                });
                detailGrid.InitialData = initData;
            }
        }
示例#11
0
        public static EnumTypePropertyDescription FromEnumTypeName(string enumTypeName)
        {
            enumTypeName.CheckStringIsNullOrEmpty("enumTypeName");

            Type type = Type.GetType(enumTypeName);

            EnumTypePropertyDescription result = null;

            if (type != null)
            {
                EnumItemDescriptionList itemDespList = EnumItemDescriptionAttribute.GetDescriptionList(type);

                result = new EnumTypePropertyDescription();

                result.EnumTypeName = enumTypeName;

                foreach (EnumItemDescription itemDesp in itemDespList)
                {
                    EnumItemPropertyDescription eipd = new EnumItemPropertyDescription();

                    eipd.Value = itemDesp.ShortName.IsNotEmpty() ? itemDesp.ShortName : itemDesp.EnumValue.ToString();
                    eipd.Text  = itemDesp.Description.IsNotEmpty() ? itemDesp.Description : itemDesp.Name;

                    result.Items.Add(eipd);
                }
            }

            return(result);
        }
        public void EnumItemDescriptionAttribute_caption()
        {
            string caption = "fake caption";
            EnumItemDescriptionAttribute target = this.CreateMock(caption);

            Assert.AreEqual <string>(caption, target.Caption);
        }
示例#13
0
        private static string GetUserTaskSelectFields(UserTaskFieldDefine returnFields)
        {
            ORMappingItemCollection mappings = ORMapping.GetMappingInfo <UserTask>();

            StringBuilder strB = new StringBuilder();

            if (returnFields != UserTaskFieldDefine.All)
            {
                foreach (EnumItemDescription desp in EnumItemDescriptionAttribute.GetDescriptionList(typeof(UserTaskFieldDefine)))
                {
                    UserTaskFieldDefine enumItem = (UserTaskFieldDefine)desp.EnumValue;

                    if ((enumItem & returnFields) != UserTaskFieldDefine.None)
                    {
                        ORMappingItem mappingItem = GetMappingFromPropertyName(enumItem.ToString(), mappings);

                        if (mappingItem != null)
                        {
                            if (strB.Length > 0)
                            {
                                strB.Append(", ");
                            }

                            strB.Append(mappingItem.DataFieldName);
                        }
                    }
                }
            }
            else
            {
                strB.Append("*");
            }

            return(strB.ToString());
        }
示例#14
0
        private void RefreshKeys()
        {
            this.dataSource.Clear();

            if (this.enumType == null)
            {
                throw new HttpException("未能初始化枚举类型。要初始化,请设置EnumTypeName属性,或者将枚举值绑定到列。");
            }

            if (this.UseNameAsValue)
            {
                foreach (string name in this.enumType.GetEnumNames())
                {
                    object en = Enum.Parse(this.enumType, name);
                    this.dataSource.Add(new EnumItem(name, EnumItemDescriptionAttribute.GetDescription((Enum)en)));
                }
            }
            else
            {
                foreach (object val in this.enumType.GetEnumValues())
                {
                    this.dataSource.Add(new EnumItem(((int)val).ToString(), EnumItemDescriptionAttribute.GetDescription((Enum)val)));
                }
            }
        }
        public void EnumItemDescriptionAttribute_Index()
        {
            EnumItemDescriptionAttribute target = this.CreateMock("fake caption");
            int actual = target.Index;

            Assert.AreEqual <int>(-1, actual);
        }
示例#16
0
        /// <summary>
        /// 格式化全文检索字符串。默认按照SQL Server的规则,消除双引号。并且将空格替换成逻辑运算符
        /// </summary>
        /// <param name="logicOp">逻辑运算符,默认是AND</param>
        /// <param name="searchText"></param>
        /// <returns></returns>
        public string FormatFullTextString(LogicOperatorDefine logicOp, string searchText)
        {
            StringBuilder result = new StringBuilder();

            string[] parts = null;

            if (searchText.IsNotEmpty())
            {
                searchText = searchText.Replace("\"", "");
                parts      = searchText.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            }
            else
            {
                parts = new string[0];
            }

            string op = EnumItemDescriptionAttribute.GetAttribute(logicOp).ShortName;

            foreach (string part in parts)
            {
                if (result.Length > 0)
                {
                    result.AppendFormat(" {0} ", op);
                }

                result.AppendFormat("\"{0}\"", part);
            }

            return(result.ToString());
        }
        public void EnumItemDescriptionAttribute_ctor_caption()
        {
            string caption = "fake caption";
            EnumItemDescriptionAttribute target = this.CreateMock(caption);

            Assert.IsNotNull(target);
        }
示例#18
0
        /// <summary>
        /// 根据模式类型,查询ID类型和ID和时间点检索对象
        /// </summary>
        /// <param name="schemaType">表示模式类型的字符串</param>
        /// <param name="idType">表示ID类型的<see cref="SnapshotQueryIDType"/>值之一</param>
        /// <param name="id">对象的ID</param>
        /// <param name="timePoint"></param>
        /// <returns></returns>
        public SchemaObjectBase LoadByID(string schemaType, SnapshotQueryIDType idType, string id, DateTime timePoint)
        {
            schemaType.CheckStringIsNullOrEmpty("schemaType");
            id.CheckStringIsNullOrEmpty("id");

            SchemaDefine schema = SchemaDefine.GetSchema(schemaType);

            var timeConditon = VersionStrategyQuerySqlBuilder.Instance.TimePointToBuilder(timePoint, "SN.");

            WhereSqlClauseBuilder whereBuilder = new WhereSqlClauseBuilder();

            EnumItemDescriptionAttribute attr = EnumItemDescriptionAttribute.GetAttribute(idType);

            whereBuilder.AppendItem("SN." + attr.ShortName, id);

            string sql = string.Format("SELECT SO.* FROM SC.SchemaObject SO INNER JOIN {0} SN ON SO.ID = SN.ID WHERE {1}",
                                       schema.SnapshotTable, new ConnectiveSqlClauseCollection(whereBuilder, timeConditon).ToSqlString(TSqlBuilder.Instance));

            DataTable table = DbHelper.RunSqlReturnDS(sql, this.GetConnectionName()).Tables[0];

            SchemaObjectBase result = null;

            if (table.Rows.Count > 0)
            {
                result = SchemaExtensions.CreateObject(schemaType);

                result.FromString((string)table.Rows[0]["Data"]);
                ORMapping.DataRowToObject(table.Rows[0], result);
            }

            return(result);
        }
示例#19
0
        public object Execute()
        {
            object result = null;

            ExecutionWrapper(EnumItemDescriptionAttribute.GetDescription(OperationType), () => { result = InternalExecute(); });

            return(result);
        }
示例#20
0
        protected void Page_Load(object sender, EventArgs e)
        {
            hiddenEnumGenderList.Value = JSONSerializerExecute.Serialize(EnumItemDescriptionAttribute.GetDescriptionList(typeof(MCS.Library.SOA.DataObjects.Gender)));

            //WfUserResourceDescriptor wfUserResDesc = new WfUserResourceDescriptor();
            //hiddenWfUserDescTemplate.Value = JSONSerializerExecute.Serialize(wfUserResDesc);
            WebUtility.RequiredScript(typeof(ClientGrid));
        }
示例#21
0
        public void EnumBinder_enumItemDescriptionAttribute_object_ctor_index()
        {
            var attribute = new EnumItemDescriptionAttribute("item description", 10);
            var value = TestEnum.Value2;
            var target = new EnumBinder<TestEnum>(attribute, value);

            Assert.AreEqual<int>(attribute.Index, target.Index);
        }
示例#22
0
        public void EnumBinder_enumItemDescriptionAttribute_object_ctor_value()
        {
            EnumItemDescriptionAttribute attribute = new EnumItemDescriptionAttribute("item description");
            var value = TestEnum.Value2;
            var target = new EnumBinder<TestEnum>(attribute, value);

            Assert.AreEqual<Object>(value, target.Value);
        }
示例#23
0
        public void EnumBinder_enumItemDescriptionAttribute_object_ctor()
        {
            EnumItemDescriptionAttribute attribute = new EnumItemDescriptionAttribute("");
            var value = TestEnum.Value2;
            var target = new EnumBinder<TestEnum>(attribute, value);

            Assert.IsNotNull(target);
        }
        public void EnumItemDescriptionAttribute_valid_index()
        {
            string expectedcaption = "fake caption";
            int    expectedIndex   = 0;
            EnumItemDescriptionAttribute target = this.CreateMock(expectedcaption, expectedIndex);

            Assert.AreEqual <int>(expectedIndex, target.Index);
        }
        protected override string GetOperationDescription()
        {
            string opDesp = EnumItemDescriptionAttribute.GetDescription(OperationType);

            string entityDesp = string.Format("在事件{0}中删除频道{1}", this.EventID, this.GetChannelIDsDescription());

            return(string.Format("{0}-{1}", opDesp, entityDesp));
        }
示例#26
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         //绑定字段类型
         this.ddl_FieldType.BindData(EnumItemDescriptionAttribute.GetDescriptionList(typeof(FieldTypeEnum)), "EnumValue", "Description");
     }
 }
示例#27
0
        private static void BindProcessStatus(ListControl control)
        {
            EnumItemDescriptionList statusDesp = EnumItemDescriptionAttribute.GetDescriptionList(typeof(WfProcessStatus));

            List <EnumItemDescription> list = statusDesp.ToList();

            control.BindData(list, "Name", "Description");
            control.Items.Insert(0, new ListItem(Translator.Translate("Workflow", "全部"), string.Empty));
        }
示例#28
0
        private static UpdateSqlClauseBuilder GetUpdateSqlClauseBuilderByUserTask(UserTask task, UserTaskFieldDefine fields)
        {
            string[] ignoredProperties =
                GetIgnorPropertiesByEnum((int)fields, EnumItemDescriptionAttribute.GetDescriptionList(typeof(UserTaskFieldDefine)));

            UpdateSqlClauseBuilder uBuilder = ORMapping.GetUpdateSqlClauseBuilder <UserTask>(task, ignoredProperties);

            return(uBuilder.AppendTenantCode());
        }
示例#29
0
        private void CheckSupervisorPermissions(SCOperationType opType)
        {
            if (NeedCheckPermissionAndCurrentUserIsNotSupervisor)
            {
                string opDesp = EnumItemDescriptionAttribute.GetDescription(opType);

                throw new SCAclPermissionCheckException(string.Format("您不是超级管理员,不能执行\"{0}\"操作", opDesp));
            }
        }
示例#30
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //给流程中变量描述赋值
            string guid = Guid.NewGuid().ToString();
            WfVariableDescriptor variDesc = new WfVariableDescriptor();

            hiddenVariableTemplate.Value = JSONSerializerExecute.Serialize(variDesc);
            BindList(ddlVariableDatatype, EnumItemDescriptionAttribute.GetDescriptionList(typeof(MCS.Library.SOA.DataObjects.Workflow.DataType)));
        }