コード例 #1
0
ファイル: BoxHelper.cs プロジェクト: vanloc0301/mychongchong
 public static void Delegate(IWfBox box, IWfDialog wfDlg)
 {
     IDictionary<string, WorkItem> workItems = null;
     WorkItem firstSelectedWorkItem = null;
     try
     {
         DataRowView[] selectedRows = GetSelectedRows(box.DataSource as DataView);
         workItems = GetWorkItems(box, selectedRows);
         firstSelectedWorkItem = GetFirstSelectedWorkItem(box);
     }
     catch (NotSelectException)
     {
     }
     wfDlg.WorkItem = firstSelectedWorkItem;
     if (wfDlg.ShowDialog() == DialogResult.OK)
     {
         WfLogicalAbnormalContextData contextData = new WfLogicalAbnormalContextData();
         wfDlg.SetContextData(contextData);
         WfUtil.SetAbnormalContextData(contextData);
         WorkflowService.WfcInstance.Delegate(workItems);
         box.RefreshData();
         WfUtil.FreeAbnormalContextData();
         if (firstSelectedWorkItem == null)
         {
             WorkflowService.IsMyAllDelegated = true;
         }
     }
 }
コード例 #2
0
ファイル: BoxHelper.cs プロジェクト: vanloc0301/mychongchong
 public static void AddDataTable(IWfBox box, DataTable table)
 {
     table.TableName = box.BoxName;
     AddTable(ref table);
     DataView defaultView = table.DefaultView;
     WfViewHelper.DataViewChanged(defaultView, null);
     defaultView.ListChanged += new ListChangedEventHandler(WfViewHelper.DataViewChanged);
 }
コード例 #3
0
 private void AcceptAndOpenView(IWfBox box, IWfView view, DataRowView row, int index)
 {
     int[] numArray;
     WorkItem workItem = BoxHelper.GetWorkItem(row, box);
     if (this.accept)
     {
         WorkflowService.DelegateEvent(workItem, new WfClientAPIHandler(WorkflowService.WfcInstance.Accept));
     }
     DataRowView[] navigationDataRowViews = BoxHelper.GetNavigationDataRowViews(row, index, out numArray);
     WfViewHelper.OpenView(view, workItem, row, navigationDataRowViews, numArray, this.CanEdit);
 }
コード例 #4
0
 protected void Run(IWfBox box, int index)
 {
     AbstractBoxCommand.WaitDialogHelper.Show();
     try
     {
         DataRowView dataRowView = BoxHelper.GetDataRowView(box, index);
         WfView view = new WfView();
         view.WfBox = box;
         view.Navigate += new WfViewNavigationHandle(this.OpenView);
         this.OpenView(box, view, dataRowView, this.Index);
     }
     finally
     {
         AbstractBoxCommand.WaitDialogHelper.Close();
     }
 }
コード例 #5
0
 protected virtual void OpenView(IWfBox box, IWfView view, DataRowView row, int index)
 {
     WfViewHelper.OpenView(box, view, row, index, this.CanEdit);
 }
コード例 #6
0
ファイル: BoxHelper.cs プロジェクト: vanloc0301/mychongchong
 public static void DelegateEvent(IWfBox box, DataRowView row, WfClientAPIHandler handle)
 {
     WorkItem workItem = GetWorkItem(row, box);
     Dictionary<string, WorkItem> workItems = new Dictionary<string, WorkItem>(1);
     workItems.Add(workItem.Id, workItem);
     handle(workItems);
     if (row.Row.RowState != DataRowState.Deleted)
     {
         row.Delete();
     }
 }
コード例 #7
0
ファイル: BoxHelper.cs プロジェクト: vanloc0301/mychongchong
 private static IDictionary<string, WorkItem> GetWorkItems(IWfBox box, DataRowView[] rows)
 {
     IDictionary<string, WorkItem> dictionary = new Dictionary<string, WorkItem>();
     foreach (DataRowView view in rows)
     {
         WorkItem workItem = GetWorkItem(view, box);
         dictionary.Add(workItem.Id, workItem);
     }
     return dictionary;
 }
コード例 #8
0
ファイル: BoxHelper.cs プロジェクト: vanloc0301/mychongchong
 public static void CreateProcessAndAccept(IWfBox box, Prodef prodef, int num)
 {
     string id = prodef.Id;
     WorkflowService.WfcInstance.CreateWfProcessAndAccept(id, num);
 }
コード例 #9
0
ファイル: BoxHelper.cs プロジェクト: vanloc0301/mychongchong
 private static WorkItem GetFirstSelectedWorkItem(IWfBox box)
 {
     int firstSelectedIndex = GetFirstSelectedIndex(box);
     return GetWorkItem(GetDataRowView(box, firstSelectedIndex), box);
 }
コード例 #10
0
ファイル: BoxHelper.cs プロジェクト: vanloc0301/mychongchong
 public static void PassToNext(IWfBox box, IWfDialog wfDlg)
 {
     DataRowView[] selectedRows = GetSelectedRows(box.DataSource as DataView);
     if (LoggingService.IsInfoEnabled)
     {
         LoggingService.InfoFormatted("选中了{0}件可转出的业务", new object[] { selectedRows.Length });
     }
     PassToNext(GetWorkItems(box, selectedRows), selectedRows, wfDlg);
 }
コード例 #11
0
ファイル: BoxHelper.cs プロジェクト: vanloc0301/mychongchong
 public static void DelegateEvent(IWfBox box, IWfDialog wfDlg, WfClientAPIHandler handle, string[] batchField)
 {
     try
     {
         DataRowView[] selectedRows = GetSelectedRows(box.DataSource as DataView, batchField);
         IDictionary<string, WorkItem> workItems = GetWorkItems(box, selectedRows);
         IEnumerator<KeyValuePair<string, WorkItem>> enumerator = workItems.GetEnumerator();
         enumerator.MoveNext();
         KeyValuePair<string, WorkItem> current = enumerator.Current;
         wfDlg.WorkItem = current.Value;
         if (wfDlg.ShowDialog() == DialogResult.OK)
         {
             WfLogicalAbnormalContextData contextData = new WfLogicalAbnormalContextData();
             wfDlg.SetContextData(contextData);
             WfUtil.SetAbnormalContextData(contextData);
             DelegateEvent(selectedRows, workItems, handle);
             WfUtil.FreeAbnormalContextData();
         }
     }
     finally
     {
         wfDlg.Close();
     }
 }
コード例 #12
0
 private static void DelegateEvent(IWfBox box, DataRow row, WfClientAPIHandler handle, string idField)
 {
     WorkItem workItem = GetWorkItem(row, idField);
     Dictionary<string, WorkItem> workItems = new Dictionary<string, WorkItem>(1);
     workItems.Add(workItem.Id, workItem);
     handle(workItems);
     box.DeleteRows(new DataRow[] { row });
 }
コード例 #13
0
 public static void DelegateEvent(IWfBox box, WfClientAPIHandler handle, string[] batchField)
 {
     DataRow[] selectedRows = box.GetSelectedRows(batchField);
     if (selectedRows.Length > 0)
     {
         IDictionary<string, WorkItem> workItems = GetWorkItems(selectedRows, box.IdField);
         DelegateEvent(box, selectedRows, workItems, handle);
     }
 }
コード例 #14
0
ファイル: BoxHelper.cs プロジェクト: vanloc0301/mychongchong
 public static int GetFirstSelectedIndex(IWfBox box)
 {
     DataView dataSource = (DataView) box.DataSource;
     DataRowView view2 = null;
     for (int i = 0; i < dataSource.Count; i++)
     {
         view2 = dataSource[i];
         if (view2["sel"].ToString().Equals("True"))
         {
             return i;
         }
     }
     throw new NotSelectException();
 }
コード例 #15
0
ファイル: BoxHelper.cs プロジェクト: vanloc0301/mychongchong
 public static DataRowView GetDataRowView(IWfBox box, int index)
 {
     DataView dataSource = box.DataSource as DataView;
     if ((index > -1) && (index < dataSource.Count))
     {
         return GetDataRowView(dataSource, index);
     }
     return null;
 }
コード例 #16
0
ファイル: BoxHelper.cs プロジェクト: vanloc0301/mychongchong
 public static DataView GetData(IWfBox box, string nameSpace, string queryName, string[] vals)
 {
     DataTable rs = null;
     if (string.IsNullOrEmpty(nameSpace))
     {
         rs = WorkflowService.GetRs(box.QueryName, vals);
     }
     else
     {
         rs = WorkflowService.GetRs(nameSpace, queryName, vals);
     }
     rs.AcceptChanges();
     AddDataTable(box, rs);
     return rs.DefaultView;
 }
コード例 #17
0
ファイル: BoxHelper.cs プロジェクト: vanloc0301/mychongchong
 public static DataView GetData(IWfBox box, string[] vals)
 {
     return GetData(box, box.DAONameSpace, box.QueryName, vals);
 }
コード例 #18
0
ファイル: BoxHelper.cs プロジェクト: vanloc0301/mychongchong
 public static DataView GetData(IWfBox box)
 {
     string[] queryParameters = GetQueryParameters(box.QueryParameters);
     return GetData(box, queryParameters);
 }
コード例 #19
0
ファイル: BoxHelper.cs プロジェクト: vanloc0301/mychongchong
 public static void DelegateEvent(IWfBox box, WfClientAPIHandler handle, string[] batchField)
 {
     DataRowView[] selectedRows = GetSelectedRows(box.DataSource as DataView, batchField);
     IDictionary<string, WorkItem> workItems = GetWorkItems(box, selectedRows);
     DelegateEvent(selectedRows, workItems, handle);
 }
コード例 #20
0
 public static void DelegateEvent(IWfBox box, WfClientAPIHandler handle)
 {
     DelegateEvent(box, handle, null);
 }
コード例 #21
0
ファイル: BoxHelper.cs プロジェクト: vanloc0301/mychongchong
 public static void DelegateEvent(IWfBox box, IWfDialog wfDlg, WfClientAPIHandler handle)
 {
     DelegateEvent(box, wfDlg, handle, null);
 }
コード例 #22
0
 public static DataTable GetBoxItems(IWfBox box)
 {
     string[] queryParameterValues = GetQueryParameterValues(box.QueryParameters);
     DataTable rs = GetRs(box.QueryName, queryParameterValues);
     rs.Columns.Add("sel", typeof(bool));
     return rs;
 }
コード例 #23
0
ファイル: BoxHelper.cs プロジェクト: vanloc0301/mychongchong
 public static WorkItem GetWorkItem(DataRowView row, IWfBox box)
 {
     WorkItem item = new WorkItem();
     item.ActdefId = GetColumnValue("ACTDEF_ID", row);
     item.ProinstId = GetColumnValue("PROINST_ID", row);
     item.ProinstName = GetColumnValue("PROINST_NAME", row);
     item.ActinstId = GetColumnValue("ACTINST_ID", row);
     item.ActinstName = GetColumnValue("ACTINST_NAME", row);
     item.AssignId = GetColumnValue("ASSIGN_ID", row);
     item.AbnormalAuditId = GetColumnValue("ABNORMALAUDIT_ID", row);
     item.ProjectId = GetColumnValue("PROJECT_ID", row);
     item.ProdefId = GetColumnValue("PRODEF_ID", row);
     if (box != null)
     {
         item.Id = GetColumnValue(box.IdField, row);
     }
     return item;
 }
コード例 #24
0
 private static void DelegateEvent(IWfBox box, DataRow[] rows, IDictionary<string, WorkItem> workItems, WfClientAPIHandler handle)
 {
     handle(workItems);
     box.DeleteRows(rows);
 }
コード例 #25
0
ファイル: BoxHelper.cs プロジェクト: vanloc0301/mychongchong
 public static bool IsSelected(IWfBox box)
 {
     DataView dataSource = (DataView) box.DataSource;
     DataRowView view2 = null;
     for (int i = 0; i < dataSource.Count; i++)
     {
         view2 = dataSource[i];
         if (view2["sel"].ToString().Equals("True"))
         {
             return true;
         }
     }
     return false;
 }