Exemplo n.º 1
0
        private void loadAttachment()
        {
            if (Owner.Name == "shop_selling")
            {
                owner_name = Owner.Name;
            }
            else
            {
                owner_name = Owner.Owner.Name;
            }

            //GF.showLoading(this);
            this.DGV.Rows.Clear();

            if (DGV.Columns.Count == 0)
            {
                this.DGV.Columns.Add("attachment_name", "ATTACHMENT NAME");
                this.DGV.Columns.Add("file_name", "FILE NAME");
                this.DGV.Columns.Add("attachment_id", "ATTACHMENT ID");
            }

            String queryString = "SELECT ROW_NUMBER() OVER (ORDER BY attachment_name) as RowNum, attachment_id, attachment_name, file_name FROM ATTACHMENT WHERE owner_id = " + this.id.ToString() + " AND owner_form = '" + owner_name + "'";

            Dictionary <string, string> Params = new Dictionary <string, string>();

            /*Params.Add("@id", this.id.ToString());
            *  Params.Add("@owner_form", owner_name);*/

            using (DataTable myDT = DB.getS(queryString, Params, "GET ATTACHMENT"))
            {
                int rowNum = 0;
                foreach (DataRow myRow in myDT.Rows)
                {
                    this.DGV.Rows.Add(
                        myRow["attachment_name"],
                        myRow["file_name"],
                        myRow["attachment_id"]
                        );

                    this.DGV[0, rowNum].Style.Alignment = DataGridViewContentAlignment.MiddleLeft;
                    this.DGV[1, rowNum].Style.Alignment = DataGridViewContentAlignment.MiddleLeft;
                    rowNum++;
                }
            }
            this.DGV.Columns["attachment_id"].Visible = false;
            GF.updateRowNum(DGV);
            this.DGV.ClearSelection();

            if (viewOnly)
            {
                file_path.Enabled       = false;
                attachment_name.Enabled = false;
                GF.disableButton(add_btn);
                GF.disableButton(delete_btn);
            }
            GF.closeLoading();
        }
Exemplo n.º 2
0
        // DELEGATE PART :: END

        public void loadGridData()
        {
            GF.showLoading(this);
            this.btn_dgv.DGV.Visible = false;
            this.btn_dgv.DGV.Rows.Clear();

            if (btn_dgv.DGV.Columns.Count == 0)
            {
                this.btn_dgv.DGV.Columns.Add("card_type_name", "CARD NAME");
                this.btn_dgv.DGV.Columns.Add("owner_name", "OWNER NAME");
                this.btn_dgv.DGV.Columns.Add("code", "CODE");
                this.btn_dgv.DGV.Columns.Add("detail", "DETAIL");
                this.btn_dgv.DGV.Columns.Add("issue_datetime", "ISSUED DATETIME");
                this.btn_dgv.DGV.Columns.Add("status", "STATUS");
                this.btn_dgv.DGV.Columns.Add("issue_by", "ISSUED BY");
                this.btn_dgv.DGV.Columns.Add("card_type", "card_type");
                this.btn_dgv.DGV.Columns.Add("card_id", "card_id");
                this.btn_dgv.DGV.Columns["card_type"].Visible = false;
                this.btn_dgv.DGV.Columns["card_id"].Visible   = false;
                this.btn_dgv.DGV.Columns["status"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            }

            // GET TOTAL PAGE
            Dictionary <string, string> Params = new Dictionary <string, string>();
            String queryString = @"
            SELECT A.*, ISNULL(B.FULLNAME, 'S.A.') ISSUE_BY_NAME FROM (
                (SELECT 
                    B.MEMBERCARD_TYPE_NAME CARD_TYPE_NAME, 
                    A.CARD_NO, 
                    Convert(NVARCHAR(MAX),A.PRICE) PRICE, 
                    A.ISSUE_DATE,
                    CONVERT(NVARCHAR(MAX), A.ISSUE_DATE, 103) + ' ' + CONVERT(NVARCHAR(MAX), A.ISSUE_DATE, 108) ISSUE_DATETIME, 
                    A.ISSUE_BY,
                    A.MEMBERCARD_TYPE_ID CARD_TYPE,
                    A.MEMBERCARD_ID CARD_ID,
                    C.CUSTOMER_NAME + '-' + C.TEL OWNER_NAME,
                    NULL SPA_PROGRAM,
                    A.IS_USE
                FROM MEMBERCARD A 
                INNER JOIN MEMBERCARD_TYPE B ON A.MEMBERCARD_TYPE_ID = B.MEMBERCARD_TYPE_ID
                INNER JOIN CUSTOMER C ON A.CUSTOMER_ID = C.CUSTOMER_ID
                WHERE B.IS_USE = 1)
                UNION ALL
                (SELECT
                    CASE A.SPA_PROGRAM_ID WHEN -1 THEN 'MONEY ' ELSE 'SPA MENU ' END + 'GIFT CERTIFICATE' CARD_TYPE_NAME,
                    A.CARD_NO,
                    Convert(NVARCHAR(MAX),A.PRICE) PRICE,
                    A.ISSUE_DATE,
                    CONVERT(NVARCHAR(MAX), A.ISSUE_DATE, 103) + ' ' + CONVERT(NVARCHAR(MAX), A.ISSUE_DATE, 108) ISSUE_DATETIME, 
                    A.ISSUE_BY,
                    50 CARD_TYPE,
                    A.GIFT_CERTIFICATE_ID CARD_ID,
                    B.CUSTOMER_NAME + '-' + B.TEL OWNER_NAME,
                    C.PROGRAM_NAME SPA_PROGRAM,
                    A.IS_USE
                FROM GIFT_CERTIFICATE A
                LEFT OUTER JOIN CUSTOMER B ON A.CUSTOMER_ID = B.CUSTOMER_ID
                LEFT OUTER JOIN SPA_PROGRAM C ON A.SPA_PROGRAM_ID = C.SPA_PROGRAM_ID
                )
                UNION ALL
                (SELECT
                    'GIFT VOUCHER' CARD_TYPE_NAME,
                    A.CARD_NO,
                    '-' PRICE,
                    A.ISSUE_DATETIME ISSUE_DATE,
                    CONVERT(NVARCHAR(MAX), A.ISSUE_DATETIME, 103) + ' ' + CONVERT(NVARCHAR(MAX), A.ISSUE_DATETIME, 108) ISSUE_DATETIME, 
                    A.ISSUE_BY,
                    99 CARD_TYPE,
                    A.GIFT_VOUCHER_ID,
                    A.ISSUE_FOR OWNER_NAME,
                    B.PROGRAM_NAME SPA_PROGRAM,
                    A.IS_USE
                FROM GIFT_VOUCHER A
                INNER JOIN SPA_PROGRAM B ON A.SPA_PROGRAM_ID = B.SPA_PROGRAM_ID
                )
            ) A LEFT OUTER JOIN EMPLOYEE B ON A.ISSUE_BY = B.EMP_ID WHERE 1=1";

            if (((ComboItem)card_type.SelectedItem).Key != -1)
            {
                queryString += " AND A.CARD_TYPE = " + ((ComboItem)card_type.SelectedItem).Key.ToString();
                //Params.Add("@card_type", ((ComboItem)card_type.SelectedItem).Key.ToString());
            }
            if (!GF.emptyDate(issue_date.Text.Trim()))
            {
                queryString += " AND CONVERT(DATE, ISSUE_DATE) = CONVERT(DATE, '" + issue_date.Text + "', 103)";
                //Params.Add("@issue_date", issue_date.Text);
            }

            GF.getTotalPage(btn_dgv, "SELECT COUNT(*) AS TOTAL FROM (" + queryString + ") AS TOTAL_ROW", Params);

            queryString = DB.insertRowNum("A.ISSUE_DATE DESC", queryString);
            GF.doDebug(">>>> " + queryString);
            DataTable myDT;

            using (myDT = DB.getS(queryString, Params, "GET ALL ISSUED CARDS"))
            {
                for (int rowNum = 0; rowNum < myDT.Rows.Count; rowNum++)
                {
                    DataRow myRow = myDT.Rows[rowNum];

                    String detail = "";
                    if (myRow["SPA_PROGRAM"].ToString() != "")
                    {
                        detail = myRow["SPA_PROGRAM"].ToString();
                    }
                    else
                    {
                        detail = GF.formatNumber(Convert.ToInt32(myRow["PRICE"].ToString()));
                    }

                    this.btn_dgv.DGV.Rows.Add(
                        myRow["CARD_TYPE_NAME"].ToString(),
                        myRow["OWNER_NAME"].ToString(),
                        myRow["CARD_NO"].ToString(),
                        detail,
                        myRow["ISSUE_DATETIME"].ToString(),
                        (myRow["IS_USE"].ToString() == "1" ? "ACTIVE": "INACTIVE"),
                        myRow["ISSUE_BY_NAME"].ToString(),
                        myRow["CARD_TYPE"].ToString(),
                        myRow["CARD_ID"].ToString()
                        );

                    btn_dgv.DGV.Rows[rowNum].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
                    if (myRow["IS_USE"].ToString() == "1")
                    {
                        btn_dgv.DGV.Rows[rowNum].Cells["status"].Style.ForeColor = Color.Green;
                    }
                    else
                    {
                        btn_dgv.DGV.Rows[rowNum].Cells["status"].Style.ForeColor = Color.Red;
                    }
                    this.btn_dgv.DGV.ClearSelection();
                }
            }

            GF.updateRowNum(btn_dgv.DGV, true);
            this.btn_dgv.DGV.Refresh();
            this.btn_dgv.DGV.Visible = true;
            GF.closeLoading();
        }
        protected override void OnKeyDown(KeyEventArgs e)
        {
            if (Text.Trim() != "")
            {
                if (e.KeyCode == Keys.Return)
                {
                    if (!ModeList.Contains(Mode))
                    {
                        MessageBox.Show("THE AUTOCOMPLETE IS UNDER CONSTRUCTION !!", "ERROR");
                        return;
                    }
                    if (Mode == "")
                    {
                        return;
                    }

                    String tmpQuery = queryString;
                    currentID = -1;
                    GF.showLoading(parentForm);

                    Dictionary <string, string> Params;

                    if (Mode == "CUSTOMER")
                    {
                        if (Text.Trim().Substring(0, 1) == "7")
                        {
                            Text = "8" + Text.Trim().Substring(1);
                        }

                        tmpQuery += "AND (CUSTOMER_NAME LIKE N'%' + @text + '%' OR RUS_NAME LIKE N'%' + @text + '%' OR TEL LIKE @text + '%')";
                        Params    = new Dictionary <string, string>();
                        Params.Add("@text", Text);

                        using (DT = DB.getS(tmpQuery, Params, "GET CUSTOMER NAME", false))
                        {
                            if (DT.Rows.Count == 0)
                            {
                                GF.closeLoading();
                                MessageBox.Show("... NO RESULT ...");
                            }
                            else if (DT.Rows.Count == 1)
                            {
                                DataRow row = DT.Rows[0];
                                SetText(Convert.ToInt32(row["CUSTOMER_ID"].ToString()), row["CUSTOMER_NAME"].ToString() + " - " + (row["GENDER"].ToString() == "1" ? "MALE" : "FEMALE") + " - " + row["TEL"].ToString());
                                GF.closeLoading();
                            }
                            else
                            {
                                preventTextChanged = true;
                                using (name_list searchResult = new name_list())
                                {
                                    searchResult.Load += (ss, ee) =>
                                    {
                                        searchResult.Size = searchResult.resultTable.Size;
                                    };

                                    if (searchResult.resultTable.Rows.Count > 0)
                                    {
                                        searchResult.resultTable.Rows.Clear();
                                    }
                                    if (searchResult.resultTable.Columns.Count == 0)
                                    {
                                        searchResult.resultTable.Columns.Add("name", "NAME");
                                        searchResult.resultTable.Columns.Add("rus_name", "RUS NAME");
                                        searchResult.resultTable.Columns.Add("gender", "GENDER");
                                        searchResult.resultTable.Columns.Add("tel", "TEL");
                                        searchResult.resultTable.Columns.Add("note", "NOTE");
                                        searchResult.resultTable.Columns.Add("customer_id", "customer_id");
                                        searchResult.resultTable.Columns["note"].Visible        = false;
                                        searchResult.resultTable.Columns["customer_id"].Visible = false;
                                    }

                                    foreach (DataRow row in DT.Rows)
                                    {
                                        searchResult.resultTable.Rows.Add(row["CUSTOMER_NAME"].ToString(), row["RUS_NAME"].ToString(), (row["GENDER"].ToString() == "1" ? "MALE" : "FEMALE"), row["TEL"].ToString(), row["NOTE"].ToString(), row["CUSTOMER_ID"].ToString());
                                    }

                                    GF.updateRowNum(searchResult.resultTable);

                                    foreach (DataGridViewColumn column in searchResult.resultTable.Columns)
                                    {
                                        column.SortMode = DataGridViewColumnSortMode.NotSortable;
                                    }
                                    GF.closeLoading();
                                    searchResult.Owner = parentForm;
                                    searchResult.Mode  = this.Mode;
                                    searchResult.ShowDialog();
                                    searchResult.BringToFront();
                                }
                                preventTextChanged = false;
                            }
                        }
                    }

                    if (Mode == "EMPLOYEE")
                    {
                        tmpQuery += "AND (FULLNAME LIKE '%' + @text + '%' OR CODE LIKE @text + '%')";
                        Params    = new Dictionary <string, string>();
                        Params.Add("@text", Text);

                        using (DT = DB.getS(tmpQuery, Params, "GET EMPLOYEE NAME", false))
                        {
                            if (DT.Rows.Count == 0)
                            {
                                GF.closeLoading();
                                MessageBox.Show("... NO RESULT ...");
                            }
                            else if (DT.Rows.Count == 1)
                            {
                                DataRow row = DT.Rows[0];
                                SetText(Convert.ToInt32(row["EMP_ID"].ToString()), row["CODE"].ToString() + " - " + row["FULLNAME"].ToString());
                                GF.closeLoading();
                            }
                            else
                            {
                                preventTextChanged = true;
                                using (name_list searchResult = new name_list())
                                {
                                    searchResult.Load += (ss, ee) =>
                                    {
                                        searchResult.Size = searchResult.resultTable.Size;
                                    };

                                    if (searchResult.resultTable.Rows.Count > 0)
                                    {
                                        searchResult.resultTable.Rows.Clear();
                                    }
                                    if (searchResult.resultTable.Columns.Count == 0)
                                    {
                                        searchResult.resultTable.Columns.Add("fullname", "NAME");
                                        searchResult.resultTable.Columns.Add("code", "CODE");
                                        searchResult.resultTable.Columns.Add("emp_id", "emp_id");
                                        searchResult.resultTable.Columns["emp_id"].Visible = false;
                                    }

                                    foreach (DataRow row in DT.Rows)
                                    {
                                        searchResult.resultTable.Rows.Add(row["FULLNAME"].ToString(), row["CODE"].ToString(), row["EMP_ID"].ToString());
                                    }

                                    GF.updateRowNum(searchResult.resultTable);

                                    foreach (DataGridViewColumn column in searchResult.resultTable.Columns)
                                    {
                                        column.SortMode = DataGridViewColumnSortMode.NotSortable;
                                    }
                                    GF.closeLoading();
                                    searchResult.Owner = parentForm;
                                    searchResult.Mode  = this.Mode;
                                    searchResult.ShowDialog();
                                }
                                preventTextChanged = false;
                            }
                        }
                    }

                    if (Mode == "DEBTOR")
                    {
                        tmpQuery += "AND (A.NAME LIKE '%' + @text + '%' OR A.TEL LIKE '%' + @text + '%')";
                        Params    = new Dictionary <string, string>();
                        Params.Add("@text", Text);

                        using (DT = DB.getS(tmpQuery, Params, "GET DEBTOR NAME", false))
                        {
                            if (DT.Rows.Count == 0)
                            {
                                GF.closeLoading();
                                MessageBox.Show("... NO RESULT ...");
                            }
                            else if (DT.Rows.Count == 1)
                            {
                                DataRow row = DT.Rows[0];
                                SetText(Convert.ToInt32(row["DEBTOR_ID"].ToString()), "[" + row["DEBTOR_TYPE_NAME"].ToString() + "] " + row["NAME"].ToString() + " " + row["TEL"].ToString());
                                GF.closeLoading();
                            }
                            else
                            {
                                preventTextChanged = true;
                                using (name_list searchResult = new name_list())
                                {
                                    searchResult.Load += (ss, ee) =>
                                    {
                                        searchResult.Size = searchResult.resultTable.Size;
                                    };

                                    if (searchResult.resultTable.Rows.Count > 0)
                                    {
                                        searchResult.resultTable.Rows.Clear();
                                    }
                                    if (searchResult.resultTable.Columns.Count == 0)
                                    {
                                        searchResult.resultTable.Columns.Add("debtor_name", "NAME");
                                        searchResult.resultTable.Columns.Add("tel", "TEL NO.");
                                        searchResult.resultTable.Columns.Add("debtor_type_name", "TYPE");
                                        searchResult.resultTable.Columns.Add("debtor_id", "debtor_id");
                                        searchResult.resultTable.Columns["debtor_id"].Visible = false;
                                    }

                                    foreach (DataRow row in DT.Rows)
                                    {
                                        searchResult.resultTable.Rows.Add(row["NAME"].ToString(), row["TEL"].ToString(), row["DEBTOR_TYPE_NAME"].ToString(), row["DEBTOR_ID"].ToString());
                                    }

                                    GF.updateRowNum(searchResult.resultTable);

                                    foreach (DataGridViewColumn column in searchResult.resultTable.Columns)
                                    {
                                        column.SortMode = DataGridViewColumnSortMode.NotSortable;
                                    }
                                    GF.closeLoading();
                                    searchResult.Owner = parentForm;
                                    searchResult.Mode  = this.Mode;
                                    searchResult.ShowDialog();
                                }
                                preventTextChanged = false;
                            }
                        }
                    }

                    if (Mode == "AGENT")
                    {
                        tmpQuery += "AND (A.AGENT_NAME LIKE '%' + @text + '%' OR A.TEL LIKE '%' + @text + '%')";
                        Params    = new Dictionary <string, string>();
                        Params.Add("@text", Text);

                        using (DT = DB.getS(tmpQuery, Params, "GET AGENT NAME", false))
                        {
                            if (DT.Rows.Count == 0)
                            {
                                GF.closeLoading();
                                MessageBox.Show("... NO RESULT ...");
                            }
                            else if (DT.Rows.Count == 1)
                            {
                                DataRow row = DT.Rows[0];
                                SetText(Convert.ToInt32(row["AGENT_ID"].ToString()), row["AGENT_NAME"].ToString() + " - " + row["TEL"].ToString());
                                GF.closeLoading();
                            }
                            else
                            {
                                preventTextChanged = true;
                                using (name_list searchResult = new name_list())
                                {
                                    searchResult.Load += (ss, ee) =>
                                    {
                                        searchResult.Size = searchResult.resultTable.Size;
                                    };

                                    if (searchResult.resultTable.Rows.Count > 0)
                                    {
                                        searchResult.resultTable.Rows.Clear();
                                    }
                                    if (searchResult.resultTable.Columns.Count == 0)
                                    {
                                        searchResult.resultTable.Columns.Add("agent_name", "NAME");
                                        searchResult.resultTable.Columns.Add("tel", "TEL NO.");
                                        searchResult.resultTable.Columns.Add("agent_type_name", "TYPE");
                                        searchResult.resultTable.Columns.Add("agent_id", "agent_id");
                                        searchResult.resultTable.Columns["agent_id"].Visible = false;
                                    }

                                    foreach (DataRow row in DT.Rows)
                                    {
                                        searchResult.resultTable.Rows.Add(row["AGENT_NAME"].ToString(), row["TEL"].ToString(), (row["AGENT_TYPE"].ToString() == "0" ? "COMPANY" : "PERSON"), row["AGENT_ID"].ToString());
                                    }

                                    GF.updateRowNum(searchResult.resultTable);

                                    foreach (DataGridViewColumn column in searchResult.resultTable.Columns)
                                    {
                                        column.SortMode = DataGridViewColumnSortMode.NotSortable;
                                    }
                                    GF.closeLoading();
                                    searchResult.Owner = parentForm;
                                    searchResult.Mode  = this.Mode;
                                    searchResult.ShowDialog();
                                }
                                preventTextChanged = false;
                            }
                        }
                    }

                    if (Mode == "ITEM_TYPE")
                    {
                        tmpQuery += "AND A.ITEM_TYPE_NAME LIKE '%' + @text + '%'";

                        Params = new Dictionary <string, string>();
                        Params.Add("@text", Text);

                        using (DT = DB.getS(tmpQuery, Params, "GET ITEM_TYPE_NAME", false))
                        {
                            if (DT.Rows.Count == 0)
                            {
                                GF.closeLoading();
                                MessageBox.Show("... NO RESULT ...");
                            }
                            else if (DT.Rows.Count == 1)
                            {
                                DataRow row = DT.Rows[0];
                                SetText(Convert.ToInt32(row["ITEM_TYPE_ID"].ToString()), row["ITEM_TYPE_NAME"].ToString());
                                GF.closeLoading();
                            }
                            else
                            {
                                preventTextChanged = true;
                                using (name_list searchResult = new name_list())
                                {
                                    searchResult.Load += (ss, ee) =>
                                    {
                                        searchResult.Size = searchResult.resultTable.Size;
                                    };

                                    if (searchResult.resultTable.Rows.Count > 0)
                                    {
                                        searchResult.resultTable.Rows.Clear();
                                    }
                                    if (searchResult.resultTable.Columns.Count == 0)
                                    {
                                        searchResult.resultTable.Columns.Add("item_type_name", "ITEM TYPE NAME");
                                        searchResult.resultTable.Columns.Add("item_type_id", "item_type_id");
                                        searchResult.resultTable.Columns["item_type_id"].Visible = false;
                                    }

                                    foreach (DataRow row in DT.Rows)
                                    {
                                        searchResult.resultTable.Rows.Add(row["ITEM_TYPE_NAME"].ToString(), row["ITEM_TYPE_ID"].ToString());
                                    }

                                    GF.updateRowNum(searchResult.resultTable);

                                    foreach (DataGridViewColumn column in searchResult.resultTable.Columns)
                                    {
                                        column.SortMode = DataGridViewColumnSortMode.NotSortable;
                                    }
                                    GF.closeLoading();
                                    searchResult.Owner = parentForm;
                                    searchResult.Mode  = this.Mode;
                                    searchResult.ShowDialog();
                                }
                                preventTextChanged = false;
                            }
                        }
                    }

                    parentForm.Activate();
                    parentForm.BringToFront();
                }
            }
            base.OnKeyDown(e);
        }