Beispiel #1
0
        private void BindDataGrid(bool dataBind)
        {
            grdMain.SearchKeyword = tbSearchString.Text.Trim();

            DataTable dt = ((DataTable)ViewState["Resources"]).Copy();
            FilterElementCollection fec = new FilterElementCollection();

            foreach (DataRow dr in dt.Rows)
            {
                string[] elem = dr["Id"].ToString().Split(new string[] { "::" }, StringSplitOptions.RemoveEmptyEntries);
                if (elem[1] != "0")
                {
                    MetaClass mcEl = MetaDataWrapper.GetMetaClassByName(elem[1]);
                    if (mcEl.IsCard)
                    {
                        elem[1] = mcEl.CardOwner.Name;
                    }
                }
                if (elem[1] == ddFilter.SelectedValue)
                {
                    MetaClass     mc = MetaDataWrapper.GetMetaClassByName(ddFilter.SelectedValue);
                    FilterElement fe = FilterElement.NotEqualElement(
                        SqlContext.Current.Database.Tables[mc.DataSource.PrimaryTable].PrimaryKey.Name,
                        PrimaryKeyId.Parse(elem[0]));
                    fec.Add(fe);
                }
            }
            grdMain.AddFilters = fec;

            if (dataBind)
            {
                grdMain.DataBind();
            }
        }
        /// <summary>
        /// Cancels all assignments.
        /// </summary>
        /// <param name="wf">The wf.</param>
        private static void CancelAllAssignments(WorkflowInstanceEntity wf)
        {
            foreach (AssignmentEntity assignment in BusinessManager.List(AssignmentEntity.ClassName, new FilterElement[]
            {
                FilterElement.NotEqualElement(AssignmentEntity.FieldState, (int)AssignmentState.Closed),
                FilterElement.EqualElement(AssignmentEntity.FieldWorkflowInstanceId, wf.PrimaryKeyId.Value)
            }))
            {
                assignment.State           = (int)AssignmentState.Closed;
                assignment.ExecutionResult = (int)AssignmentExecutionResult.Canceled;

                BusinessManager.Update(assignment);
            }
        }