void saveButton_Click(object sender, EventArgs e) { OrderLineItemTableAdapter lineItemAdapter = new OrderLineItemTableAdapter(); CertificateNumberTableAdapter certificateNumberAdapter = new CertificateNumberTableAdapter(); decimal subtotal = 0.0m; foreach (RepeaterItem item in lineItemRepeater.Items) { if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem) { HiddenField lineItemIdHidden = (HiddenField)item.FindControl("lineItemIdHidden"); int lineItemId = Convert.ToInt32(lineItemIdHidden.Value); DollarSaverDB.OrderLineItemRow lineItem = lineItemAdapter.GetOrderLineItem(lineItemId)[0]; //DropDownList qtyList = (DropDownList)item.FindControl("qtyList"); //int qty = Convert.ToInt32(qtyList.SelectedValue); /* * if (lineItem.Quantity != qty) { * * * int returnedQty = lineItem.Quantity - qty; * certificateNumberAdapter.Return(lineItem.OrderLineItemId, returnedQty); * * if (qty == 0) { * lineItem.Returned = true; * lineItemAdapter.Update(lineItem); * } else { * lineItem.Quantity = qty; * lineItemAdapter.Update(lineItem); * * DollarSaverDB.OrderLineItemRow returnedItem = order.ReturnedLineItems.GetLineItem(lineItem.CertificateId); * * if (returnedItem != null) { * returnedItem.Quantity += returnedQty; * lineItemAdapter.Update(returnedItem); * } else { * lineItemAdapter.Insert(lineItem.OrderId, -1, returnedQty, lineItem.CertificateId, * lineItem.ShortName, lineItem.Description, lineItem.FaceValue, lineItem.Discount, lineItem.DiscountTypeId, lineItem.Printable, true); * } * } * * } */ GridView numberGrid = (GridView)item.FindControl("numberGrid"); int returnedQty = 0; foreach (GridViewRow certNumberRow in numberGrid.Rows) { CheckBox deleteBox = (CheckBox)certNumberRow.FindControl("deleteBox"); if (deleteBox.Checked) { returnedQty++; HiddenField certNumberIdHidden = (HiddenField)certNumberRow.FindControl("certNumberIdHidden"); int certNumberId = Convert.ToInt32(certNumberIdHidden.Value); DollarSaverDB.CertificateNumberRow certNumber = certificateNumberAdapter.GetCertificateNumber(certNumberId)[0]; certNumber.SetOrderLineItemIdNull(); certificateNumberAdapter.Update(certNumber); } } if (returnedQty > 0) { DollarSaverDB.OrderLineItemRow returnedItem = order.ReturnedLineItems.GetLineItem(lineItem.CertificateId); if (returnedItem != null) { returnedItem.Quantity += returnedQty; lineItemAdapter.Update(returnedItem); if (returnedQty == lineItem.Quantity) { lineItemAdapter.Delete(lineItem.OrderLineItemId); } else { lineItem.Quantity -= returnedQty; lineItemAdapter.Update(lineItem); subtotal += lineItem.Total; } } else { if (returnedQty == lineItem.Quantity) { lineItem.Returned = true; lineItemAdapter.Update(lineItem); } else { lineItemAdapter.Insert(lineItem.OrderId, -1, returnedQty, lineItem.CertificateId, lineItem.ShortName, lineItem.Description, lineItem.FaceValue, lineItem.Discount, lineItem.DiscountTypeId, lineItem.DeliveryTypeId, lineItem.DeliveryNote, true); lineItem.Quantity -= returnedQty; lineItemAdapter.Update(lineItem); subtotal += lineItem.Total; } } } else { subtotal += lineItem.Total; } } } order.SubTotal = subtotal; order.GrandTotal = subtotal; OrderTableAdapter orderAdapter = new OrderTableAdapter(); orderAdapter.Update(order); InfoMessage = "Order updated"; Response.Redirect("~/admin/OrderView.aspx?id=" + orderId); }
void updateButton_Click(object sender, EventArgs e) { OrderLineItemTableAdapter lineItemAdapter = new OrderLineItemTableAdapter(); foreach (RepeaterItem item in lineItemRepeater.Items) { HiddenField lineItemIdHidden = (HiddenField)item.FindControl("lineItemIdHidden"); TextBox qtyBox = (TextBox)item.FindControl("qtyBox"); int lineItemId = Int32.Parse(lineItemIdHidden.Value); DollarSaverDB.OrderLineItemRow lineItem = lineItemAdapter.GetOrderLineItem(lineItemId)[0]; int newQuantity = lineItem.Quantity; try { newQuantity = Int32.Parse(qtyBox.Text.Trim()); } catch { ErrorMessage = "Invalid quantity entered"; return; } if (newQuantity < 0) { ErrorMessage = "New quantity must be greater than zero"; return; } if (newQuantity > lineItem.Certificate.MaxPurchaseQty && lineItem.Certificate.MaxPurchaseQty > 0) { // set to max purchase qty and continue processing newQuantity = lineItem.Certificate.MaxPurchaseQty; InfoMessage += "Sorry, you can only purchase a maximum of " + lineItem.Certificate.MaxPurchaseQty + " of certifcate " + lineItem.Certificate.AdvertiserName + "<BR />"; } if (newQuantity != lineItem.Quantity && newQuantity >= 0) { if (newQuantity == 0) { lineItemAdapter.Delete(lineItem.OrderLineItemId); } else { newQuantity = CheckQuantity(newQuantity, lineItem.Certificate); if (newQuantity == 0) { lineItemAdapter.Delete(lineItem.OrderLineItemId); } else { lineItem.Quantity = newQuantity; lineItemAdapter.Update(lineItem); } } } } UpdateLineItemModifiedDate(); if (InfoMessage == String.Empty) { InfoMessage = "Cart updated"; } Response.Redirect("~/Cart.aspx"); }