private void btnSave_Click(object sender, EventArgs e) { bool Error = false; if (chbUsers.CheckedItems.Count == 0) { return; } if (chbUsers.CheckedItems.Count > 1) { if (JMessages.Warning("تعداد " + chbUsers.CheckedItems.Count.ToString() + " نفر جهت ارجاع انتخاب شده است. آیا مطمئن هستید؟", "ارجاع به چند نفر") != DialogResult.OK) { return; } } List <string> Recivers = new List <string>(); for (int i = 0; i < chbUsers.CheckedItems.Count; i++) { Recivers.AddRange((chbUsers.CheckedItems[i] as JKeyValue).Value.ToString().Split(';')); } JDataBase db = new JDataBase(); try { foreach (string Reciver in Recivers) { int d; if (int.TryParse(Reciver, out d)) { Employment.JEOrganizationChart jeoc = new Employment.JEOrganizationChart(d); Automation.JARefer tmprefer = new Automation.JARefer(); tmprefer.send_date_time = JDateTime.Now(); tmprefer.sender_code = JMainFrame.CurrentUserCode; tmprefer.sender_full_title = JMainFrame.CurrentPostTitle; tmprefer.sender_post_code = JMainFrame.CurrentPostCode; tmprefer.receiver_code = Convert.ToInt32(jeoc.user_code); tmprefer.receiver_full_title = jeoc.full_Name; tmprefer.receiver_post_code = d; tmprefer.register_user_code = JMainFrame.CurrentUserCode; tmprefer.register_Date_Time = JDateTime.Now(); tmprefer.status = ClassLibrary.Domains.JAutomation.JReferStatus.Current; tmprefer.is_active = true; tmprefer.ReferGroup = 1; tmprefer.parent_code = _ParentRefer; tmprefer.description = txtComment.Text; tmprefer.WorkFlowCode = ((JWorkFlow)cmbNextNodes.SelectedItem).Code; tmprefer.object_code = tmprefer.SendToAutomation(_ObjectCode, "", _title, _ClassName, _DynamicClassName, db, JMainFrame.CurrentPostTitle, JMainFrame.CurrentPostCode, JMainFrame.CurrentUserCode, false); if (tmprefer.Send(db, true) > 0) { ((JWorkFlow)cmbNextNodes.SelectedItem).RUNSQL(); ((JWorkFlow)cmbNextNodes.SelectedItem).RUNACTION(); _ReferCode = tmprefer.Code; if (_ParentRefer > 0) { jArchiveList1.ObjectCode = _ParentRefer; jArchiveList1.ArchiveList(); } } else { Error = true; JMessages.Error("اتوماسیون با خطا مواجه شد.", "اتوماسیون"); } } } if (!Error) { JMessages.Information("با موفقیت ارجاع داده شد.", "اتوماسیون"); this.Close(); DialogResult = DialogResult.OK; this.Close(); } } finally { db.Dispose(); } }
public DataTable GetPosts() { int CurrentPostCode = 0; if (ReferCode == 0 && _PublicDataRow.Columns.IndexOf("PostCode") != -1 && _PublicDataRow.Rows.Count > 0) { CurrentPostCode = int.Parse(_PublicDataRow.Rows[0]["PostCode"].ToString()); } else { CurrentPostCode = ClassLibrary.JMainFrame.CurrentPostCode; } Employment.JEOrganizationChart OC = new Employment.JEOrganizationChart(); switch (NodeType) { case JNodeType.Employment: DataTable DT = Employment.JEOrganizationChart.GetPost(GetPostCode(PostCode), false); JDataTable _DT = new JDataTable(); _DT.Columns.Add("Job"); _DT.Columns.Add("Code"); _DT.Columns.Add("Full_Title"); _DT.Columns.Add("Ordered"); DataRow _DR = _DT.NewRow(); string Semi = ""; foreach (DataRow DR in DT.Rows) { _DR["Job"] += Semi + DR["Job"].ToString(); _DR["Code"] += Semi + DR["Code"].ToString(); _DR["Full_Title"] += Semi + DR["Full_Title"].ToString(); Semi = ";"; } _DT.Rows.Add(_DR); _DT.AcceptChanges(); return(_DT); break; case JNodeType.SepratedEmployment: DataTable DT2 = Employment.JEOrganizationChart.GetPost(GetPostCode(PostCode), false); JDataTable _DT2 = new JDataTable(); _DT2.Columns.Add("Job"); _DT2.Columns.Add("Code"); _DT2.Columns.Add("Full_Title"); foreach (DataRow DR2 in DT2.Rows) { DataRow _DR2 = _DT2.NewRow(); _DR2["Job"] = DR2["Job"].ToString(); _DR2["Code"] = DR2["Code"].ToString(); _DR2["Full_Title"] = DR2["Full_Title"].ToString(); _DT2.Rows.Add(_DR2); } _DT2.AcceptChanges(); return(_DT2); break; case JNodeType.EmploymentManager: return(Employment.JEOrganizationChart.GetPost(CurrentPostCode, true)); break; case JNodeType.End: return(Employment.JEOrganizationChart.GetPost(PostCode, false)); break; case JNodeType.NonEmployment: return(OC.GetChart(CurrentPostCode, 1)); break; case JNodeType.NonEmploymentWithOutUnit: return(OC.GetChart(CurrentPostCode, 1, false)); break; case JNodeType.Start: return(null); break; case JNodeType.FirstEmployment: JARefer Ref = JARefer.FirstRefer(ReferCode); return(Employment.JEOrganizationChart.GetPost(Ref.sender_post_code, false)); break; case JNodeType.FlowEmployment: break; case JNodeType.PreviousEmployment: JARefer _Refer = new JARefer(ReferCode); return(Employment.JEOrganizationChart.GetPost(_Refer.sender_post_code, false)); break; case JNodeType.Trash: return(Employment.JEOrganizationChart.GetPost(PostCode, false)); break; case JNodeType.Chart: return(Employment.JEOrganizationChart.GetAllData()); break; case JNodeType.SQL: string sql = PostCode; // in this state PostCode is used for SQL Query JDataBase db = new JDataBase(); try { db.setQuery(sql); if (_PublicDataRow != null && _PublicDataRow.Rows.Count > 0) { foreach (DataColumn col in _PublicDataRow.Columns) { db.AddParams(col.ColumnName, _PublicDataRow.Rows[0][col.ColumnName].ToString()); } } return(db.Query_DataTable()); } finally { db.Dispose(); } break; } return(null); }