private void Button_Click_1(object sender, RoutedEventArgs e) { int Item_Id = int.Parse(ItemCombo.SelectedValue.ToString()); var SelectItem = context.Items.Where(item => item.ID == Item_Id).FirstOrDefault(); int No = int.Parse(NoOfInvoice.Text); purchaseInvoice CurrentEdit = context.purchaseInvoices.Where(recip => recip.ID == No).FirstOrDefault(); ItemInPurchaseInvoice CurrentEditQuan = context.ItemInPurchaseInvoices.Where(recip => recip.purchaseInvoice_Id == CurrentEdit.ID && recip.Item_Id == SelectItem.ID).FirstOrDefault(); if (CurrentEdit == null) { return; } SelectItem.Quantity += CurrentEditQuan.Quantity; CurrentEditQuan.Quantity = int.Parse(Quantity.Text); SelectItem.Quantity -= CurrentEditQuan.Quantity; ListViewRecipt Row = ListView.SelectedItem as ListViewRecipt; if (Row == null) { return; } SubtractTotal(Row.Quantity, Row.PriceForPiece); Row.Quantity = int.Parse(Quantity.Text); ListView.Items.Remove(ListView.SelectedItem); Total.Text = calculateTotal(Row.Quantity, Row.PriceForPiece).ToString(); CategoryCombo.IsEnabled = true; ItemCombo.IsEnabled = true; ListView.Items.Add(Row); context.SaveChanges(); }
private void Button_Click(object sender, RoutedEventArgs e) { if (Regex.IsMatch(Quantity.Text, "[^ 0-9]*") || double.Parse(Quantity.Text) <= 0) { MessageBox.Show("This Quantity is not Valid"); } else if (CategoryCombo.SelectedIndex != -1 && ItemCombo.SelectedIndex != -1 && SupllierCombo.SelectedIndex != -1 && Quantity.Text != "") { int Item_Id = int.Parse(ItemCombo.SelectedValue.ToString()); var SelectItem = context.Items.Where(item => item.ID == Item_Id).FirstOrDefault(); int AvailableQuantity = SelectItem.Quantity; if (int.Parse(Quantity.Text) > AvailableQuantity) { MessageBox.Show("There aren't This Quantity In Store"); } else { int QuantityValue = int.Parse(Quantity.Text); int supp_Id = int.Parse(SupllierCombo.SelectedValue.ToString()); if (CreatedObject == false) { recipt = new purchaseInvoice() { Date = DateTime.Now, Supplier = context.Suppliers.Where(sup => sup.ID == supp_Id).FirstOrDefault(), ItemInPurchaseInvoices = new List <ItemInPurchaseInvoice>() }; CreatedObject = true; context.purchaseInvoices.Add(recipt); } ItemInPurchaseInvoice itemsRecipted = new ItemInPurchaseInvoice(); itemsRecipted.Item = SelectItem; itemsRecipted.purchaseInvoice = recipt; itemsRecipted.Quantity = QuantityValue; recipt.ItemInPurchaseInvoices.Add(itemsRecipted); SelectItem.ItemInPurchaseInvoices.Add(itemsRecipted); SelectItem.Quantity -= int.Parse(Quantity.Text); TotalValues += (int.Parse(Quantity.Text) * SelectItem.SellPrice); var suplier = context.Suppliers.Where(sallr => sallr.ID == supp_Id).FirstOrDefault(); suplier.purchaseInvoices.Add(recipt); context.SaveChanges(); Total.Text = TotalValues.ToString(); NoOfInvoice.Text = recipt.ID.ToString(); salesMan.Text = SupllierCombo.Text; this.ListView.Items.Add(new ListViewRecipt { ID = int.Parse(NoOfInvoice.Text), Category = CategoryCombo.Text, Item_Name = ItemCombo.Text, Quantity = int.Parse(Quantity.Text), PriceForPiece = SelectItem.SellPrice, TotalPrice = double.Parse(Quantity.Text) * SelectItem.SellPrice }); Edit.IsEnabled = true; Delete.IsEnabled = true; SupllierCombo.IsEnabled = false; } } else { MessageBox.Show("Enter Correct Data"); } }
public BackFromSupplier() { InitializeComponent(); context = new Context(); var query = context.Catogerys; CategoryCombo.SelectedValuePath = "ID"; CategoryCombo.DisplayMemberPath = "Name"; CategoryCombo.ItemsSource = query.ToList(); var query2 = context.Suppliers; SupllierCombo.SelectedValuePath = "ID"; SupllierCombo.DisplayMemberPath = "Name"; SupllierCombo.ItemsSource = query2.ToList(); Edit.IsEnabled = false; Delete.IsEnabled = false; recipt = new purchaseInvoice(); }
public AddItem() { context.SaveChanges(); pi = new purchaseInvoice(); InitializeComponent(); var cats = context.Catogerys; cmbitems.Items.Clear(); foreach (Catogery item in cats) { cmbcats.DisplayMemberPath = "Name"; cmbcats.SelectedValuePath = "ID"; cmbcats.Items.Add(item); } var suppliers = context.Suppliers; foreach (var item in suppliers) { cmbsuppliers.DisplayMemberPath = "Name"; cmbsuppliers.SelectedValuePath = "ID"; cmbsuppliers.Items.Add(item); } LVitems.Items.Clear(); }
private void btnadditem_Click(object sender, RoutedEventArgs e) { int qty, sellprice, buyprice; bool tryqty = int.TryParse(txtQty.Text, out qty); bool trysellprice = int.TryParse(txtsellprice.Text, out sellprice); bool trybuyprice = int.TryParse(txtBuyPrice.Text, out buyprice); //bool xx = int.Parse(txtsellprice.Text) > int.Parse(txtBuyPrice.Text); if (LVitems.Items.Count == 0 && cmbitems.Items.Count > 0 && txtQty.Text != "" && tryqty && sellprice > buyprice && qty > 0 && trysellprice && trybuyprice) { cmbsuppliers.IsEnabled = false; Item items = (Item)cmbitems.SelectedItem; Item current_item = context.Items.Where(c => c.ID == items.ID).First(); current_item.Quantity += int.Parse(txtQty.Text); current_item.SellPrice = int.Parse(txtsellprice.Text); current_item.BuyPrice = int.Parse(txtBuyPrice.Text); Supplier selected_supplier = (Supplier)cmbsuppliers.SelectedItem; if (FirstClick == false) { pi = new purchaseInvoice(); pi.Date = DateTime.Now; // pi.Quantity = int.Parse(txtQty.Text); pi.Supplier = selected_supplier; pi.Supplier = (Supplier)cmbsuppliers.SelectedItem; pi.KindOfInvoice = true; pi.TotalPrice = int.Parse(txtQty.Text) * int.Parse(current_item.BuyPrice.ToString()); context.purchaseInvoices.Add(pi); FirstClick = true; } selected_supplier.purchaseInvoices.Add(pi); ItemInPurchaseInvoice iip = new ItemInPurchaseInvoice(); // iip.Item = ; iip.Item_Id = current_item.ID; iip.purchaseInvoice_Id = pi.ID; iip.purchaseInvoice = pi; iip.Quantity = int.Parse(txtQty.Text); //////////////// context.ItemInPurchaseInvoices.Add(iip); context.SaveChanges(); MessageBox.Show("your items succesfuly"); } else if (LVitems.Items.Count >= 1) { cmbsuppliers.IsEnabled = false; foreach (var item in listoflvitems) { // Context c = new Context(); Supplier selected_supplier = (Supplier)cmbsuppliers.SelectedItem; Item current_item = context.Items.Where(cc => cc.ID == item.ID).First(); // Item current_item = context.Items.Where(c => c.ID == item.ID).First(); if (FirstClick == false) { pi = new purchaseInvoice(); pi.Date = DateTime.Now; // pi.Quantity = int.Parse(txtQty.Text); pi.KindOfInvoice = true; pi.Supplier = selected_supplier; pi.Supplier = (Supplier)cmbsuppliers.SelectedItem; // pi.TotalPrice = int.Parse(txtQty.Text) * int.Parse(current_item.BuyPrice.ToString()); context.purchaseInvoices.Add(pi); FirstClick = true; } //purchaseInvoice pi = new purchaseInvoice(); pi.Date = DateTime.Now; // pi.Quantity = item.Quantity; // Supplier selected_supplier =item.SupplierID; pi.Supplier = item.Supplier; pi.KindOfInvoice = true; pi.Supplier = item.Supplier; //(Supplier)cmbsuppliers.SelectedItem; pi.TotalPrice = item.Quantity * int.Parse(current_item.BuyPrice.ToString()); // selected_supplier.purchaseInvoices.Add(pi); ItemInPurchaseInvoice iip = new ItemInPurchaseInvoice(); //item.item.ItemInPurchaseInvoices = new List<ItemInPurchaseInvoice>(); // iip.Item = ; iip.Item_Id = current_item.ID; iip.purchaseInvoice_Id = pi.ID; iip.purchaseInvoice = pi; iip.Quantity = item.Quantity; current_item.Quantity += item.Quantity; current_item.SellPrice = item.SellPrice; current_item.BuyPrice = item.BuyPrice; item.Supplier.purchaseInvoices.Add(pi); //item.item context.ItemInPurchaseInvoices.Add(iip); //context.Suppliers.Add(); context.SaveChanges(); } MessageBox.Show("your list of items added succesfuly"); LVitems.Items.Clear(); listoflvitems.Clear(); } else { MessageBox.Show("Plz check that:\n 1-you choosed an item \n" + " 2-you choosed a supplier \n " + "3- sell price bigger than buy price and bigger than zero "); } }
public ActionResult Edit(purchaseReceive purchasereceive) { if (acm.cekSession() == false) return RedirectToAction("Logout", "Account"); lvm = Session["sessionUserLogin"] as LoginViewModel.userLogin; if (acm.cekValidation(Url.Action().ToString()) == false && lvm.isAdmin == false) return RedirectToAction("NotAuthorized", "Account", new { menu = Url.Action().ToString() }); if (ModelState.IsValid) { var countChk = 0; bool isProposed = false; for (int i = 0; i < Request.Form.Count; i++) { if (Request.Form.AllKeys.ToList()[i].Contains("txtProductID_")) countChk++; else if (Request.Form.AllKeys.ToList()[i].Contains("hdnTypeSubmit")) if (Request.Form["hdnTypeSubmit"].ToString() == "requested") isProposed = true; } try { using (TransactionScope ts = new TransactionScope()) { lvm = Session["sessionUserLogin"] as LoginViewModel.userLogin; purchasereceive.modifiedUser = lvm.userID; purchasereceive.modifiedDate = DateTime.Now; purchasereceive.proposedStatus = isProposed; db.Entry(purchasereceive).State = EntityState.Modified; List<string> listProductId = new List<string>(); #region insertDetail bool runFirst = true; for (int i = 1; i <= countChk; i++) { if (runFirst == true) { db.purchaseReceiveDetails.RemoveRange(db.purchaseReceiveDetails.Where(x => x.receiveNo == purchasereceive.receiveNo)); db.purchaseReturnDetails.RemoveRange(db.purchaseReturnDetails.Where(x => x.receiveNo == purchasereceive.receiveNo)); runFirst = false; } var colVal = Request.Form["txtProductID_" + i]; if (colVal == "") break; int t_productID = int.Parse(Request.Form["txtProductID_" + i].ToString()); int t_qtyReceive = Request.Form["txtQtyReceive_" + i].ToString() != "" ? Convert.ToInt32(Request.Form["txtQtyReceive_" + i].ToString().Replace('.', ',')) : 0; int t_qtyReturn = Request.Form["txtQtyReturn_" + i].ToString() != "" ? Convert.ToInt32(Request.Form["txtQtyReturn_" + i].ToString().Replace('.', ',')) : 0; listProductId.Add(t_productID.ToString()); if (t_qtyReceive > 0) { var editorx = new purchaseReceive.purchaseReceiveDetail() { receiveNo = purchasereceive.receiveNo, productId = t_productID, qty = t_qtyReceive }; db.purchaseReceiveDetails.Add(editorx); } if (t_qtyReturn > 0) { var editory = new purchaseReceive.purchaseReturnDetail() { receiveNo = purchasereceive.receiveNo, productId = t_productID, qty = t_qtyReturn }; db.purchaseReturnDetails.Add(editory); } } #endregion if (isProposed == true) { #region createInvoice PurchaseInvoiceController pIv = new PurchaseInvoiceController(); string prefixInvoice = pIv.prefix; string generateIDInvoice = prefixInvoice + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString("d2"); string generateIDInvoiceSequence = ""; var invIDCreated = db.purchaseInvoices.Where(x => x.purchaseInvoiceNo.Contains(generateIDInvoice)).OrderByDescending(x => x.createdDate).Select(x => x.purchaseInvoiceNo).ToList(); if (invIDCreated.Count == 0) { generateIDInvoiceSequence = generateIDInvoice + "0001"; } else { generateIDInvoiceSequence = generateIDInvoice + (Convert.ToInt32(invIDCreated[0].Substring((invIDCreated[0].Length - 4))) + 1).ToString().PadLeft(4, '0'); } var headerPO = db.purchaseOrderHeaders.Where(x => x.poId == purchasereceive.poId).ToList(); var topPOMultiple = db.purchaseOrderTOPs.Where(x => x.poId == purchasereceive.poId).ToList(); purchaseInvoice purchaseinvoice = new purchaseInvoice(); purchaseinvoice.invoiceDate = purchasereceive.proposedDate; purchaseinvoice.receiveNo = purchasereceive.receiveNo; purchaseinvoice.createdUser = purchasereceive.proposedBy; purchaseinvoice.createdDate = purchasereceive.proposedDate; if (headerPO[0].topType == "Single") { purchaseinvoice.purchaseInvoiceNo = generateIDInvoiceSequence; purchaseinvoice.dueDate = purchasereceive.proposedDate.AddDays(headerPO[0].topAmount); db.purchaseInvoices.Add(purchaseinvoice); } else if (headerPO[0].topType == "Multiple") { for (int a = 0; a < topPOMultiple.Count; a++) { purchaseinvoice.purchaseInvoiceNo = generateIDInvoiceSequence; purchaseinvoice.dueDate = topPOMultiple[a].buyDate; int prodId = int.Parse(listProductId[0]); var poInfo = db.purchaseOrderDetails.Where(x => x.poId == purchasereceive.poId && x.productID == prodId).ToList(); decimal total = ((poInfo[0].qty * poInfo[0].price) - ((poInfo[0].qty * poInfo[0].price) / 100)); purchaseinvoice.total = total; db.purchaseInvoices.Add(purchaseinvoice); generateIDInvoiceSequence = generateIDInvoice + (Convert.ToInt32(generateIDInvoiceSequence.Substring((generateIDInvoiceSequence.Length - 4))) + 1).ToString().PadLeft(4, '0'); } db.purchaseInvoices.Add(purchaseinvoice); } #endregion } db.SaveChanges(); ts.Complete(); } return RedirectToAction("Index"); } catch (Exception exc) { string a = exc.Message; } } return View(purchasereceive); }
public ActionResult Create(purchaseReceive purchasereceive) { if (acm.cekSession() == false) return RedirectToAction("Logout", "Account"); lvm = Session["sessionUserLogin"] as LoginViewModel.userLogin; if (acm.cekValidation(Url.Action().ToString()) == false && lvm.isAdmin == false) return RedirectToAction("NotAuthorized", "Account", new { menu = Url.Action().ToString() }); var z = db.purchaseOrderDetails.Where(x => x.poId == purchasereceive.poId) .Join(db.purchaseOrderHeaders, a => a.poId, b => b.poId, (a, b) => new { a, b }) .Join(db.purchaseRequestDetails, c => c.b.prId, d => d.prId, (c, d) => new { c, d }) .Where(e => e.c.a.productID == e.d.productId) .Select(y => new { y.c.a.poId, y.c.a.productID, y.d.description, y.c.a.qty, y.d.unit }).ToList(); var model = new purchaseReceive(); for (int i = 0; i < z.Count; i++) { var editor = new purchaseReceive.poReceive() { productId = z[i].productID, productDesc = z[i].description, qtyOrder = z[i].qty, unit = z[i].unit }; model.detailPoReceive.Add(editor); } ViewData["dataDetail"] = model.detailPoReceive.ToList(); if (ModelState.IsValid) { var countChk = 0; bool isProposed = false; for (int i = 0; i < Request.Form.Count; i++) { if (Request.Form.AllKeys.ToList()[i].Contains("txtProductID_")) countChk++; else if (Request.Form.AllKeys.ToList()[i].Contains("hdnTypeSubmit")) if (Request.Form["hdnTypeSubmit"].ToString() == "requested") isProposed = true; } try { using (TransactionScope ts = new TransactionScope()) { string generateID = prefix + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString("d2"); var prIDCreated = db.purchaseReceives.Where(x => x.receiveNo.Contains(generateID)).OrderByDescending(x => x.createdDate).Select(x => x.poId).ToList(); if (prIDCreated.Count == 0) { generateID = generateID + "0001"; } else { generateID = generateID + (Convert.ToInt32(prIDCreated[0].Substring((prIDCreated[0].Length - 4))) + 1).ToString().PadLeft(4, '0'); } purchasereceive.receiveNo = generateID; lvm = Session["sessionUserLogin"] as LoginViewModel.userLogin; purchasereceive.createdUser = lvm.userID; purchasereceive.createdDate = DateTime.Now; purchasereceive.proposedBy = lvm.userID; purchasereceive.proposedDate = DateTime.Now; purchasereceive.proposedStatus = isProposed; db.purchaseReceives.Add(purchasereceive); List<string> listProductId = new List<string>(); List<int> listReceive = new List<int>(); #region insertDetail for (int i = 1; i <= countChk; i++) { var colVal = Request.Form["txtProductID_" + i]; if (colVal == "") break; int t_productID = int.Parse(Request.Form["txtProductID_" + i].ToString()); int t_qtyReceive = Request.Form["txtQtyReceive_" + i].ToString() != "" ? Convert.ToInt32(Request.Form["txtQtyReceive_" + i].ToString().Replace('.', ',')) : 0; int t_qtyReturn = Request.Form["txtQtyReturn_" + i].ToString() != "" ? Convert.ToInt32(Request.Form["txtQtyReturn_" + i].ToString().Replace('.', ',')) : 0; listProductId.Add(t_productID.ToString()); listReceive.Add(t_qtyReceive); if (t_qtyReceive > 0) { var editorx = new purchaseReceive.purchaseReceiveDetail() { receiveNo = purchasereceive.receiveNo, productId = t_productID, qty = t_qtyReceive }; db.purchaseReceiveDetails.Add(editorx); } if (t_qtyReturn > 0) { var editory = new purchaseReceive.purchaseReturnDetail() { receiveNo = purchasereceive.receiveNo, productId = t_productID, qty = t_qtyReturn }; db.purchaseReturnDetails.Add(editory); } } #endregion if(isProposed == true) { #region createInvoice PurchaseInvoiceController pIv = new PurchaseInvoiceController(); string prefixInvoice = pIv.prefix; string generateIDInvoice = prefixInvoice + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString("d2"); string generateIDInvoiceSequence = ""; var invIDCreated = db.purchaseInvoices.Where(x => x.purchaseInvoiceNo.Contains(generateIDInvoice)).OrderByDescending(x => x.createdDate).Select(x => x.purchaseInvoiceNo).ToList(); if (invIDCreated.Count == 0) { generateIDInvoiceSequence = generateIDInvoice + "0001"; } else { generateIDInvoiceSequence = generateIDInvoice + (Convert.ToInt32(invIDCreated[0].Substring((invIDCreated[0].Length - 4))) + 1).ToString().PadLeft(4, '0'); } var headerPO = db.purchaseOrderHeaders.Where(x => x.poId == purchasereceive.poId).ToList(); var topPOMultiple = db.purchaseOrderTOPs.Where(x => x.poId == purchasereceive.poId).ToList(); purchaseInvoice purchaseinvoice = new purchaseInvoice(); purchaseinvoice.invoiceDate = purchasereceive.proposedDate; purchaseinvoice.receiveNo = purchasereceive.receiveNo; purchaseinvoice.createdUser = purchasereceive.proposedBy; purchaseinvoice.createdDate = purchasereceive.proposedDate; purchaseinvoice.remarks = purchasereceive.remarks; if (headerPO[0].topType == "Single") { purchaseinvoice.purchaseInvoiceNo = generateIDInvoiceSequence; purchaseinvoice.dueDate = purchasereceive.proposedDate.AddDays(headerPO[0].topAmount); decimal total = 0; for (int i = 1; i <= countChk; i++) { var colVal = Request.Form["txtProductID_" + i]; if (colVal == "") break; int t_productID = int.Parse(Request.Form["txtProductID_" + i].ToString()); int t_qtyReceive = Request.Form["txtQtyReceive_" + i].ToString() != "" ? Convert.ToInt32(Request.Form["txtQtyReceive_" + i].ToString().Replace('.', ',')) : 0; int t_qtyReturn = Request.Form["txtQtyReturn_" + i].ToString() != "" ? Convert.ToInt32(Request.Form["txtQtyReturn_" + i].ToString().Replace('.', ',')) : 0; var poInfo = db.purchaseOrderDetails.Where(x => x.poId == purchasereceive.poId && x.productID == t_productID).ToList(); foreach (var ax in poInfo as IEnumerable<purchaseOrderHeader.purchaseOrderDetail>) { total += ((t_qtyReceive * ax.price) - (((t_qtyReceive * ax.price) * ax.disc) / 100)); } } var poInfoH = db.purchaseOrderHeaders.Where(x => x.poId == purchasereceive.poId).ToList(); foreach (var axH in poInfoH as IEnumerable<purchaseOrderHeader>) { total = (total - ((total * axH.disc) / 100)); total = (total + ((total * axH.ppn) / 100)); } purchaseinvoice.total = total; db.purchaseInvoices.Add(purchaseinvoice); } else if (headerPO[0].topType == "Multiple") { for (int a = 0; a < topPOMultiple.Count; a++) { purchaseinvoice.purchaseInvoiceNo = generateIDInvoiceSequence; purchaseinvoice.dueDate = topPOMultiple[a].buyDate; int prodId = int.Parse(listProductId[0]); var poInfo = db.purchaseOrderDetails.Where(x => x.poId == purchasereceive.poId && x.productID == prodId).ToList(); decimal total = ((poInfo[0].qty * poInfo[0].price) - ((poInfo[0].qty * poInfo[0].price) / 100)); purchaseinvoice.total = total; db.purchaseInvoices.Add(purchaseinvoice); generateIDInvoiceSequence = generateIDInvoice + (Convert.ToInt32(generateIDInvoiceSequence.Substring((generateIDInvoiceSequence.Length - 4))) + 1).ToString().PadLeft(4, '0'); } db.purchaseInvoices.Add(purchaseinvoice); } #endregion } db.SaveChanges(); ts.Complete(); } return RedirectToAction("Index"); } catch (Exception exc) { string a = exc.Message; } } return View(purchasereceive); }