Ejemplo n.º 1
0
        //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);
        }
Ejemplo n.º 2
0
        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);
            }));
        }
Ejemplo n.º 3
0
 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;
 }
Ejemplo n.º 4
0
        //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;
            }
        }
Ejemplo n.º 5
0
        //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;
                    }
                }
            }
        }