//private void calculate_total(object sender, EventArgs e) //{ // purchase_order purchase_order = (purchase_order)purchase_orderDataGrid.SelectedItem; // if (purchase_order != null) // { // purchase_order.get_Puchase_Total(); // } //} private void purchase_invoice_detailDataGrid_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e) { purchase_order_detail purchase_order_detail = (purchase_order_detail)purchase_order_detailDataGrid.SelectedItem; //calculate_total(sender, e); calculate_vat(sender, e); }
private void SelectProduct_Thread(object sender, EventArgs e, purchase_order purchase_order, item item, contact contact) { purchase_order_detail purchase_order_detail = new purchase_order_detail(); purchase_order_detail.purchase_order = purchase_order; Cognitivo.Purchase.OrderSetting OrderSetting = new Cognitivo.Purchase.OrderSetting(); //ItemLink if (item != null) { if (purchase_order.purchase_order_detail.Where(a => a.id_item == item.id_item).FirstOrDefault() != null || OrderSetting.AllowDuplicateItems) { //Item Exists in Context, so add to sum. purchase_order_detail _purchase_order_detail = purchase_order.purchase_order_detail.Where(a => a.id_item == item.id_item).FirstOrDefault(); _purchase_order_detail.quantity += 1; //Return because Item exists, and will +1 in Quantity return; } else { //If Item Exists in previous purchase... then get Last Cost. Problem, will get in stored value, in future we will need to add logic to convert into current currency. if (PurchaseOrderDB.purchase_invoice_detail .Where(x => x.id_item == item.id_item && x.purchase_invoice.id_contact == purchase_order.id_contact) .OrderByDescending(y => y.purchase_invoice.trans_date) .FirstOrDefault() != null) { purchase_order_detail.unit_cost = PurchaseOrderDB.purchase_invoice_detail .Where(x => x.id_item == item.id_item && x.purchase_invoice.id_contact == purchase_order.id_contact) .OrderByDescending(y => y.purchase_invoice.trans_date) .FirstOrDefault().unit_cost; } //Item DOES NOT Exist in Context purchase_order_detail.item = item; purchase_order_detail.id_item = item.id_item; purchase_order_detail.item_description = item.name; purchase_order_detail.quantity = 1; } } else { Dispatcher.BeginInvoke((Action)(() => { purchase_order_detail.item_description = sbxItem.Text; })); } //Cost Center if (contact != null && contact.app_cost_center != null) { app_cost_center app_cost_center = contact.app_cost_center; if (app_cost_center.id_cost_center > 0) { purchase_order_detail.id_cost_center = app_cost_center.id_cost_center; } } else { if (item != null) { int id_cost_center = 0; if (item.item_product != null) { if (PurchaseOrderDB.app_cost_center.Where(a => a.is_product == true && a.is_active == true && a.id_company == CurrentSession.Id_Company).FirstOrDefault() != null) { id_cost_center = Convert.ToInt32(PurchaseOrderDB.app_cost_center.Where(a => a.is_product == true && a.is_active == true && a.id_company == CurrentSession.Id_Company).FirstOrDefault().id_cost_center); } if (id_cost_center > 0) { purchase_order_detail.id_cost_center = id_cost_center; } } else if (item.item_asset != null) { if (PurchaseOrderDB.app_cost_center.Where(a => a.is_fixedasset == true && a.is_active == true && a.id_company == CurrentSession.Id_Company).FirstOrDefault() != null) { id_cost_center = Convert.ToInt32(PurchaseOrderDB.app_cost_center.Where(a => a.is_fixedasset == true && a.is_active == true && a.id_company == CurrentSession.Id_Company).FirstOrDefault().id_cost_center); } if (id_cost_center > 0) { purchase_order_detail.id_cost_center = id_cost_center; } } } else { int id_cost_center = 0; if (PurchaseOrderDB.app_cost_center.Where(a => a.is_administrative == true && a.is_active == true && a.id_company == CurrentSession.Id_Company).FirstOrDefault() != null) { id_cost_center = Convert.ToInt32(PurchaseOrderDB.app_cost_center.Where(a => a.is_administrative == true && a.is_active == true && a.id_company == CurrentSession.Id_Company).FirstOrDefault().id_cost_center); } if (id_cost_center > 0) { purchase_order_detail.id_cost_center = id_cost_center; } } } //VAT if (item != null) { if (item.id_vat_group > 0) { purchase_order_detail.id_vat_group = item.id_vat_group; } } else if (PurchaseOrderDB.app_vat_group.Where(x => x.is_active == true && x.is_default == true && x.id_company == CurrentSession.Id_Company).FirstOrDefault() != null) { purchase_order_detail.id_vat_group = PurchaseOrderDB.app_vat_group.Where(x => x.is_active == true && x.is_default == true && x.id_company == CurrentSession.Id_Company).FirstOrDefault().id_vat_group; } Dispatcher.BeginInvoke((Action)(() => { purchase_order.purchase_order_detail.Add(purchase_order_detail); purchase_orderpurchase_order_detailViewSource.View.Refresh(); calculate_vat(sender, e); })); }
private void purchase_invoice_detailDataGrid_InitializingNewItem(object sender, InitializingNewItemEventArgs e) { purchase_order_detail purchase_order_detail = (purchase_order_detail)e.NewItem; purchase_order purchase_order = (purchase_order)purchase_orderDataGrid.SelectedItem; }
//submit all for approval protected void ButtonPOApproval_Click(object sender, EventArgs e) { ButtonPOApproval.Enabled = false; List <supplier> supplierlist = GetSupplierList(); string date = DateTime.Now.ToString("yyyy-MM-dd"); int? id = user.supervisor_id; string email; try { using (TransactionScope tx = new TransactionScope()) { foreach (supplier sup in supplierlist) { string supcode = sup.supplier_id.Trim().ToLower(); purchase_order po = new purchase_order() { purchase_order_date = DateTime.ParseExact(date, "yyyy-MM-dd", null), suppler_id = sup.supplier_id, employee_id = user.employee_id, purchase_order_status = "Awaiting approval", manager_remark = null, }; BusinessLogic.CreatePO(po); int NewPOnum = po.purchase_order_number; for (int i = 0; i < list.Count; i++) { string DateRequired = list[i].DateRequired.ToString("yyyy-MM-dd"); if (list[i].Supplier.supplier_id.ToLower().Trim().Equals(supcode)) { purchase_order_detail poDetails = new purchase_order_detail() { purchase_order_number = NewPOnum, item_number = list[i].Inventory.item_number, item_purchase_order_quantity = list[i].OrderedQty, item_accept_quantity = 0, item_purchase_order_price = list[i].OrderedQty * list[i].UnitPrice, purchase_order_item_remark = null, item_purchase_order_status = "Pending", item_accept_date = null, item_required_date = DateTime.ParseExact(DateRequired, "yyyy-MM-dd", null), }; BusinessLogic.CreatePOdetails(poDetails); } } } list.Clear(); if (id != null) { int supid = (int)id; email = BusinessLogic.RetrieveEmailByEmployeeID(supid); BusinessLogic.sendMail(email, "New PO awaiting for approval", user.employee_name + " has submitted a new PO for approval."); } tx.Complete(); Session["StagingList"] = list; loadGrid(); } } catch (Exception ex) { Label1.Text = ex.Message; } }
//submit PO protected void Button3_Click(object sender, EventArgs e) { Button3.Enabled = false; if (user != null && supplierid != null) { string email; int? id = user.supervisor_id; string date = DateTime.Now.ToString("yyyy-MM-dd"); List <int> indexes = new List <int>(); for (int i = 0; i < polist.Count; i++) { if (polist[i].Supplier.supplier_id.Trim().ToLower() == supplierid.Trim().ToLower()) { indexes.Add(i); } } using (TransactionScope tx = new TransactionScope()) { try { //create purchase order purchase_order po = new purchase_order() { purchase_order_date = DateTime.ParseExact(date, "yyyy-MM-dd", CultureInfo.InvariantCulture), suppler_id = supplierid, employee_id = user.employee_id, purchase_order_status = "Awaiting approval", manager_remark = null, }; try { BusinessLogic.CreatePO(po); int NewPOnum = po.purchase_order_number; foreach (int index in indexes) { string DateRequired = polist[index].DateRequired.ToString("yyyy-MM-dd"); try { //create purchase order details purchase_order_detail poDetails = new purchase_order_detail() { purchase_order_number = NewPOnum, item_number = polist[index].Inventory.item_number, item_purchase_order_quantity = polist[index].OrderedQty, item_accept_quantity = 0, item_purchase_order_price = polist[index].OrderedQty * polist[index].UnitPrice, purchase_order_item_remark = null, item_purchase_order_status = "Pending", item_accept_date = null, item_required_date = DateTime.ParseExact(DateRequired, "yyyy-MM-dd", CultureInfo.InvariantCulture), }; BusinessLogic.CreatePOdetails(poDetails); } catch (Exception ex) { Label3.Text = "4" + ex.Message; } } try { for (int k = indexes.Count - 1; k >= 0; k--) { polist.RemoveAt(indexes[k]); } if (id != null) { int supid = (int)id; email = BusinessLogic.RetrieveEmailByEmployeeID(supid); BusinessLogic.sendMail(email, "New PO awaiting for approval", user.employee_name + " has submitted a new PO for approval."); } BusinessLogic.sendMail("*****@*****.**", "New PO awaiting for approval", user.employee_name + " has submitted a new PO for approval."); tx.Complete(); Session["StagingList"] = polist; Response.Redirect("POStagingSummary.aspx"); } catch (Exception ex) { Label3.Text = "3" + ex.Message; } } catch (Exception ex) { Label3.Text = "2" + ex.Message; } } catch (Exception ex) { Label3.Text = "1" + ex.Message; } } } }