Beispiel #1
0
        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();
            }
        }
Beispiel #2
0
        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);
        }