protected void MakeOrder(object sender, EventArgs e) { bool duplicate = false; Button btn = (Button)sender; GridViewRow gvr = (GridViewRow)btn.NamingContainer; int itemcode = Convert.ToInt32(((Label)gvr.FindControl("Label_tenderId")).Text); Tender_List_Details td = context.Tender_List_Details.Where(x => x.tender_id == itemcode).First(); HashSet <OrderDetailsView> itemList = (HashSet <OrderDetailsView>)Session["tender"]; next.Visible = true; if (itemList == null) { itemList = new HashSet <OrderDetailsView>(); itemList.Add(new OrderDetailsView(td)); lblResult.Visible = true; lblduplicate.Visible = false; lblResult.Text = "Added Item Successfully"; Session["tender"] = itemList; GridView2.DataSource = itemList; GridView2.DataBind(); } else { foreach (OrderDetailsView s in itemList) { if (s.TenderId == td.tender_id) { duplicate = true; break; } } if (!duplicate) { itemList.Add(new OrderDetailsView(td)); lblResult.Visible = true; lblduplicate.Visible = false; lblResult.Text = "Added Item Successfully"; GridView2.DataSource = itemList; GridView2.DataBind(); Session["tender"] = itemList; } else { lblduplicate.Visible = true; lblResult.Visible = false; lblduplicate.Text = "Duplicate item!"; Session["tender"] = itemList; } } }
protected void btnGo_Click(object sender, EventArgs e) { using (SSISEntities context = new SSISEntities()) { // For all item codes that are not set, go and add things to stuff var details = context.Tender_List_Details.GroupBy(x => x.item_code).ToList(); var existingItemCodes = details.Select(s => s.Key); var otherItemCodes = context.Stock_Inventory.Select(s => s.item_code).ToList(); foreach (var item in existingItemCodes) { otherItemCodes.Remove(item); } // otherItemCodes has been filtered Random r = new Random(); List <int> tenderYearIds = context.Tender_List.Select(x => x.tender_year_id).ToList(); foreach (var item in otherItemCodes) { int toRemove = r.Next(0, 4); List <int> filteredTenderYearIds = tenderYearIds.ToList(); // select 3 supplier ids filteredTenderYearIds.RemoveAt(toRemove); // add a newdetail for each of the supplier ids, with each a random price double price = r.NextDouble() * 2 + 0.2d; foreach (int tenderYeadId in filteredTenderYearIds) { // add a new tenderListDetail Tender_List_Details newDetail = new Tender_List_Details(); decimal priceChange = (decimal)((r.NextDouble() * 0.4) - 0.2); decimal newPrice = ((decimal)price) + priceChange; newDetail.price = newPrice; newDetail.rank = 0; newDetail.tender_year_id = tenderYeadId; newDetail.item_code = item; newDetail.deleted = "N"; context.Tender_List_Details.Add(newDetail); } } context.SaveChanges(); } }
protected void btnOldGo_Click(object sender, EventArgs e) { using (SSISEntities context = new SSISEntities()) { // Get all tender list details currently // Get item codes from there // get price too // foreach tender list detail, add one for supplier ALPA (year_id 7) // set price to be price += random from -0.5 to 0.5. if price is below zero, add 1 // set rank 0, set deleted 'N' var details = context.Tender_List_Details.GroupBy(x => x.item_code).ToList(); Random r = new Random(); int count = details.Count; int i = 0; foreach (var detail in details) { string code = detail.Key; decimal price = detail.First().price; decimal priceChange = (decimal)(r.NextDouble() - 0.2); decimal newPrice = price + priceChange; newPrice = newPrice < 0 ? newPrice + 0.5m : newPrice; Tender_List_Details newDetail = new Tender_List_Details(); newDetail.price = newPrice; newDetail.rank = 0; if (i <= count / 2) { newDetail.tender_year_id = 10; } else { newDetail.tender_year_id = 11; } newDetail.item_code = code; newDetail.deleted = "N"; context.Tender_List_Details.Add(newDetail); i++; } context.SaveChanges(); } }
private void fillFields(Tender_List_Details order) { using (SSISEntities context = new SSISEntities()) { Stock_Inventory item = context.Stock_Inventory.Where(x => x.item_code == order.item_code).First();//Find(order.ISBN); itemDesc = item.item_description; supplierName = context.Suppliers.Where(x => x.supplier_id == order.Tender_List.supplier_id).Select(x => x.name).First(); price = order.price; tenderId = order.tender_id; quantity = item.reorder_qty; supplierId = order.Tender_List.supplier_id; } }
public OrderDetailsView(Tender_List_Details tender) { fillFields(tender); }
protected void InsertNewTender_Click(object sender, EventArgs e) { if (IsPostBack) { decimal price; int rank; String supplierName = DropDownList1.SelectedItem.ToString(); String itemDescription = DropDownList2.SelectedItem.ToString(); DateTime tenderDate = DateTime.Parse(TextBox1.Text); bool isDouble = Decimal.TryParse(TextBox2.Text, out price); String currentDate = DateTime.Now.ToString("yyyy-MM-dd"); if (supplierName.Equals("Select---")) { lblerror2.Text = "PLeae choose Supplier Name!"; } else if (itemDescription.Equals("Select---")) { lblerror2.Text = " "; lblerror3.Text = "PLeae choose one item description!"; } else if ((TextBox1.Text).CompareTo(currentDate) == -1) { lblerror2.Text = " "; lblerror3.Text = " "; lblerror1.Text = "Cannot choose previous date!"; } else { lblerror1.Text = ""; lblerror2.Text = ""; lblerror3.Text = ""; Label1.Text = ""; if ((!supplierName.Equals("Select---")) && (!itemDescription.Equals("Select---"))) { //For getting supplier Id from supplier name var result1 = entities.Suppliers.Where(x => x.name == supplierName).Select(x => x.supplier_id); supplierID = result1.First(); //For getting item code from item description var result2 = entities.Stock_Inventory.Where(x => x.item_description == itemDescription).Select(x => x.item_code); itemCode = result2.First(); using (SSISEntities entities = new SSISEntities()) { //For checking tender year string[] words = tenderDate.ToString().Split('/'); String tyear = words[2]; String ctyear = tyear.Substring(0, 4); bool tenderListFlag = checkTenderList(ctyear); int tenderListDetailCount = checkTenderListDetail(ctyear); if (tenderListFlag == false) { if (tenderListDetailCount == 0) { Tender_List tender = new Tender_List { supplier_id = supplierID, tender_date = tenderDate, deleted = "N" }; Tender_List_Details tenderDetail = new Tender_List_Details { tender_year_id = tender.tender_year_id, price = price, rank = 0, item_code = itemCode, deleted = "N" }; entities.Tender_List.Add(tender); entities.Tender_List_Details.Add(tenderDetail); entities.SaveChanges(); } else { chkflag = "T"; } } else { if (tenderListDetailCount == 0) { var query = entities.Tender_List.Where(x => x.tender_date.Year == DateTime.Today.Year && x.supplier_id == supplierID && x.deleted == "N").Select(x => x.tender_year_id).Distinct(); tenderYearId = query.First(); Tender_List_Details tenderDetail = new Tender_List_Details { tender_year_id = tenderYearId, price = price, rank = 0, item_code = itemCode, deleted = "N" }; entities.Tender_List_Details.Add(tenderDetail); entities.SaveChanges(); } else { chkflag = "T"; } } if (chkflag == "T") { Label1.Text = "Your Data is already exist.Please choose another one!"; } else { Response.Redirect("TenderListForm.aspx"); } } } } } }