//test CreatPOItem
 protected void ButtonAddNew_Click(object sender, EventArgs e)
 {
     using (PurchaseOrderManager pom = new PurchaseOrderManager())
     {
         PurchaseOrderItem item = pom.FindPurchaseOrderItemByID(509);
         PurchaseOrderItem newItem = new PurchaseOrderItem();
         newItem.QuantityToOrder = item.QuantityToOrder;
         newItem.StationeryID = item.StationeryID;
         newItem.PurchaseOrderID = item.PurchaseOrderID;
         newItem.Price = item.Price;
         newItem.DeliveryRemarks = item.DeliveryRemarks;
         PurchaseOrderItem newItem1 = pom.CreatePurchaseOrderItem(newItem);
     }
 }
        // create Purchase Order and together with Purchase Order Items
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            //justify how many suppliers involed
            List<Supplier> suppliers = SupplierInvolved();

            using (PurchaseOrderManager pom = new PurchaseOrderManager())
            {
                foreach (Supplier s in suppliers)
                {
                    PurchaseOrder purchaseOrder = new PurchaseOrder();

                    purchaseOrder.PONumber = pom.CreatePONumber();
                    purchaseOrder.DateOfOrder = DateTime.Now;
                    purchaseOrder.AttentionTo = Convert.ToInt32(ddlAttentionTo.SelectedValue);
                    purchaseOrder.CreatedBy = Membership.GetCurrentLoggedInUser().UserID;
                    purchaseOrder.IsDelivered = false;
                    DateTimeFormatInfo dtfi = new DateTimeFormatInfo();
                    dtfi.ShortDatePattern = "MM/dd/yyyy";
                    dtfi.DateSeparator = "/";

                    purchaseOrder.DateToSupply = Convert.ToDateTime(txtDateToSupply.Text, dtfi);
                    purchaseOrder.SupplierID = s.SupplierID;

                    foreach (GridViewRow r in gvPOItems.Rows)
                    {
                        if (Convert.ToInt32(((DropDownList)r.FindControl("ddlSupplier")).SelectedValue.ToString()) == s.SupplierID)
                        {
                            PurchaseOrderItem item = new PurchaseOrderItem();
                            item.PurchaseOrder = purchaseOrder;
                            item.StationeryID = (int)gvPOItems.DataKeys[r.RowIndex].Value;
                            //item.QuantityToOrder = 5;
                            item.QuantityToOrder = Convert.ToInt32(((TextBox)r.FindControl("txtRecommend")).Text.ToString());
                            using (CatalogManager cm = new CatalogManager())
                            {
                                StationeryPriceSearchDTO criteria = new StationeryPriceSearchDTO();
                                criteria.SupplierID = Convert.ToInt32(((DropDownList)r.FindControl("ddlSupplier")).SelectedValue.ToString());
                                criteria.StationeryID = (int)item.StationeryID;
                                item.Price = cm.FindStationeryPricesByCriteria(criteria)[0].Price;

                                // record supplier ID for the PO
                                purchaseOrder.SupplierID = criteria.SupplierID;
                            }
                            purchaseOrder.PurchaseOrderItems.Add(item); // only this way works
                        }
                    }
                    pom.CreatePurchaseOrder(purchaseOrder);
                }
            }
        }
 public void DeletePurchaseOrderItem(PurchaseOrderItem purchaseOrderItem)
 {
     try
     {
         using (TransactionScope ts = new TransactionScope())
         {
             this.context.PurchaseOrderItems.Attach(purchaseOrderItem);
             this.context.PurchaseOrderItems.DeleteObject(purchaseOrderItem);
             this.context.SaveChanges();
             ts.Complete();
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
 public PurchaseOrderItem CreatePurchaseOrderItem(PurchaseOrderItem purchaseOrderItem)
 {
     try
     {
         using (TransactionScope ts = new TransactionScope())
         {
             this.context.PurchaseOrderItems.AddObject(purchaseOrderItem);
             this.context.SaveChanges();
             ts.Complete();
             return purchaseOrderItem;
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            List<Supplier> suppliers = SupplierInvolved();

            using (PurchaseOrderManager pom = new PurchaseOrderManager())
            {
                foreach (Supplier s in suppliers)
                {
                    PurchaseOrder purchaseOrder = new PurchaseOrder();

                    purchaseOrder.PONumber = pom.CreatePONumber();
                    purchaseOrder.DateOfOrder = DateTime.Now;
                    purchaseOrder.AttentionTo = Convert.ToInt32(ddlAttentionTo.SelectedValue);
                    purchaseOrder.CreatedBy = Membership.GetCurrentLoggedInUser().UserID;
                    purchaseOrder.IsDelivered = false;
                    DateTimeFormatInfo dtfi = new DateTimeFormatInfo();
                    dtfi.ShortDatePattern = "MM/dd/yyyy";
                    dtfi.DateSeparator = "/";

                    purchaseOrder.DateToSupply = Convert.ToDateTime(txtDateToSupply.Text, dtfi);
                    purchaseOrder.SupplierID = s.SupplierID;

                    foreach (GridViewRow r in gvPOItems.Rows)
                    {
                        if (Convert.ToInt32(((DropDownList)r.FindControl("ddlSupplier")).SelectedValue.ToString()) == s.SupplierID)
                        {
                            PurchaseOrderItem item = new PurchaseOrderItem();
                            item.PurchaseOrder = purchaseOrder;
                            item.SpecialStationeryID = (int)gvPOItems.DataKeys[r.RowIndex].Value;
                            item.QuantityToOrder = Convert.ToInt32(((TextBox)r.FindControl("txtOrderQuantity")).Text.ToString());
                            item.Price = 5.0m;
                            purchaseOrder.SupplierID = Convert.ToInt32(((DropDownList)r.FindControl("ddlSupplier")).SelectedValue);
                            purchaseOrder.PurchaseOrderItems.Add(item); // only this way works
                        }
                    }
                    pom.CreatePurchaseOrder(purchaseOrder);
                }
            }
        }
        protected void ButtonAdd_Click(object sender, EventArgs e)
        {
            PurchaseOrderDAO poDAO = new PurchaseOrderDAO();
            PurchaseOrder po = new PurchaseOrder();
            DateTime t1 = new DateTime(2010, 12, 12);
            DateTime t2 = new DateTime(2010, 12, 20);
            po.SupplierID = 2;
            po.PONumber = "90000";
            po.DateOfOrder = t1;
            po.DateToSupply = t2;
            po.AttentionTo = 2;
            po.CreatedBy = 2;
            po.DateReceived = t2;
            po.IsDelivered = false;

            PurchaseOrderItem poitem1 = new PurchaseOrderItem();

            po.PurchaseOrderItems.Add(poitem1);

            PurchaseOrder savedPO = poDAO.CreatePurchaseOrder(po);
            //savedPO.PurchaseOrderID
            List<PurchaseOrderItem> poitems = savedPO.PurchaseOrderItems.ToList<PurchaseOrderItem>();
            //poitems[0].PurchaseOrderItemID
        }
 public PurchaseOrderItem UpdatePurchaseOrderItem(PurchaseOrderItem purchaseOrderItem)
 {
     try
     {
         PurchaseOrderItem purchaseOrderItemTemp = (from p in context.PurchaseOrderItems
                                                    where p.PurchaseOrderItemID == purchaseOrderItem.PurchaseOrderItemID
                                                    select p).FirstOrDefault();
         if (purchaseOrderItemTemp != null)
         {
             purchaseOrderItemTemp.PurchaseOrderItemID = purchaseOrderItem.PurchaseOrderItemID;
             purchaseOrderItemTemp.StationeryID = purchaseOrderItem.StationeryID;
             purchaseOrderItemTemp.QuantityToOrder = purchaseOrderItem.QuantityToOrder;
             purchaseOrderItemTemp.PurchaseOrderID = purchaseOrderItem.PurchaseOrderID;
             purchaseOrderItemTemp.Price = purchaseOrderItem.Price;
             purchaseOrderItemTemp.DeliveryRemarks = purchaseOrderItem.DeliveryRemarks;
             // add more properties here
         }
         using (TransactionScope ts = new TransactionScope())
         {
             this.context.SaveChanges();
             ts.Complete();
             return purchaseOrderItem;
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
 // CRUD for PurchaseOrderItem
 public PurchaseOrderItem CreatePurchaseOrderItem(PurchaseOrderItem item)
 {
     PurchaseOrderItem poItem = new PurchaseOrderItem();
     try
     {
         if (ValidatePurchaseOrderItem(item, PurchaseOrderMethod.Create))
         {
             poItem = purchaseOrderDAO.CreatePurchaseOrderItem(item);
         }
     }
     catch (Exception)
     {
         throw;
     }
     return poItem;
 }
        // validate purchase order item
        private bool ValidatePurchaseOrderItem(PurchaseOrderItem item, PurchaseOrderMethod purchaseOrderItemMethod)
        {
            string errMsg = "";
            try
            {
                if (item != null)
                {
                    if (purchaseOrderItemMethod == PurchaseOrderMethod.Create)
                    {
                        errMsg = "Create Purchase Order item failed. Please try again later";
                        if (//(item.PurchaseOrderID != 0 || item.PurchaseOrder != null) &&
                            ((item.StationeryID != 0 && item.SpecialStationeryID == null) || ((item.StationeryID == null && item.SpecialStationeryID != 0))) &&
                            (item.QuantityToOrder != 0))
                        {
                            return true;
                        }
                    }
                    if (purchaseOrderItemMethod == PurchaseOrderMethod.Update)
                    {
                        errMsg = "Update Purchase Order item failed. Please try again later";
                        if ((item.PurchaseOrderID != 0 || item.PurchaseOrder != null) &&
                            // comment off because of current test database error
                            //      ((item.StationeryID != 0 && item.SpecialStationeryID == 0) || ((item.StationeryID == 0 && item.SpecialStationeryID != 0))) &&
                             (item.QuantityToOrder != 0))
                        {
                            return true;
                        }
                    }
                }
                return false;
            }

            catch (Exception)
            {
                throw new PurchaseOrderException(errMsg);
            }
        }
 public void DeletePurchaseOrderItem(PurchaseOrderItem item)
 {
     purchaseOrderDAO.DeletePurchaseOrderItem(item);
 }
 /// <summary>
 /// Deprecated Method for adding a new object to the PurchaseOrderItems EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToPurchaseOrderItems(PurchaseOrderItem purchaseOrderItem)
 {
     base.AddObject("PurchaseOrderItems", purchaseOrderItem);
 }
 /// <summary>
 /// Create a new PurchaseOrderItem object.
 /// </summary>
 /// <param name="purchaseOrderItemID">Initial value of the PurchaseOrderItemID property.</param>
 /// <param name="purchaseOrderID">Initial value of the PurchaseOrderID property.</param>
 /// <param name="quantityToOrder">Initial value of the QuantityToOrder property.</param>
 /// <param name="price">Initial value of the Price property.</param>
 public static PurchaseOrderItem CreatePurchaseOrderItem(global::System.Int32 purchaseOrderItemID, global::System.Int32 purchaseOrderID, global::System.Int32 quantityToOrder, global::System.Decimal price)
 {
     PurchaseOrderItem purchaseOrderItem = new PurchaseOrderItem();
     purchaseOrderItem.PurchaseOrderItemID = purchaseOrderItemID;
     purchaseOrderItem.PurchaseOrderID = purchaseOrderID;
     purchaseOrderItem.QuantityToOrder = quantityToOrder;
     purchaseOrderItem.Price = price;
     return purchaseOrderItem;
 }