Example #1
0
 private void HotkeyPressed(object sender, ExecutedRoutedEventArgs e)
 {
     //Code To Affect Current Window Only
     Menu.ApplicationWindow AppWin = Current.Windows.OfType <Window>().FirstOrDefault(x => x.IsActive && x.Name == "winApplicationWindow") as Menu.ApplicationWindow;
     if (AppWin != null)
     {
         System.Windows.Controls.Page contentPage = AppWin.mainFrame.Content as System.Windows.Controls.Page;
         if (contentPage != null)
         {
             cntrl.toolBar toolBar = contentPage.FindName("toolBar") as cntrl.toolBar;
             if (toolBar != null)
             {
                 string commandName = ((RoutedCommand)e.Command).Name;
                 if (commandName == "Save")
                 {
                     toolBar.btnSave_MouseUp(null, null);
                 }
                 if (commandName == "New")
                 {
                     toolBar.btnNew_MouseUp(null, null);
                 }
                 if (commandName == "DeleteMain")
                 {
                     toolBar.btnDelete_MouseUp(null, null);
                 }
                 if (commandName == "Cancel")
                 {
                     toolBar.btnCancel_MouseUp(null, null);
                 }
                 if (commandName == "Edit")
                 {
                     toolBar.btnEdit_MouseUp(null, null);
                 }
             }
         }
     }
 }
Example #2
0
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            if (project != null)
            {
                toolBar             toolBar          = new cntrl.toolBar();
                List <project_task> project_taskLIST = project.project_task.Where(x => x.IsSelected).ToList();

                sales_order sales_order = new entity.sales_order();
                if (Generate_Budget)
                {
                    SalesBudgetDB SalesBudgetDB = new SalesBudgetDB();

                    sales_budget sales_budget = new entity.sales_budget();

                    sales_budget.id_contact = (int)project.id_contact;
                    sales_budget.contact    = SalesBudgetDB.contacts.Where(x => x.id_contact == (int)project.id_contact).FirstOrDefault();

                    sales_budget.id_project    = project.id_project;
                    sales_budget.id_condition  = (int)cbxCondition.SelectedValue;
                    sales_budget.id_contract   = (int)cbxContract.SelectedValue;
                    sales_budget.id_currencyfx = (int)cbxCurrency.SelectedValue;
                    sales_budget.comment       = "Project -> " + project.name;
                    sales_budget.trans_date    = DateTime.Now;

                    foreach (project_task _project_task in project_taskLIST)
                    {
                        sales_budget_detail sales_budget_detail = new sales_budget_detail();
                        sales_budget_detail.State            = EntityState.Added;
                        sales_budget_detail.id_sales_budget  = sales_budget.id_sales_budget;
                        sales_budget_detail.sales_budget     = sales_budget;
                        sales_budget_detail.id_item          = (int)_project_task.id_item;
                        sales_budget_detail.item_description = _project_task.item_description;

                        if (project.is_Executable)
                        {
                            sales_budget_detail.quantity = (decimal)_project_task.quantity_exe;
                        }
                        else
                        {
                            sales_budget_detail.quantity = (decimal)_project_task.quantity_est;
                        }


                        if (_project_task.unit_price_vat != null)
                        {
                            sales_budget_detail.UnitPrice_Vat = (decimal)_project_task.unit_price_vat;
                        }

                        sales_budget_detail.id_project_task = _project_task.id_project_task;
                        _project_task.IsSelected            = false;

                        sales_budget.sales_budget_detail.Add(sales_budget_detail);
                    }

                    sales_budget.State      = EntityState.Added;
                    sales_budget.IsSelected = true;
                    SalesBudgetDB.sales_budget.Add(sales_budget);
                    SalesBudgetDB.SaveChanges();
                }
                else
                {
                    //if (Generate_Budget)
                    //{
                    //    sales_order.id_sales_budget = sales_budget.id_sales_budget;
                    //}
                    if (SalesOrderDB.contacts.Where(x => x.id_contact == (int)project.id_contact).FirstOrDefault() != null)
                    {
                        sales_order.id_contact = (int)project.id_contact;
                        sales_order.contact    = SalesOrderDB.contacts.Where(x => x.id_contact == (int)project.id_contact).FirstOrDefault();
                    }
                    else
                    {
                        toolBar.msgWarning("Contact Not Found...");
                        return;
                    }

                    if (Generate_Invoice)
                    {
                        if (cbxDocument.SelectedValue != null)
                        {
                            sales_order.id_range = (int)cbxDocument.SelectedValue;
                        }
                        else
                        {
                            toolBar.msgWarning("Document Range Needed for Approval");
                            // return;
                        }
                    }
                    sales_order.id_project = project.id_project;

                    if (Convert.ToInt16(cbxCondition.SelectedValue) > 0)
                    {
                        sales_order.id_condition = (int)cbxCondition.SelectedValue;
                    }
                    else
                    {
                        toolBar.msgWarning("Condition Not Found...");
                        return;
                    }

                    if (Convert.ToInt16(cbxContract.SelectedValue) > 0)
                    {
                        sales_order.id_contract = (int)cbxContract.SelectedValue;
                    }
                    else
                    {
                        toolBar.msgWarning("Contract Not Found...");
                        return;
                    }

                    if (Convert.ToInt16(cbxCurrency.SelectedValue) > 0)
                    {
                        sales_order.id_currencyfx = (int)cbxCurrency.SelectedValue;
                    }
                    else
                    {
                        toolBar.msgWarning("Currency Not Found...");
                        return;
                    }

                    sales_order.comment = "Project -> " + project.name;

                    sales_order_detail sales_order_detail = null;

                    foreach (project_task _project_task in project_taskLIST)
                    {
                        if (_project_task.items.id_item_type == item.item_type.Task || _project_task.sales_detail == null)
                        {
                            sales_order_detail                = new sales_order_detail();
                            sales_order_detail.State          = EntityState.Added;
                            sales_order_detail.id_sales_order = sales_order.id_sales_order;
                            sales_order_detail.sales_order    = sales_order;
                            if (Convert.ToInt16(_project_task.id_item) > 0)
                            {
                                sales_order_detail.id_item = (int)_project_task.id_item;
                            }

                            sales_order_detail.item_description = _project_task.item_description;

                            if (project.is_Executable)
                            {
                                sales_order_detail.quantity = (decimal)_project_task.quantity_exe;
                            }
                            else
                            {
                                sales_order_detail.quantity = (decimal)_project_task.quantity_est;
                            }


                            if (_project_task.unit_price_vat != null)
                            {
                                sales_order_detail.UnitPrice_Vat = (decimal)_project_task.unit_price_vat;
                            }

                            sales_order_detail.id_project_task = _project_task.id_project_task;
                            _project_task.IsSelected           = false;
                            _project_task.sales_detail         = sales_order_detail;
                        }

                        if (sales_order_detail != null)
                        {
                            sales_order.sales_order_detail.Add(sales_order_detail);
                        }
                    }

                    if (sales_order.sales_order_detail.Count() > 0)
                    {
                        sales_order.State      = EntityState.Added;
                        sales_order.IsSelected = true;

                        SalesOrderDB.sales_order.Add(sales_order);
                        SalesOrderDB.SaveChanges();

                        if (Generate_Invoice)
                        {
                            SalesOrderDB.Approve();
                            sales_invoice sales_invoice = new entity.sales_invoice();

                            if (SalesOrderDB.app_document_range.Where(x => x.app_document.id_application == App.Names.SalesBudget).FirstOrDefault() != null)
                            {
                                sales_invoice.id_range = SalesOrderDB.app_document_range.Where(x => x.app_document.id_application == App.Names.SalesInvoice).FirstOrDefault().id_range;
                            }
                            sales_invoice.id_contact    = (int)project.id_contact;
                            sales_invoice.contact       = SalesOrderDB.contacts.Where(x => x.id_contact == (int)project.id_contact).FirstOrDefault();
                            sales_invoice.sales_order   = sales_order;
                            sales_invoice.id_project    = project.id_project;
                            sales_invoice.id_condition  = (int)cbxCondition.SelectedValue;
                            sales_invoice.id_contract   = (int)cbxContract.SelectedValue;
                            sales_invoice.id_currencyfx = (int)cbxCurrency.SelectedValue;
                            sales_invoice.comment       = "Project -> " + project.name;
                            sales_invoice.trans_date    = DateTime.Now;
                            sales_invoice_detail sales_invoice_detail = null;

                            foreach (project_task _project_task in project_taskLIST)
                            {
                                sales_invoice_detail                  = new sales_invoice_detail();
                                sales_invoice_detail.State            = EntityState.Added;
                                sales_invoice_detail.id_sales_invoice = sales_invoice.id_sales_invoice;
                                sales_invoice_detail.sales_invoice    = sales_invoice;
                                sales_invoice_detail.id_item          = (int)_project_task.id_item;
                                sales_invoice_detail.item_description = _project_task.item_description;

                                if (project.is_Executable)
                                {
                                    sales_invoice_detail.quantity = (decimal)_project_task.quantity_exe;
                                }
                                else
                                {
                                    sales_invoice_detail.quantity = (decimal)_project_task.quantity_est;
                                }

                                if (_project_task.unit_price_vat != null)
                                {
                                    sales_invoice_detail.UnitPrice_Vat = (decimal)_project_task.unit_price_vat;
                                }

                                sales_invoice_detail.id_project_task = _project_task.id_project_task;
                                _project_task.IsSelected             = false;

                                sales_invoice.sales_invoice_detail.Add(sales_invoice_detail);
                            }

                            sales_invoice.State      = EntityState.Added;
                            sales_invoice.IsSelected = true;
                            crm_opportunity crm_opportunity = sales_order.crm_opportunity;
                            crm_opportunity.sales_invoice.Add(sales_invoice);
                            SalesOrderDB.crm_opportunity.Attach(crm_opportunity);
                            SalesOrderDB.sales_invoice.Add(sales_invoice);
                        }
                    }
                }

                SalesOrderDB.SaveChanges();
                btnCancel_Click(null, null);
            }
        }