示例#1
0
        private bool checkUserNamePassword()
        {
            bool   retVal = false;
            string userName;
            string password;
            object result;

            string sqlCommand = "";

            userName = gutil.allTrim(userNameTextBox.Text);
            userName = MySqlHelper.EscapeString(userName);

            password = gutil.allTrim(passwordTextBox.Text);
            password = MySqlHelper.EscapeString(password);


            sqlCommand = "SELECT ID FROM MASTER_USER WHERE USER_NAME = '" + userName + "' AND USER_PASSWORD = '******'";
            result     = DS.getDataSingleValue(sqlCommand);

            if (result != null)
            {
                selectedUserID = Convert.ToInt32(result);
                retVal         = true;
            }

            return(retVal);
        }
        private int getDebtID()
        {
            int result = 0;

            result = Convert.ToInt32(DS.getDataSingleValue("SELECT IFNULL(DEBT_ID, 0) FROM DEBT WHERE PURCHASE_INVOICE = '" + selectedPOInvoice + "'"));

            return(result);
        }
示例#3
0
        private bool noPMExist(string roInvoiceValue)
        {
            bool result = false;

            if (0 < Convert.ToInt32(DS.getDataSingleValue("SELECT COUNT(1) FROM PRODUCTS_MUTATION_HEADER WHERE PM_INVOICE = '" + roInvoiceValue + "'")))
            {
                result = true;
            }

            return(result);
        }
示例#4
0
        private int getBranchID()
        {
            int result    = 0;
            int numOfRows = 0;

            numOfRows = Convert.ToInt32(DS.getDataSingleValue("SELECT COUNT(1) FROM SYS_CONFIG WHERE ID = 2"));

            if (numOfRows > 0)
            {
                result = Convert.ToInt32(DS.getDataSingleValue("SELECT IFNULL(BRANCH_ID, 0) FROM SYS_CONFIG WHERE ID = 2"));
            }

            return(result);
        }
示例#5
0
        private void loadProductName()
        {
            string productName = "";

            if ((newSelectedInternalProductID == selectedInternalProductID) || newSelectedInternalProductID == 0)
            {
                return;
            }

            DS.mySqlConnect();

            productName = DS.getDataSingleValue("SELECT PRODUCT_NAME FROM MASTER_PRODUCT WHERE ID = " + newSelectedInternalProductID).ToString();

            newProductIDTextBox.Text = productName;
        }
示例#6
0
        private string getProductName(string barcodeValue)
        {
            string productName = "";

            if (barcodeValue.Length > 0)
            {
                try
                {
                    productName = DS.getDataSingleValue("SELECT IFNULL(PRODUCT_NAME, '') FROM MASTER_PRODUCT WHERE PRODUCT_BARCODE = '" + barcodeValue + "'").ToString();
                }
                catch (Exception e)
                {}
            }

            return(productName);
        }
        private void loadUnitIDInformation()
        {
            string sqlCommand;
            string unitName = "";

            DS.mySqlConnect();

            if (selectedUnitID == 0)
            {
                return;
            }

            sqlCommand = "SELECT IFNULL(UNIT_NAME, '') FROM MASTER_UNIT WHERE UNIT_ID = " + selectedUnitID;
            unitName   = DS.getDataSingleValue(sqlCommand).ToString();

            unitTextBox.Text = unitName;
        }
示例#8
0
        private void displayUserGroupName()
        {
            string groupName = "";

            DS.mySqlConnect();

            groupName = DS.getDataSingleValue("SELECT GROUP_USER_NAME FROM MASTER_GROUP WHERE GROUP_ID = " + selectedGroupID).ToString();

            groupNameTextBox.Text = groupName;
        }
示例#9
0
        private bool noROExist(string roInvoiceValue)
        {
            bool result = false;

            if (0 < Convert.ToInt32(DS.getDataSingleValue("SELECT COUNT(1) FROM REQUEST_ORDER_HEADER WHERE RO_INVOICE = '" + roInvoiceValue + "'")))
            {
                result = true;
            }

            return(result);
        }
        private void loadData()
        {
            int             dataCount = 0;
            MySqlDataReader rdr;

            dataCount = Convert.ToInt32(DS.getDataSingleValue("SELECT COUNT(1) FROM SYS_CONFIG_TAX"));

            if (dataCount > 0)
            {
                using (rdr = DS.getData("SELECT * FROM SYS_CONFIG_TAX"))
                {
                    if (rdr.HasRows)
                    {
                        rdr.Read();
                        persentasePenjualan.Text = rdr.GetString("PERSENTASE_PENJUALAN");
                        persentasePembelian.Text = rdr.GetString("PERSENTASE_PEMBELIAN");
                        omsetPenjualan.Text      = rdr.GetString("AVERAGE_PENJUALAN_HARIAN");
                        omsetPembelian.Text      = rdr.GetString("AVERAGE_PEMBELIAN_HARIAN");
                        rasioToleransi.Text      = rdr.GetString("RASIO_TOLERANSI");
                    }
                }
            }
        }
示例#11
0
        private bool ipAddressExist()
        {
            bool   result = false;
            int    rowCount;
            string ipAddress = ip1Textbox.Text.Trim() + "." + ip2Textbox.Text.Trim() + "." + ip3Textbox.Text.Trim() + "." + ip4Textbox.Text.Trim();

            rowCount = Convert.ToInt32(DS.getDataSingleValue("SELECT COUNT(1) FROM MASTER_BRANCH WHERE BRANCH_IP4 = '" + ipAddress + "'"));

            if (rowCount > 0)
            {
                result = true;
            }

            return(result);
        }
示例#12
0
        private bool validateOldPassword()
        {
            string oldPassword = oldPasswordTextBox.Text;

            oldPassword = MySqlHelper.EscapeString(oldPassword);
            int result;

            result = Convert.ToInt32(DS.getDataSingleValue("SELECT COUNT(1) FROM MASTER_USER WHERE ID = " + selectedUserID + " AND USER_PASSWORD = '******'"));
            if (result != 0)
            {
                return(true);
            }

            gutil.saveSystemDebugLog(0, "VALIDATE OLD PASSWORD FAILED [" + oldPassword + "]");

            return(false);
        }
示例#13
0
        private void displaySpecificForm(int moduleID, string identifierNo)
        {
            int productID = 0;

            switch (moduleID)
            {
            case globalConstants.MENU_TRANSAKSI_PENJUALAN:
                pembayaranPiutangForm displayPiutangForm = new pembayaranPiutangForm(identifierNo);
                displayPiutangForm.ShowDialog(this);
                break;

            case globalConstants.MENU_PURCHASE_ORDER:
                pembayaranHutangForm displayHutangForm = new pembayaranHutangForm(identifierNo);
                displayHutangForm.ShowDialog(this);
                break;

            case globalConstants.MENU_PEMBAYARAN_PIUTANG:
                pembayaranPiutangForm displayPiutangFormConfirm = new pembayaranPiutangForm(identifierNo);
                displayPiutangFormConfirm.ShowDialog(this);
                break;

            case globalConstants.MENU_PEMBAYARAN_HUTANG_SUPPLIER:
                pembayaranHutangForm displayHutangFormConfirm = new pembayaranHutangForm(identifierNo);
                displayHutangFormConfirm.ShowDialog(this);
                break;

            case globalConstants.MENU_REQUEST_ORDER:
                dataMutasiBarangDetailForm displayedForm = new dataMutasiBarangDetailForm(globalConstants.CEK_DATA_MUTASI, identifierNo);
                displayedForm.ShowDialog(this);
                break;

            case globalConstants.MENU_PRODUK:
                productID = Convert.ToInt32(DS.getDataSingleValue("SELECT ID FROM MASTER_PRODUCT WHERE PRODUCT_ID = '" + identifierNo + "'"));
                dataProdukDetailForm displayProdukDetail = new dataProdukDetailForm(globalConstants.EDIT_PRODUK, productID);
                displayProdukDetail.ShowDialog(this);
                break;
            }
        }
示例#14
0
        public void setUserID(int selectedUserID)
        {
            userID = selectedUserID;

            userName = DS.getDataSingleValue("SELECT IFNULL(USER_NAME, '') FROM MASTER_USER WHERE ID = "+userID).ToString();
        }
示例#15
0
        private bool updateLocalData()
        {
            bool   result     = false;
            string sqlCommand = "";

            string productID;
            string productBarcode;
            string productName;
            string productDescription;
            string productBasePrice;
            string productRetailPrice;
            string productBulkPrice;
            string productWholesalePrice;
            string productService;
            string productUnitID;

            string categoryID;

            MySqlException  internalEX = null;
            MySqlDataReader rdr;
            DataTable       dt  = new DataTable();
            DataTable       dt2 = new DataTable();
            DataTable       dt3 = new DataTable();

            int i = 0;

            DS.beginTransaction();

            gutil.saveSystemDebugLog(globalConstants.MENU_SINKRONISASI_INFORMASI, "UPDATE LOCAL DATA");
            sqlCommand = "SELECT PRODUCT_ID FROM MASTER_PRODUCT WHERE PRODUCT_ACTIVE = 1";
            try
            {
                DS.mySqlConnect();

                using (rdr = DS.getData(sqlCommand))
                {
                    if (rdr.HasRows)
                    {
                        dt.Load(rdr);
                        rdr.Close();

                        dataGridView1.DataSource = dt;
                        i = 0;
                        // UPDATE CURRENT DATA IN LOCAL DATABASE
                        gutil.saveSystemDebugLog(globalConstants.MENU_SINKRONISASI_INFORMASI, "UPDATE CURRENT DATA IN LOCAL DATABASE");
                        while (i < dataGridView1.Rows.Count)
                        {
                            productID = dataGridView1.Rows[i].Cells["PRODUCT_ID"].Value.ToString();

                            productBasePrice      = DS.getDataSingleValue("SELECT PRODUCT_BASE_PRICE FROM TEMP_MASTER_PRODUCT WHERE PRODUCT_ID = '" + productID + "'").ToString();
                            productRetailPrice    = DS.getDataSingleValue("SELECT PRODUCT_RETAIL_PRICE FROM TEMP_MASTER_PRODUCT WHERE PRODUCT_ID = '" + productID + "'").ToString();
                            productBulkPrice      = DS.getDataSingleValue("SELECT PRODUCT_BULK_PRICE FROM TEMP_MASTER_PRODUCT WHERE PRODUCT_ID = '" + productID + "'").ToString();
                            productWholesalePrice = DS.getDataSingleValue("SELECT PRODUCT_WHOLESALE_PRICE FROM TEMP_MASTER_PRODUCT WHERE PRODUCT_ID = '" + productID + "'").ToString();
                            productUnitID         = DS.getDataSingleValue("SELECT UNIT_ID FROM TEMP_MASTER_PRODUCT WHERE PRODUCT_ID = '" + productID + "'").ToString();

                            sqlCommand = "UPDATE MASTER_PRODUCT SET " +
                                         "PRODUCT_BASE_PRICE = " + productBasePrice + ", PRODUCT_RETAIL_PRICE = " + productRetailPrice + ", PRODUCT_BULK_PRICE = " + productBulkPrice + ", PRODUCT_WHOLESALE_PRICE = " + productWholesalePrice + ", UNIT_ID = " + productUnitID +
                                         " WHERE PRODUCT_ID = '" + productID + "'";

                            if (!DS.executeNonQueryCommand(sqlCommand, ref internalEX))
                            {
                                throw internalEX;
                            }

                            //sqlCommand = "DELETE FROM TEMP_MASTER_PRODUCT WHERE PRODUCT_ID = '" + productID + "'";

                            //if (!DS.executeNonQueryCommand(sqlCommand, ref internalEX))
                            //    throw internalEX;

                            i++;
                        }
                        gutil.saveSystemDebugLog(globalConstants.MENU_SINKRONISASI_INFORMASI, "FINISHED UPDATE CURRENT DATA IN LOCAL DATABASE");

                        dataGridView1.DataSource = null;
                        // INSERT NEW PRODUCT CATEGORY
                        sqlCommand = "SELECT * FROM TEMP_PRODUCT_CATEGORY WHERE CONCAT(PRODUCT_ID, '-', CATEGORY_ID) NOT IN (SELECT CONCAT(PRODUCT_ID, '-', CATEGORY_ID) FROM PRODUCT_CATEGORY)";
                        using (rdr = DS.getData(sqlCommand))
                        {
                            gutil.saveSystemDebugLog(globalConstants.MENU_SINKRONISASI_INFORMASI, "INSERT NEW PRODUCT CATEGORY [" + Convert.ToInt32(rdr.HasRows) + "]");

                            if (rdr.HasRows)
                            {
                                dt2.Load(rdr);
                                rdr.Close();

                                dataGridView1.DataSource = dt2;
                                i = 0;
                                while (i < dataGridView1.Rows.Count)
                                {
                                    productID  = dataGridView1.Rows[i].Cells["PRODUCT_ID"].Value.ToString();
                                    categoryID = dataGridView1.Rows[i].Cells["CATEGORY_ID"].Value.ToString();

                                    sqlCommand = "INSERT INTO PRODUCT_CATEGORY (PRODUCT_ID, CATEGORY_ID) VALUES (" +
                                                 "'" + productID + "', " + categoryID + ")";

                                    if (!DS.executeNonQueryCommand(sqlCommand, ref internalEX))
                                    {
                                        throw internalEX;
                                    }

                                    i++;
                                }
                            }
                        }

                        dataGridView1.DataSource = null;
                        // INSERT NEW DATA
                        sqlCommand = "SELECT * FROM TEMP_MASTER_PRODUCT WHERE PRODUCT_ID NOT IN (SELECT PRODUCT_ID FROM MASTER_PRODUCT)";

                        using (rdr = DS.getData(sqlCommand))
                        {
                            gutil.saveSystemDebugLog(globalConstants.MENU_SINKRONISASI_INFORMASI, "INSERT NEW PRODUCT DATA [" + Convert.ToInt32(rdr.HasRows) + "]");
                            if (rdr.HasRows)
                            {
                                dt3.Load(rdr);
                                rdr.Close();

                                dataGridView1.DataSource = dt3;
                                i = 0;
                                while (i < dataGridView1.Rows.Count)
                                {
                                    productID             = MySqlHelper.EscapeString(dataGridView1.Rows[i].Cells["PRODUCT_ID"].Value.ToString());
                                    productBarcode        = MySqlHelper.EscapeString(dataGridView1.Rows[i].Cells["PRODUCT_BARCODE"].Value.ToString());
                                    productName           = MySqlHelper.EscapeString(dataGridView1.Rows[i].Cells["PRODUCT_NAME"].Value.ToString());
                                    productDescription    = MySqlHelper.EscapeString(dataGridView1.Rows[i].Cells["PRODUCT_DESCRIPTION"].Value.ToString());
                                    productBasePrice      = dataGridView1.Rows[i].Cells["PRODUCT_BASE_PRICE"].Value.ToString();
                                    productRetailPrice    = dataGridView1.Rows[i].Cells["PRODUCT_RETAIL_PRICE"].Value.ToString();
                                    productBulkPrice      = dataGridView1.Rows[i].Cells["PRODUCT_BULK_PRICE"].Value.ToString();
                                    productWholesalePrice = dataGridView1.Rows[i].Cells["PRODUCT_WHOLESALE_PRICE"].Value.ToString();
                                    productService        = dataGridView1.Rows[i].Cells["PRODUCT_IS_SERVICE"].Value.ToString();
                                    productUnitID         = dataGridView1.Rows[i].Cells["UNIT_ID"].Value.ToString();
                                    sqlCommand            = "INSERT INTO MASTER_PRODUCT (PRODUCT_ID, PRODUCT_BARCODE, PRODUCT_NAME, PRODUCT_DESCRIPTION, PRODUCT_BASE_PRICE, PRODUCT_RETAIL_PRICE, PRODUCT_BULK_PRICE, PRODUCT_WHOLESALE_PRICE, UNIT_ID, PRODUCT_STOCK_QTY, PRODUCT_LIMIT_STOCK, PRODUCT_SHELVES, PRODUCT_ACTIVE, PRODUCT_IS_SERVICE) VALUES (" +
                                                            "'" + productID + "', '" + productBarcode + "', '" + productName + "', '" + productDescription + "', " + productBasePrice + ", " + productRetailPrice + ", " + productBulkPrice + ", " + productWholesalePrice + ", " + productUnitID + ", 0, 0, '--00', 1, " + productService + ")";

                                    if (!DS.executeNonQueryCommand(sqlCommand, ref internalEX))
                                    {
                                        throw internalEX;
                                    }

                                    i++;
                                }
                            }
                        }

                        DS.commit();
                    }
                }

                result = true;
            }
            catch (Exception e)
            {
                gutil.saveSystemDebugLog(globalConstants.MENU_SINKRONISASI_INFORMASI, "EXCEPTION THROWN [" + e.Message + "]");

                try
                {
                    DS.rollBack();
                }
                catch (MySqlException ex)
                {
                    if (DS.getMyTransConnection() != null)
                    {
                        gutil.showDBOPError(ex, "ROLLBACK");
                    }
                }

                gutil.showDBOPError(e, "ROLLBACK");
                result = false;
            }
            finally
            {
                DS.mySqlClose();
            }

            return(result);
        }
示例#16
0
        private bool saveDataTransaction()
        {
            bool           result     = false;
            string         sqlCommand = "";
            string         dateLogin;
            string         dateLogOut;
            string         dateTimeFrom;
            string         dateTimeTo;
            double         totalCashTransaction    = 0;
            double         totalNonCashTransaction = 0;
            double         totalOtherTransaction   = 0;
            MySqlException internalEX = null;

            DS.beginTransaction();

            try
            {
                DS.mySqlConnect();

                if (loginState == 0)
                {
                    dateLogin = String.Format(culture, "{0:dd-M-yyyy HH:mm}", DateTime.Now);

                    // INSERT TO CASHIER LOG
                    sqlCommand = "INSERT INTO CASHIER_LOG (USER_ID, DATE_LOGIN, AMOUNT_START) VALUES (" + gUtil.getUserID() + ", STR_TO_DATE('" + dateLogin + "', '%d-%m-%Y %H:%i'), " + startAmountBox.Text + ")";

                    if (!DS.executeNonQueryCommand(sqlCommand, ref internalEX))
                    {
                        throw internalEX;
                    }

                    gUtil.saveSystemDebugLog(0, "INSERT DATA FOR A NEW CASHIER SESSION, SA=" + startAmountBox.Text);
                }
                else if (loginState == 1)
                {
                    dateLogOut = String.Format(culture, "{0:dd-M-yyyy HH:mm}", DateTime.Now);

                    dateTimeFrom = String.Format(culture, "{0:yyyyMMddHHmm}", dateTimeLogin);
                    dateTimeTo   = String.Format(culture, "{0:yyyyMMddHHmm}", DateTime.Now);

                    //GET TOTAL CASH TRANSACTION
                    sqlCommand = "SELECT IFNULL(SUM(SALES_TOTAL), 0) FROM SALES_HEADER " +
                                 "WHERE SALES_TOP = 1 AND SALES_PAYMENT_METHOD = 0 " +
                                 "AND DATE_FORMAT(SALES_DATE, '%Y%m%d%H%i') >= '" + dateTimeFrom + "' " +
                                 "AND DATE_FORMAT(SALES_DATE, '%Y%m%d%H%i') <= '" + dateTimeTo + "'";
                    totalCashTransaction = Convert.ToDouble(DS.getDataSingleValue(sqlCommand));

                    //GET TOTAL NON CASH TRANSACTION
                    sqlCommand = "SELECT IFNULL(SUM(SALES_TOTAL), 0) FROM SALES_HEADER " +
                                 "WHERE SALES_TOP = 1 AND SALES_PAYMENT_METHOD > 0 " +
                                 "AND DATE_FORMAT(SALES_DATE, '%Y%m%d%H%i') >= '" + dateTimeFrom + "' " +
                                 "AND DATE_FORMAT(SALES_DATE, '%Y%m%d%H%i') <= '" + dateTimeTo + "'";
                    totalNonCashTransaction = Convert.ToDouble(DS.getDataSingleValue(sqlCommand));

                    //GET TOTAL OTHER TRANSACTION
                    sqlCommand = "SELECT IFNULL(SUM(JOURNAL_NOMINAL), 0) FROM DAILY_JOURNAL DJ, MASTER_ACCOUNT MA " +
                                 "WHERE DJ.PM_ID = 1 AND DJ.ACCOUNT_ID = MA.ACCOUNT_ID AND MA.ACCOUNT_TYPE_ID = 2 " +
                                 "AND DATE_FORMAT(JOURNAL_DATETIME, '%Y%m%d%H%i') >= '" + dateTimeFrom + "' " +
                                 "AND DATE_FORMAT(JOURNAL_DATETIME, '%Y%m%d%H%i') <= '" + dateTimeTo + "'";
                    totalOtherTransaction = Convert.ToDouble(DS.getDataSingleValue(sqlCommand));

                    sqlCommand = "UPDATE CASHIER_LOG SET DATE_LOGOUT = STR_TO_DATE('" + dateLogOut + "', '%d-%m-%Y %H:%i'), AMOUNT_END = " + endAmountBox.Text + ", COMMENT = '" + remarkTextBox.Text + "', TOTAL_CASH_TRANSACTION = " + totalCashTransaction + ", TOTAL_NON_CASH_TRANSACTION = " + totalNonCashTransaction + ", TOTAL_OTHER_TRANSACTION = " + totalOtherTransaction + " WHERE ID = " + logEntryID;
                    if (!DS.executeNonQueryCommand(sqlCommand, ref internalEX))
                    {
                        throw internalEX;
                    }

                    gUtil.saveSystemDebugLog(0, "UPDATE DATA FOR CASHIER END SESSION, EA=" + endAmountBox.Text + ", TC = " + totalCashTransaction + ", TN=" + totalNonCashTransaction + ", TO=" + totalOtherTransaction);
                }

                DS.commit();
                result = true;
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }

            return(result);
        }
示例#17
0
        private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
        {
            String ucapan = "";
            string nm, almt, tlpn, email;

            //event printing

            gUtil.saveSystemDebugLog(globalConstants.MENU_RETUR_PENJUALAN, "printDocument1_PrintPage, print POS size receipt");

            Graphics graphics     = e.Graphics;
            Font     font         = new Font("Courier New", 10);
            float    fontHeight   = font.GetHeight();
            int      startX       = 5;
            int      colxwidth    = 93;  //31x3
            int      totrowwidth  = 310; //310/10=31
            int      totrowheight = 20;
            int      startY       = 5;
            int      Offset       = 15;
            int      offset_plus  = 3;
            string   sqlCommand   = "";
            string   customer     = "";
            string   tgl          = "";
            string   group        = "";
            double   total        = 0;
            string   soInvoice    = "";

            //HEADER

            //set allignemnt
            StringFormat sf = new StringFormat();

            sf.LineAlignment = StringAlignment.Center;
            sf.Alignment     = StringAlignment.Center;

            //set whole printing area
            System.Drawing.RectangleF rect = new System.Drawing.RectangleF(startX, startY + Offset, totrowwidth, totrowheight);
            //set right print area
            System.Drawing.RectangleF rectright = new System.Drawing.RectangleF(totrowwidth - colxwidth - startX, startY + Offset, colxwidth, totrowheight);
            //set middle print area
            System.Drawing.RectangleF rectcenter = new System.Drawing.RectangleF((startX + (totrowwidth / 2) - colxwidth - startX), startY + Offset, (totrowwidth / 2) - startX, totrowheight);

            loadInfoToko(2, out nm, out almt, out tlpn, out email);

            graphics.DrawString(nm, new Font("Courier New", 9),
                                new SolidBrush(Color.Black), rect, sf);

            Offset = Offset + 12;
            rect.Y = startY + Offset;
            graphics.DrawString(almt,
                                new Font("Courier New", 7),
                                new SolidBrush(Color.Black), rect, sf);

            Offset = Offset + 10;
            rect.Y = startY + Offset;
            graphics.DrawString(tlpn,
                                new Font("Courier New", 7),
                                new SolidBrush(Color.Black), rect, sf);

            if (!email.Equals(""))
            {
                Offset = Offset + 10;
                rect.Y = startY + Offset;
                graphics.DrawString(email,
                                    new Font("Courier New", 7),
                                    new SolidBrush(Color.Black), rect, sf);
            }

            Offset = Offset + 13;
            rect.Y = startY + Offset;
            String underLine = "-------------------------------------";  //37 character

            graphics.DrawString(underLine, new Font("Courier New", 9),
                                new SolidBrush(Color.Black), rect, sf);
            //end of header

            //start of content
            MySqlDataReader rdr;
            DataTable       dt = new DataTable();

            DS.mySqlConnect();
            //load customer id
            sqlCommand = "SELECT RS.RS_INVOICE, RS.SALES_INVOICE AS 'INVOICE', C.CUSTOMER_FULL_NAME AS 'CUSTOMER',DATE_FORMAT(RS.RS_DATETIME, '%d-%M-%Y') AS 'DATE',RS.RS_TOTAL AS 'TOTAL', IF(C.CUSTOMER_GROUP=1,'RETAIL',IF(C.CUSTOMER_GROUP=2,'GROSIR','PARTAI')) AS 'GROUP' FROM RETURN_SALES_HEADER RS,MASTER_CUSTOMER C WHERE RS.CUSTOMER_ID = C.CUSTOMER_ID AND RS.RS_INVOICE = '" + returID + "'" +
                         " UNION " +
                         "SELECT RS.RS_INVOICE, RS.SALES_INVOICE AS 'INVOICE', 'P-UMUM' AS 'CUSTOMER', DATE_FORMAT(RS.RS_DATETIME, '%d-%M-%Y') AS 'DATE', RS.RS_TOTAL AS 'TOTAL', 'RETAIL' AS 'GROUP' FROM RETURN_SALES_HEADER RS WHERE RS.CUSTOMER_ID = 0 AND RS.RS_INVOICE = '" + returID + "'" +
                         "ORDER BY DATE ASC";
            using (rdr = DS.getData(sqlCommand))
            {
                if (rdr.HasRows)
                {
                    rdr.Read();
                    customer  = rdr.GetString("CUSTOMER");
                    tgl       = rdr.GetString("DATE");
                    total     = rdr.GetDouble("TOTAL");
                    group     = rdr.GetString("GROUP");
                    soInvoice = rdr.GetString("INVOICE");
                }
            }
            DS.mySqlClose();

            Offset     = Offset + 12;
            rect.Y     = startY + Offset;
            rect.X     = startX + 15;
            rect.Width = 280;
            //SET TO LEFT MARGIN
            sf.LineAlignment = StringAlignment.Near;
            sf.Alignment     = StringAlignment.Near;
            ucapan           = "RETUR PENJUALAN   ";
            graphics.DrawString(ucapan, new Font("Courier New", 7),
                                new SolidBrush(Color.Black), rect, sf);

            //2. CUSTOMER NAME
            Offset = Offset + 12;
            rect.Y = startY + Offset;
            ucapan = "PELANGGAN : " + customer + " [" + group + "]";
            graphics.DrawString(ucapan, new Font("Courier New", 7),
                                new SolidBrush(Color.Black), rect, sf);

            Offset           = Offset + 13;
            rect.Y           = startY + Offset;
            rect.X           = startX;
            rect.Width       = totrowwidth;
            sf.LineAlignment = StringAlignment.Center;
            sf.Alignment     = StringAlignment.Center;
            graphics.DrawString(underLine, new Font("Courier New", 9),
                                new SolidBrush(Color.Black), rect, sf);

            Offset     = Offset + 12;
            rect.Y     = startY + Offset;
            rect.Width = totrowwidth;
            ucapan     = "BUKTI RETUR     ";
            graphics.DrawString(ucapan, new Font("Courier New", 7),
                                new SolidBrush(Color.Black), rect, sf);

            Offset           = Offset + 15 + offset_plus;
            rect.Y           = startY + Offset;
            rect.X           = startX + 15;
            rect.Width       = 280;
            sf.LineAlignment = StringAlignment.Near;
            sf.Alignment     = StringAlignment.Near;
            ucapan           = "NO. RETUR " + returID;
            graphics.DrawString(ucapan, new Font("Courier New", 7),
                                new SolidBrush(Color.Black), rect, sf);

            Offset           = Offset + 15 + offset_plus;
            rect.Y           = startY + Offset;
            rect.X           = startX + 15;
            rect.Width       = 280;
            sf.LineAlignment = StringAlignment.Near;
            sf.Alignment     = StringAlignment.Near;
            ucapan           = "NO. INVOICE " + soInvoice;
            graphics.DrawString(ucapan, new Font("Courier New", 7),
                                new SolidBrush(Color.Black), rect, sf);

            Offset = Offset + 12;
            rect.Y = startY + Offset;
            ucapan = "TOTAL    : " + total.ToString("C2", culture);
            graphics.DrawString(ucapan, new Font("Courier New", 7),
                                new SolidBrush(Color.Black), rect, sf);

            Offset = Offset + 12;
            rect.Y = startY + Offset;
            ucapan = "TANGGAL  : " + tgl;
            graphics.DrawString(ucapan, new Font("Courier New", 7),
                                new SolidBrush(Color.Black), rect, sf);

            Offset = Offset + 12;
            rect.Y = startY + Offset;
            string nama = "";

            loadNamaUser(gUtil.getUserID(), out nama);
            ucapan = "OPERATOR : " + nama;
            graphics.DrawString(ucapan, new Font("Courier New", 7),
                                new SolidBrush(Color.Black), rect, sf);

            Offset           = Offset + 13;
            rect.Y           = startY + Offset;
            rect.X           = startX;
            rect.Width       = totrowwidth;
            sf.LineAlignment = StringAlignment.Center;
            sf.Alignment     = StringAlignment.Center;
            graphics.DrawString(underLine, new Font("Courier New", 9),
                                new SolidBrush(Color.Black), rect, sf);

            // JUMLAH TOTAL INVOICE
            sf.LineAlignment = StringAlignment.Near;
            sf.Alignment     = StringAlignment.Near;

            // DISPLAY DETAIL FOR RETUR
            string product_id    = "";
            string product_name  = "";
            double product_qty   = 0;
            double product_price = 0;
            string product_desc  = "";
            double total_qty     = 0;

            //sqlCommand = "SELECT DATE_FORMAT(PC.PAYMENT_DATE, '%d-%M-%Y') AS 'PAYMENT_DATE', PC.PAYMENT_NOMINAL, PC.PAYMENT_DESCRIPTION FROM PAYMENT_CREDIT PC, CREDIT C WHERE PC.PAYMENT_CONFIRMED = 1 AND PC.CREDIT_ID = C.CREDIT_ID AND C.SALES_INVOICE = '" + selectedSOInvoice + "'";
            sqlCommand = "SELECT RD.PRODUCT_ID, MP.PRODUCT_NAME, RD.PRODUCT_SALES_PRICE, RD.PRODUCT_RETURN_QTY, RD.RS_DESCRIPTION, RD.RS_SUBTOTAL " +
                         "FROM RETURN_SALES_DETAIL RD, MASTER_PRODUCT MP " +
                         "WHERE RD.RS_INVOICE = '" + returID + "' AND RD.PRODUCT_ID = MP.PRODUCT_ID";
            using (rdr = DS.getData(sqlCommand))
            {
                if (rdr.HasRows)
                {
                    while (rdr.Read())
                    {
                        product_id       = rdr.GetString("PRODUCT_ID");
                        product_name     = rdr.GetString("PRODUCT_NAME");
                        product_qty      = rdr.GetDouble("PRODUCT_RETURN_QTY");
                        product_price    = rdr.GetDouble("PRODUCT_SALES_PRICE");
                        product_desc     = rdr.GetString("RS_DESCRIPTION");
                        Offset           = Offset + 15;
                        rect.Y           = startY + Offset;
                        rect.X           = startX + 15;
                        rect.Width       = 280;
                        sf.LineAlignment = StringAlignment.Near;
                        sf.Alignment     = StringAlignment.Near;
                        ucapan           = product_qty + " X [" + product_id + "] " + product_name;
                        if (ucapan.Length > 30)
                        {
                            ucapan = ucapan.Substring(0, 30); //maximum 30 character
                        }
                        //
                        graphics.DrawString(ucapan, new Font("Courier New", 7),
                                            new SolidBrush(Color.Black), rect, sf);

                        rectright.Y      = Offset - startY;
                        sf.LineAlignment = StringAlignment.Far;
                        sf.Alignment     = StringAlignment.Far;
                        ucapan           = "@ " + product_price.ToString("C2", culture);//" Rp." + product_price;
                        graphics.DrawString(ucapan, new Font("Courier New", 7),
                                            new SolidBrush(Color.Black), rectright, sf);

                        if (product_desc.Length > 0)
                        {
                            Offset           = Offset + 15;
                            rect.Y           = startY + Offset;
                            rect.X           = startX + 15;
                            rect.Width       = 280;
                            sf.LineAlignment = StringAlignment.Near;
                            sf.Alignment     = StringAlignment.Near;
                            ucapan           = product_desc;
                            if (ucapan.Length > 30)
                            {
                                ucapan = ucapan.Substring(0, 30); //maximum 30 character
                            }
                            //
                            graphics.DrawString(ucapan, new Font("Courier New", 7),
                                                new SolidBrush(Color.Black), rect, sf);
                        }
                    }
                }
            }


            Offset           = Offset + 13;
            rect.Y           = startY + Offset;
            rect.X           = startX;
            rect.Width       = totrowwidth;
            sf.LineAlignment = StringAlignment.Center;
            sf.Alignment     = StringAlignment.Center;
            graphics.DrawString(underLine, new Font("Courier New", 9),
                                new SolidBrush(Color.Black), rect, sf);

            Offset           = Offset + 15;
            rect.Y           = startY + Offset;
            rect.X           = startX + 15;
            rect.Width       = 260;
            sf.LineAlignment = StringAlignment.Near;
            sf.Alignment     = StringAlignment.Near;
            ucapan           = "               JUMLAH  :";
            rectcenter.Y     = rect.Y;
            graphics.DrawString(ucapan, new Font("Courier New", 7),
                                new SolidBrush(Color.Black), rectcenter, sf);
            sf.LineAlignment = StringAlignment.Far;
            sf.Alignment     = StringAlignment.Far;
            ucapan           = total.ToString("C2", culture);
            rectright.Y      = Offset - startY + 1;
            graphics.DrawString(ucapan, new Font("Courier New", 7),
                                new SolidBrush(Color.Black), rectright, sf);

            total_qty = Convert.ToDouble(DS.getDataSingleValue("SELECT IFNULL(SUM(PRODUCT_RETURN_QTY), 0) FROM RETURN_SALES_DETAIL RD, MASTER_PRODUCT MP WHERE RD.PRODUCT_ID = MP.PRODUCT_ID AND RD.RS_INVOICE = '" + returID + "'"));

            Offset           = Offset + 25 + offset_plus;
            rect.Y           = startY + Offset;
            rect.X           = startX + 15;
            rect.Width       = 280;
            sf.LineAlignment = StringAlignment.Near;
            sf.Alignment     = StringAlignment.Near;
            ucapan           = "TOTAL BARANG : " + total_qty;
            graphics.DrawString(ucapan, new Font("Courier New", 7),
                                new SolidBrush(Color.Black), rect, sf);
            //eNd of content

            //FOOTER

            Offset           = Offset + 13;
            rect.Y           = startY + Offset;
            rect.X           = startX;
            rect.Width       = totrowwidth;
            sf.LineAlignment = StringAlignment.Center;
            sf.Alignment     = StringAlignment.Center;
            graphics.DrawString(underLine, new Font("Courier New", 9),
                                new SolidBrush(Color.Black), rect, sf);

            Offset = Offset + 15;
            rect.Y = startY + Offset;
            ucapan = "TERIMA KASIH ATAS KUNJUNGAN ANDA";
            graphics.DrawString(ucapan, new Font("Courier New", 7),
                                new SolidBrush(Color.Black), rect, sf);

            Offset = Offset + 15;
            rect.Y = startY + Offset;
            ucapan = "MAAF BARANG YANG SUDAH DIBELI";
            graphics.DrawString(ucapan, new Font("Courier New", 7),
                                new SolidBrush(Color.Black), rect, sf);

            Offset = Offset + 15;
            rect.Y = startY + Offset;
            ucapan = "TIDAK DAPAT DITUKAR/ DIKEMBALIKKAN";
            graphics.DrawString(ucapan, new Font("Courier New", 7),
                                new SolidBrush(Color.Black), rect, sf);
            //end of footer
        }
示例#18
0
 private void loadNoFaktur()
 {
     noFakturValue        = DS.getDataSingleValue("SELECT IFNULL(NO_FAKTUR, '') FROM SYS_CONFIG WHERE ID = 1").ToString();
     noFakturTextBox.Text = noFakturValue;
 }
示例#19
0
        private bool saveDataTransaction()
        {
            bool           result     = false;
            string         sqlCommand = "";
            MySqlException internalEX = null;

            string groupName    = MySqlHelper.EscapeString(namaGroupTextBox.Text.Trim());
            string groupDesc    = MySqlHelper.EscapeString(deskripsiTextBox.Text.Trim());
            byte   groupStatus  = 0;
            byte   groupCashier = 0;

            if (nonAktifCheckbox.Checked)
            {
                groupStatus = 0;
            }
            else
            {
                groupStatus = 1;
            }

            if (cashierCheckBox.Checked)
            {
                groupCashier = 1;
            }
            else
            {
                groupCashier = 0;
            }

            DS.beginTransaction();

            try
            {
                DS.mySqlConnect();

                switch (originModuleID)
                {
                case globalConstants.NEW_GROUP_USER:
                case globalConstants.PENGATURAN_GRUP_AKSES:
                    sqlCommand = "INSERT INTO MASTER_GROUP (GROUP_USER_NAME, GROUP_USER_DESCRIPTION, GROUP_USER_ACTIVE, GROUP_IS_CASHIER) VALUES ('" + groupName + "', '" + groupDesc + "', " + groupStatus + ", " + groupCashier + ")";
                    break;

                case globalConstants.EDIT_GROUP_USER:
                    sqlCommand = "UPDATE MASTER_GROUP SET GROUP_USER_NAME = '" + groupName + "', GROUP_USER_DESCRIPTION = '" + groupDesc + "', GROUP_USER_ACTIVE = " + groupStatus + ", GROUP_IS_CASHIER = " + groupCashier + " WHERE GROUP_ID = " + selectedGroupID;
                    break;
                }

                if (!DS.executeNonQueryCommand(sqlCommand, ref internalEX))
                {
                    throw internalEX;
                }

                DS.commit();
                result = true;
            }
            catch (Exception e)
            {
                try
                {
                    DS.rollBack();
                }
                catch (MySqlException ex)
                {
                    if (DS.getMyTransConnection() != null)
                    {
                        gutil.showDBOPError(ex, "ROLLBACK");
                    }
                }

                gutil.showDBOPError(e, "INSERT");
                result = false;
            }
            finally
            {
                if (originModuleID == globalConstants.PENGATURAN_GRUP_AKSES && result == true)
                {
                    selectedGroupID = Convert.ToInt32(DS.getDataSingleValue("SELECT MAX(GROUP_ID) FROM MASTER_GROUP WHERE GROUP_USER_NAME = '" + groupName + "' AND GROUP_USER_DESCRIPTION = '" + groupDesc + "' "));
                    parentForm.setSelectedGroupID(selectedGroupID);
                }

                DS.mySqlClose();
            }

            return(result);
        }
        private bool saveData()
        {
            bool           result     = false;
            string         sqlCommand = "";
            MySqlException internalEX = null;

            int i               = 0;
            int moduleIdValue   = 0;
            int tempModuleID    = 0;
            int userAccessValue = 0;

            DS.beginTransaction();

            try
            {
                DS.mySqlConnect();

                i = 0;

                while (i < groupAccessDataGridView.Rows.Count)
                {
                    tempModuleID = Convert.ToInt32(groupAccessDataGridView.Rows[i].Cells["moduleID"].Value);
                    if (moduleIdValue != tempModuleID)
                    {
                        if (moduleIdValue != 0)
                        {
                            if (Convert.ToInt32(DS.getDataSingleValue("SELECT COUNT(1) FROM USER_ACCESS_MANAGEMENT WHERE MODULE_ID = " + moduleIdValue + " AND GROUP_ID = " + selectedGroupID)) == 0)
                            {
                                // INSERT MODE
                                sqlCommand = "INSERT INTO USER_ACCESS_MANAGEMENT (GROUP_ID, MODULE_ID, USER_ACCESS_OPTION) VALUES (" + selectedGroupID + ", " + moduleIdValue + ", " + userAccessValue + ")";

                                if (!DS.executeNonQueryCommand(sqlCommand, ref internalEX))
                                {
                                    throw internalEX;
                                }
                            }
                            else
                            {
                                // EDIT MODE
                                sqlCommand = "UPDATE USER_ACCESS_MANAGEMENT SET USER_ACCESS_OPTION = " + userAccessValue + " WHERE GROUP_ID = " + selectedGroupID + " AND MODULE_ID = " + moduleIdValue;

                                if (!DS.executeNonQueryCommand(sqlCommand, ref internalEX))
                                {
                                    throw internalEX;
                                }
                            }
                        }

                        moduleIdValue   = tempModuleID;
                        userAccessValue = 0;
                    }

                    if (Convert.ToBoolean(groupAccessDataGridView.Rows[i].Cells["hakAkses"].Value))
                    {
                        userAccessValue = userAccessValue + Convert.ToInt32(groupAccessDataGridView.Rows[i].Cells["featureID"].Value);
                    }

                    i++;
                }

                // INSERT / UPDATE
                if (Convert.ToInt32(DS.getDataSingleValue("SELECT COUNT(1) FROM USER_ACCESS_MANAGEMENT WHERE MODULE_ID = " + moduleIdValue + " AND GROUP_ID = " + selectedGroupID)) == 0)
                {
                    // INSERT MODE
                    sqlCommand = "INSERT INTO USER_ACCESS_MANAGEMENT (GROUP_ID, MODULE_ID, USER_ACCESS_OPTION) VALUES (" + selectedGroupID + ", " + moduleIdValue + ", " + userAccessValue + ")";

                    if (!DS.executeNonQueryCommand(sqlCommand, ref internalEX))
                    {
                        throw internalEX;
                    }
                }
                else
                {
                    // EDIT MODE
                    sqlCommand = "UPDATE USER_ACCESS_MANAGEMENT SET USER_ACCESS_OPTION = " + userAccessValue + " WHERE GROUP_ID = " + selectedGroupID + " AND MODULE_ID = " + moduleIdValue;

                    if (!DS.executeNonQueryCommand(sqlCommand, ref internalEX))
                    {
                        throw internalEX;
                    }
                }

                //DS.executeNonQueryCommand(sqlCommand);

                DS.commit();
                result = true;
            }
            catch (Exception e)
            {
                try
                {
                    DS.rollBack();
                }
                catch (MySqlException ex)
                {
                    if (DS.getMyTransConnection() != null)
                    {
                        gutil.showDBOPError(ex, "ROLLBACK");
                    }
                }
                gutil.showDBOPError(e, "INSERT");
                result = false;
            }
            finally
            {
                DS.mySqlClose();
            }

            return(result);
        }