예제 #1
0
 public MyAccount()
 {
     pmsutil = new PMSUtil();
     InitializeComponent();
     NameTextbox.Text = pmsutil.GetEmpName(Application.Current.Resources["uid"].ToString());
     SyncMyLogs();
     AccountNameHolder.Content = pmsutil.GetEmpName(Application.Current.Resources["uid"].ToString());
     AccountRoleHolder.Content = pmsutil.GetAccountType(Application.Current.Resources["uid"].ToString());
 }
예제 #2
0
        private void ConfirmPayment_Click2(object sender, System.Windows.RoutedEventArgs e)
        {
            //dbman = new DBConnectionManager();
            pmsutil = new PMSUtil();

            int    amnt = int.Parse(AmountToBePaid.Content.ToString());
            string OR   = pmsutil.GenerateReceiptNum();

            using (conn = new MySqlConnection(dbman.GetConnStr()))
            {
                conn.Open();
                if (conn.State == ConnectionState.Open)
                {
                    MySqlCommand cmd = conn.CreateCommand();
                    cmd.CommandText = "SELECT * FROM transactions WHERE transaction_id = @transaction_id LIMIT 1;";
                    cmd.Parameters.AddWithValue("@transaction_id", tid);
                    cmd.Prepare();
                    MySqlDataReader db_reader = cmd.ExecuteReader();
                    while (db_reader.Read())
                    {
                        if (db_reader.GetString("status") == "Unpaid")
                        {
                            ornum = OR;
                            using (conn2 = new MySqlConnection(dbman.GetConnStr()))
                            {
                                conn2.Open();
                                MySqlCommand cmd2 = conn2.CreateCommand();
                                cmd2.CommandText = "SELECT COUNT(*) FROM transactions WHERE or_number = @or_number;";
                                cmd2.Parameters.AddWithValue("@or_number", OR);
                                cmd2.Prepare();
                                int counter = int.Parse(cmd2.ExecuteScalar().ToString());
                                if (counter > 0)
                                {
                                    InfoArea.Foreground = new SolidColorBrush(Colors.Red);
                                    InfoArea.Content    = "Duplicate Receipt Number Detected!";
                                }
                                else
                                {
                                    UpdateTransaction();
                                    trans1.SyncTransactions();
                                    MsgSuccess();
                                    this.Close();
                                }
                            }
                        }
                    }
                }
            }

            Document doc = new Document();

            doc.LoadFromFile("Data\\temp_receipt.docx");
            doc.Replace("date", DateTime.Now.ToString("MM/dd/yyyy"), true, true);
            doc.Replace("name", ReceivedFrom.Text, true, true);
            doc.Replace("wordsum", amnt.ToWords(), true, true);
            doc.Replace("amount", AmountToBePaid.Content.ToString(), true, true);
            doc.Replace("Total1", "P " + AmountToBePaid.Content.ToString(), true, true);
            doc.Replace("cashier", pmsutil.GetEmpName(Application.Current.Resources["uid"].ToString()), true, true);
            doc.Replace("123456", OR, true, true);

            int count1 = 1;

            for (int i = 0; i < _list.Count; i++)
            {
                Transaction ti = (Transaction)_list[i];

                using (conn = new MySqlConnection(dbman.GetConnStr()))
                {
                    conn.Open();
                    if (conn.State == ConnectionState.Open)
                    {
                        MySqlCommand cmd = conn.CreateCommand();
                        cmd.CommandText = "SELECT * FROM transactions WHERE transaction_id = @transaction_id LIMIT 1;";
                        cmd.Parameters.AddWithValue("@transaction_id", ti.TransactionID);
                        cmd.Prepare();
                        MySqlDataReader db_reader = cmd.ExecuteReader();
                        while (db_reader.Read())
                        {
                            if (db_reader.GetString("status") == "Unpaid")
                            {
                                tid   = ti.TransactionID;
                                ornum = OR;

                                doc.Replace("Item" + count1, db_reader.GetString("type"), true, true);
                                doc.Replace("Amount" + count1, db_reader.GetString("fee"), true, true);
                                count1++;

                                UpdateTransaction();
                            }
                        }
                    }
                }
            }
            for (int xtemp = 12; count1 <= xtemp; count1++)
            {
                doc.Replace("Item" + count1, "", true, true);
                doc.Replace("Amount" + count1, "", true, true);
            }

            string fname = "Receipt-No-" + OR + "-" + DateTime.Now.ToString("MMM_dd_yyyy") + ".pdf";

            doc.SaveToFile("Data\\print_receipt.docx", Spire.Doc.FileFormat.Docx);

            //Load Document
            Document document = new Document();

            document.LoadFromFile(@"Data\\print_receipt.docx");

            //Convert Word to PDF
            document.SaveToFile("Receipts\\" + fname, Spire.Doc.FileFormat.PDF);

            System.Diagnostics.Process.Start("Receipts\\" + fname);
            this.Close();
            trans1.SyncTransactions();
        }