public bool deletePurchaseOrder(Purchase_Order po)
        {
            try
            {
                ContextDB.Purchase_Order.DeleteObject(po);
                ContextDB.SaveChanges();

                return true;
            }
            catch (Exception e)
            {
                return false;
            }
        }
        public List<Purchase_Order> getPurchaseOrder(Purchase_Order po)
        {
            var q = from p in ContextDB.Purchase_Order
                    where (p.Supplier_ID == po.Supplier_ID || po.Supplier_ID == null)
                    && (p.Purchase_Order_No == po.Purchase_Order_No || po.Purchase_Order_No == null)
                    && (p.Deliver_To == po.Deliver_To || po.Deliver_To == null)
                    && (p.Expected_Date == po.Expected_Date || po.Expected_Date == null)
                    && (p.Order_By == po.Order_By || po.Order_By == null)
                    && (p.Approve_By == po.Approve_By || po.Approve_By == null)
                    && (p.Approve_Date == po.Approve_Date || po.Approve_Date == null)
                    && (p.Receive_Flag == po.Receive_Flag || po.Receive_Flag == null)
                    select p;

            return q.ToList<Purchase_Order>();
        }
 public void createPurchaseOrder(Purchase_Order po)
 {
     purchaseOrderEnt.createPurchaseOrder(po);
 }
        protected void btn_Submit_Click(object sender, EventArgs e)
        {
            try
            {
                int currentPO = (Convert.ToInt32(lblPONumber.Text));
                int maxPO = Convert.ToInt32(purchaseOrderController.checkMaxPO());

                if (lblDate.Text == "")
                {
                    if (currentPO == maxPO)
                    {
                        lblError.Text = "PO has already been generated";
                    }
                }
                else
                {
                    Purchase_Order po = new Purchase_Order();
                    po.Supplier_ID = supplier.Supplier_ID;
                    po.Purchase_Order_No = lblPONumber.Text;
                    po.Deliver_To = txtAttn.Text;
                    lblDate.Text = Calendar1.SelectedDate.ToShortDateString();
                    DateTime dt = DateTime.Parse(lblDate.Text);
                    po.Expected_Date = dt;
                    po.Order_By = null;
                    po.Approve_By = null;
                    po.Approve_Date = DateTime.Now;
                    po.Receive_Flag = false;

                    purchaseOrderController.createPurchaseOrder(po);

                    List<Purchase_Order_Detail> pod = new List<Purchase_Order_Detail>();

                    foreach (GridViewRow row in PurOrderGridView.Rows)
                    {
                        Purchase_Order_Detail poDetail = new Purchase_Order_Detail(); //have to keep this initialising here for
                        poDetail.Purchase_Order_No = lblPONumber.Text;

                        poDetail.Item_Code = row.Cells[0].Text;

                        System.Diagnostics.Debug.WriteLine("foreach poDetail.Item_Code = " + poDetail.Item_Code);

                        poDetail.Description = row.Cells[1].Text;
                        poDetail.Qty = Convert.ToInt32(row.Cells[2].Text);
                        poDetail.Price = Convert.ToDecimal(row.Cells[3].Text);
                        poDetail.Amount = Convert.ToDecimal(row.Cells[4].Text);
                        pod.Add(poDetail);
                    }

                    purchaseOrderController.createPruchaseOrderDetail(pod);
                    lblError.Text = "Succcessfully generate the PO";

                    purchaseOrderController.update_GenID(Purchase_Order);
                    if (emailSupplier(supplier.Email))
                    {
                        lblEmailStatus.Text = "Email sent to supplier";

                    }

                    else
                    {
                        lblEmailStatus.Text = "Incorrect Email address, email not sent";
                    }

                }
            }

            catch (Exception error)
            {

                lblError.Text = error.ToString();
            }
        }
        protected void Calendar1_SelectionChanged(object sender, EventArgs e)
        {
            Purchase_Order po = new Purchase_Order();
            string calendarText = Calendar1.SelectedDate.ToShortDateString();
            Boolean flag = false;
            DateTime dt = DateTime.Parse(calendarText);

            if (purchaseOrderController.validateDate(dt))
            {
                lblDate.Text = calendarText;
                po.Expected_Date = dt;
                flag = true;
                lblDateError.Text = "";
            }

            else
            {
                lblDate.Text = "";
                flag = false;
                lblDateError.Text = "Invalid date, date cannot be less than today's date nor more than 30 days";
            }

            Calendar1.Visible = false;
        }
 /// <summary>
 /// Deprecated Method for adding a new object to the Purchase_Order EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToPurchase_Order(Purchase_Order purchase_Order)
 {
     base.AddObject("Purchase_Order", purchase_Order);
 }
 /// <summary>
 /// Create a new Purchase_Order object.
 /// </summary>
 /// <param name="purchase_Order_No">Initial value of the Purchase_Order_No property.</param>
 public static Purchase_Order CreatePurchase_Order(global::System.String purchase_Order_No)
 {
     Purchase_Order purchase_Order = new Purchase_Order();
     purchase_Order.Purchase_Order_No = purchase_Order_No;
     return purchase_Order;
 }
        public bool updatePurchaseOrder(Purchase_Order po)
        {
            try
            {
                Purchase_Order p = new Purchase_Order();
                p.Supplier_ID = po.Supplier_ID == null ? p.Supplier_ID : po.Supplier_ID;
                p.Deliver_To = po.Deliver_To == null ? p.Deliver_To : po.Deliver_To;
                p.Expected_Date = po.Expected_Date == null ? p.Expected_Date : po.Expected_Date;
                p.Order_By = po.Order_By == null ? p.Order_By : po.Order_By;
                p.Approve_By = po.Approve_By == null ? p.Approve_By : po.Approve_By;
                p.Approve_Date = po.Approve_Date == null ? p.Approve_Date : po.Approve_Date;
                p.Receive_Flag = po.Receive_Flag == null ? p.Receive_Flag : po.Receive_Flag;

                ContextDB.SaveChanges();

                return true;
            }
            catch (Exception e)
            {
                return false;
            }
        }
 public void createPurchaseOrder(Purchase_Order po)
 {
     ContextDB.Purchase_Order.AddObject(po);
     ContextDB.SaveChanges();
        // dalUtl.Increament_GenID(2);
 }