コード例 #1
0
ファイル: ReturnUI.cs プロジェクト: faksam/My_FPT_C-Sharp
        private void button2_Click(object sender, EventArgs e)
        {
            ReturnDA k = new ReturnDA();
            if (MessageBox.Show("Are you sure?", "Question", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                CirculatedCopy c = new CirculatedCopy();
                try
                {
                    c.Id = int.Parse(dataGridView1.SelectedRows[0].Cells["ID"].Value.ToString());
                    c.CopyNumber = int.Parse(dataGridView1.SelectedRows[0].Cells["copyNumber"].Value.ToString());
                    c.BorrowerNumber = int.Parse(dataGridView1.SelectedRows[0].Cells["borrowerNumber"].Value.ToString());
                    c.DueDate = Convert.ToDateTime(dataGridView1.SelectedRows[0].Cells["dueDate"].Value.ToString());
                    c.BorrowedDate = Convert.ToDateTime(dataGridView1.SelectedRows[0].Cells["borrowedDate"].Value.ToString());
                }
                catch (Exception)
                {
                    MessageBox.Show("You must select a book !");
                    return;
                }

                try
                {
                    c.ReturnedDate = DateTime.ParseExact(textBox3.Text, "d/M/yyyy", null);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                    return;
                }
                if (c.ReturnedDate.Date < c.BorrowedDate)
                {
                    MessageBox.Show("BorrowedDate must less than ReturnedDate !");
                    return;
                }
                TimeSpan dayLater = c.ReturnedDate.Date - c.DueDate;
                double ngay = dayLater.TotalDays;
                if (ngay > 0)
                {
                    c.FineAmount = (int)ngay;
                }
                else c.FineAmount = 0;
                k.returnUpdate(c.CopyNumber);
                k.cirUpdate(c);
                button2.Enabled = false;
                DataSet ds = k.SelectDS(c.CopyNumber);
                DataView dv = new DataView(ds.Tables[0]);
                dataGridView1.DataSource = dv;
                label5.Text = "" + ds.Tables[0].Rows.Count;
                //MessageBox.Show("Return Successfully !");
            }
            else
            {
                return;
                //MessageBox.Show("No clicked");
            }
        }
コード例 #2
0
ファイル: ReturnDA.cs プロジェクト: faksam/My_FPT_C-Sharp
        public void cirUpdate(CirculatedCopy c)
        {
            try
            {
                string cm = "Update CirculatedCopy set returnedDate = @returnedDate, fineAmount = @fineAmount " + "where copyNumber = "
                            + c.CopyNumber + "AND ID =" + c.Id;

                SqlConnection cn=new SqlConnection("Data Source=localhost;Initial Catalog=Library;Integrated Security=True");
                SqlCommand cmd = new SqlCommand(cm, cn);
                cmd.Parameters.AddWithValue("@returnedDate", c.ReturnedDate);
                cmd.Parameters.AddWithValue("@fineAmount", c.FineAmount);

                cn.Open();
                cmd.ExecuteNonQuery();
                cn.Close();

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
        }
コード例 #3
0
ファイル: BorrowUI.cs プロジェクト: faksam/My_FPT_C-Sharp
        private void button3_Click(object sender, EventArgs e)
        {
            BorrowBL a = new BorrowBL();
            BorrowDA b = new BorrowDA();
            DateTime brDate = new DateTime();
            try
            {
                brDate = DateTime.ParseExact(textBox4.Text, "d/M/yyyy", null);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }

            DateTime dueDate = brDate.AddDays(14);
            textBox5.Text = dueDate.ToShortDateString();
            int copyNum = int.Parse(textBox3.Text);
            int brNum = int.Parse(textBox1.Text);
            CirculatedCopy h = new CirculatedCopy();
            a.SetIdMax();
            h.Id = ++a.idMax;
            h.CopyNumber = copyNum;
            h.BorrowerNumber = brNum;
            h.BorrowedDate = brDate;
            h.DueDate = dueDate;
            b.insertBorrow(h);
            b.borrowUpdate(copyNum);
            DataSet ds = b.SelectDS(brNum);
            DataView dv = new DataView(ds.Tables[0]);
            dataGridView1.DataSource = dv;
            bool test2 = a.checkReserve1(copyNum);
            bool test3 = a.checkReserve(copyNum, b.getBoNum(copyNum), int.Parse(textBox1.Text));
            if (test2 && test3)
            {
                b.borrowReUpdate(b.getBoNum(copyNum), int.Parse(textBox1.Text));
            }
            button3.Enabled = false;
        }
コード例 #4
0
ファイル: BorrowDA.cs プロジェクト: faksam/My_FPT_C-Sharp
        public void insertBorrow(CirculatedCopy a)
        {
            try
            {
                SqlConnection cn = new SqlConnection("Data Source=localhost;Initial Catalog=Library;Integrated Security=True");
                SqlCommand cmd = new SqlCommand("SET IDENTITY_INSERT [dbo].[CirculatedCopy] ON" + "\n" + "Insert into CirculatedCopy(ID, copyNumber, borrowerNumber, borrowedDate,dueDate,returnedDate,fineAmount) " +
                "values(@ID, @copyNumber,@borrowerNumber, @borrowedDate,@dueDate,NULL,NULL)", cn);

                cmd.Parameters.AddWithValue("@ID", a.Id);
                cmd.Parameters.AddWithValue("@copyNumber", a.CopyNumber);
                cmd.Parameters.AddWithValue("@borrowerNumber", a.BorrowerNumber);
                cmd.Parameters.AddWithValue("@borrowedDate", a.BorrowedDate);
                cmd.Parameters.AddWithValue("@dueDate", a.BorrowedDate.AddDays(14));
                //cmd.Parameters.AddWithValue("@returnedDate", null);
                //cmd.Parameters.AddWithValue("@fineAmount", 0);
                cn.Open();

                cmd.ExecuteNonQuery();
                cn.Close();

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
        }
コード例 #5
0
ファイル: ReturnUI.cs プロジェクト: faksam/My_FPT_C-Sharp
        private void button3_Click(object sender, EventArgs e)
        {
            BorrowBL a = new BorrowBL();
            BorrowDA b = new BorrowDA();
            //DateTime returnDate = new DateTime();

            CirculatedCopy c = new CirculatedCopy();
            try
            {
                c.Id = int.Parse(dataGridView1.SelectedRows[0].Cells["ID"].Value.ToString());
                c.CopyNumber = int.Parse(dataGridView1.SelectedRows[0].Cells["copyNumber"].Value.ToString());
                c.BorrowerNumber = int.Parse(dataGridView1.SelectedRows[0].Cells["borrowerNumber"].Value.ToString());
                c.DueDate = Convert.ToDateTime(dataGridView1.SelectedRows[0].Cells["dueDate"].Value.ToString());
                c.BorrowedDate = Convert.ToDateTime(dataGridView1.SelectedRows[0].Cells["borrowedDate"].Value.ToString());
            }
            catch (Exception)
            {
                MessageBox.Show("You must select a book !");
                return;
            }

            try
            {
                c.ReturnedDate = DateTime.ParseExact(textBox3.Text, "d/M/yyyy", null);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
            if (c.ReturnedDate.Date < c.BorrowedDate)
            {
                MessageBox.Show("BorrowedDate must less than ReturnedDate !");
                return;
            }
            TimeSpan dayLater = c.ReturnedDate.Date - c.DueDate;
            double ngay = dayLater.TotalDays;
            if (ngay > 0)
            {
                textBox4.Text = "" + ngay;
            }
            else textBox4.Text = "0";

            dataGridView1.Enabled = false;
            textBox3.Enabled = false;
            button3.Enabled = false;
            button2.Enabled = true;
        }