public static bool DeleteBudget(int budgetId, int companyId)
    {
        bool result = true;
        using (SaleManager saleManager = new SaleManager(null))
        {
            try
            {
                var serviceOrder = new ServicesManager(null).GetServiceOrder(companyId, budgetId);

                if (serviceOrder != null)
                    saleManager.DetachBudgetFromServiceOrder(serviceOrder.ServiceOrderId);

                saleManager.Delete(saleManager.GetBudget(budgetId, companyId));
            }
            catch (System.Data.SqlClient.SqlException e)
            {
                result = false;
            }
        }
        return result;
    }
        protected void lstBudget_SelectedIndexChanged(object sender, EventArgs e)
        {
            SaleItemList = null;
            txtDiscount.Text = String.Empty;
            Discount = null;

            SaleManager budgetManager = new SaleManager(this);
            Budget budget = budgetManager.GetBudget(Convert.ToInt32(lstBudget.SelectedValue), Company.CompanyId);
            Page.ViewState["budgetId"] = Convert.ToInt32(lstBudget.SelectedValue);

            Discount.DiscountValue = budgetManager.CalculateBudgetDiscount(budget);
            Discount.IsCashDiscount = true;

            if (budget.AdditionalCost.HasValue)
                Discount.DiscountValue -= budget.AdditionalCost.Value;


            SaleItem saleItem;

            foreach (BudgetItem budgetItem in budgetManager.GetBudgetItemByBudget(budget.BudgetId, Company.CompanyId))
            {
                saleItem = new SaleItem();
                if (budgetItem.ProductId.HasValue)
                    saleItem.Name = budgetItem.Product.Name;
                else
                    saleItem.Name = budgetItem.SpecialProductName + "&nbsp;&nbsp;&nbsp;&nbsp;<img src='" + ResolveClientUrl("~/App_Shared/themes/glasscyan/Company/Product_warning.gif") + "' alt='Este produto não se encontra cadastrado!' />";

                saleItem.ProductId = budgetItem.ProductId;
                saleItem.Quantity = budgetItem.Quantity;
                saleItem.Code = budgetItem.ProductCode;
                saleItem.Price = budgetItem.UnitPrice;
                saleItem.UnitCost = budgetItem.UnitCost;

                SaleItemList.Add(saleItem);
            }
            BindGrdSaleItem();



        }
Example #3
0
    protected void lstBudget_SelectedIndexChanged(object sender, EventArgs e)
    {
        //
        //Toda vez que um usuário selecionar um orçamento, eu envio o valor para uma variável JavaScript,
        //para poder pegar na tela de pagamento dinamicamente, o processo é feito, para no caso de a venda
        //ser concretizada, o orçamento deverá ser apagado (Executando em sessão, pois não achei o método de 
        //fazer com hidden
        //
        //Page.ViewState["bugdetId"] = bugdetId;


        CreateBasket();
        Session["BudgetId"] = Convert.ToInt32(lstBudget.SelectedValue);
        ProductManager productManager = new ProductManager(this);
        SaleManager saleManager = new SaleManager(this);
        Budget budget = saleManager.GetBudget((Int32)Session["BudgetId"], Company.CompanyId);

        if (budget.Discount.HasValue)
        {
            if (budget.DiscountType == (int)DiscountType.Cash)
                txtDiscount.Text = budget.Discount.Value.ToString("##,##0.00");
            else
            {
#warning eliminar variavel temporaria/ criar método, ou executar função novamente
                Decimal? discount = budget.BudgetItems.Sum(bi => bi.Quantity * bi.UnitPrice) * (budget.Discount.Value / 100);
                if (discount.HasValue)
                    txtDiscount.Text = discount.Value.ToString("##,##0.00");
            }


        }
        if (budget.AdditionalCost.HasValue)
            txtDiscount.Text = (Convert.ToDecimal(txtDiscount.Text) - Convert.ToDecimal(budget.AdditionalCost.Value)).ToString("##,##0.00");
        foreach (DataRow row in productManager.GetProductsByBudget((Int32)Session["BudgetId"]).Rows)
        {
            string productName;
            if (!String.IsNullOrEmpty(row["Name"].ToString()))
                productName = row["Name"].ToString();
            else
                productName = row["SpecialProductName"].ToString();
            //string productName = row["Name"].ToString() + row["SpecialProductName"].ToString();

            if (String.IsNullOrEmpty(row["ProductId"].ToString()))
                productName += "&nbsp;&nbsp;&nbsp;&nbsp;<img src='" + ResolveClientUrl("~/App_Shared/themes/glasscyan/Company/Product_warning.gif") + "' alt='Este produto não se encontra cadastrado!' />";

            basket.Rows.Add(
                row["ProductId"],
                row["Quantity"],
                    productName,
                /*SerialNumber*/ "",
                row["ProductCode"],
                row["unitPrice"],
                Convert.ToDouble(row["Quantity"]) * Convert.ToDouble(row["unitPrice"]),
                row["UnitCost"] != DBNull.Value ? Convert.ToDouble(row["UnitCost"]) : 0
                );
        }

        BindGrid();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        StoreHtmlContent = true;

        CompanyManager cManager;
        CompanyConfiguration cSettings;
        SaleManager saleManager;

        if (!IsPostBack)
        {
            if (Request.QueryString["BudgetId"] != null)
                Page.ViewState["BudgetId"] = Request.QueryString["BudgetId"];

            if (Page.ViewState["BudgetId"] != null)
            {
                saleManager = new SaleManager(this);
                budget = saleManager.GetBudget(Convert.ToInt32(Page.ViewState["BudgetId"]), Company.CompanyId);
                double ipi = 0;
                double sub = 0;


                subTotal = budget.BudgetItems.Sum(i => i.UnitPrice * i.Quantity);

                rptProduct.DataSource = budget.BudgetItems;
                rptProduct.DataBind();

                loadDataOfBudget();
                loadDataOfCustomer();
            }
        }



    }