protected void rdDetalleVenta_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
        {
            DBConn oConn = new DBConn();

            if (oConn.Open())
            {
                cDetalleVenta oDetalleVenta = new cDetalleVenta(ref oConn);
                oDetalleVenta.CodigoReporteVenta = hddCodReporteVenta.Value;
                rdDetalleVenta.DataSource        = oDetalleVenta.Get();
            }
            oConn.Close();
        }
        protected void btnCancelar_Click(object sender, EventArgs e)
        {
            DBConn oConn = new DBConn();

            if (oConn.Open())
            {
                cDetalleVenta oDetalleVenta = new cDetalleVenta(ref oConn);
                oDetalleVenta.CodigoReporteVenta = hddCodReporteVenta.Value;
                oDetalleVenta.Accion             = "ELIMINAR";
                oDetalleVenta.Put();

                cReporteVenta oReporteVenta = new cReporteVenta(ref oConn);
                oReporteVenta.CodigoReporteVenta = hddCodReporteVenta.Value;
                oReporteVenta.Facturado          = "N";
                oReporteVenta.EstReporte         = "E";
                oReporteVenta.Accion             = "EDITAR";
                oReporteVenta.Put();
            }
            oConn.Close();

            Session["Error"] = "Error en el proceso de autorización de ingreso de ventas. Por favor comuniquese con el administrador del sitio.";
            Response.Redirect("ingreso_ventas.aspx");
        }
        protected void getDataQInvoce(string sQ, string sYear)
        {
            detFactura oFactura = new detFactura();
            DBConn     oConn    = new DBConn();

            if (oConn.Open())
            {
                string        arrMes           = string.Empty;
                string        arrReporteVenta  = string.Empty;
                cReporteVenta oReportForInvoce = new cReporteVenta(ref oConn);
                oReportForInvoce.NumContrato = hdd_num_contrato.Value;
                oReportForInvoce.Periodo     = sQ;
                oReportForInvoce.AnoReporte  = sYear;
                DataTable dtReporteVenta = oReportForInvoce.GetReportForInvoice();
                foreach (DataRow oRowReporte in dtReporteVenta.Rows)
                {
                    arrReporteVenta = (string.IsNullOrEmpty(arrReporteVenta) ? oRowReporte["cod_reporte_venta"].ToString() : arrReporteVenta + ";" + oRowReporte["cod_reporte_venta"].ToString());
                    arrMes          = (string.IsNullOrEmpty(arrMes) ? oRowReporte["mes_reporte"].ToString() : arrMes + ";" + oRowReporte["mes_reporte"].ToString());
                }
                arrayReporteVenta = arrReporteVenta.Split(';');
                arrayMes          = arrMes.Split(';');

                string sNomMesUno  = oWeb.getMes(int.Parse(arrayMes[0].ToString())).ToString();
                string sNomMesDos  = oWeb.getMes(int.Parse(arrayMes[1].ToString())).ToString();
                string sNomMesTres = oWeb.getMes(int.Parse(arrayMes[2].ToString())).ToString();

                oFactura.MesNomUno  = sNomMesUno;
                oFactura.MesNomDos  = sNomMesDos;
                oFactura.MesNomTres = sNomMesTres;
                oFactura.getMakeTable();

                cDetalleVenta oDetalleVenta;

                //cProductosContrato oProductosContrato = new cProductosContrato(ref oConn);
                //oProductosContrato.NumContrato = hdd_num_contrato.Value;

                cRoyaltyContrato oRoyaltyContrato = new cRoyaltyContrato(ref oConn);
                oRoyaltyContrato.NumContrato = hdd_num_contrato.Value;

                DataTable dtProdCont = oRoyaltyContrato.GetByInvoce();
                if (dtProdCont != null)
                {
                    foreach (DataRow oRow in dtProdCont.Rows)
                    {
                        bool   bVenta      = false;
                        string pCodRotalty = string.Empty;
                        double sRoyalty    = 0;
                        double sBdi        = 0;
                        string sPeriodo    = string.Empty;
                        string arrMntMes   = string.Empty;

                        foreach (DataRow oRowReporte in dtReporteVenta.Rows)
                        {
                            sPeriodo = oRowReporte["periodo_q"].ToString() + "/" + oRowReporte["ano_reporte"].ToString();

                            oDetalleVenta = new cDetalleVenta(ref oConn);
                            oDetalleVenta.CodigoReporteVenta = oRowReporte["cod_reporte_venta"].ToString();
                            oDetalleVenta.Marca        = oRow["cod_marca"].ToString();
                            oDetalleVenta.Categoria    = oRow["cod_categoria"].ToString();
                            oDetalleVenta.SubCategoria = oRow["cod_subcategoria"].ToString();
                            oDetalleVenta.CodRoyalty   = oRow["cod_royalty"].ToString();
                            DataTable detVenta = oDetalleVenta.GetByFactura();
                            if (detVenta != null)
                            {
                                if (detVenta.Rows.Count > 0)
                                {
                                    //int intPrecioUni = int.Parse(detVenta.Rows[0]["precio_uni"].ToString());
                                    //int intCantidadVenta = int.Parse(detVenta.Rows[0]["cantidad_venta"].ToString());
                                    //int intPrecioUniDevol = int.Parse(detVenta.Rows[0]["precio_uni_devol"].ToString());
                                    //int intCantDescueDevol = int.Parse(detVenta.Rows[0]["cant_descue_devol"].ToString());
                                    bVenta      = true;
                                    pCodRotalty = detVenta.Rows[0]["cod_royalty"].ToString();
                                    sRoyalty    = double.Parse(detVenta.Rows[0]["royalty"].ToString());
                                    sBdi        = double.Parse(detVenta.Rows[0]["bdi"].ToString());

                                    //int intTotalMes = ((intPrecioUni * intCantidadVenta) - (intPrecioUniDevol * intCantDescueDevol));
                                    double intTotalMes = double.Parse(detVenta.Rows[0]["totalmes"].ToString());

                                    arrMntMes = (string.IsNullOrEmpty(arrMntMes) ? intTotalMes.ToString() : arrMntMes + ";" + intTotalMes.ToString());
                                }
                                else
                                {
                                    arrMntMes = (string.IsNullOrEmpty(arrMntMes) ? "0" : arrMntMes + ";0");
                                }
                            }
                            detVenta = null;
                        }

                        if (bVenta)
                        {
                            string[] arrayMntMes = arrMntMes.Split(';');


                            oFactura.Marca        = oRow["cod_marca"].ToString();
                            oFactura.Categoria    = oRow["cod_categoria"].ToString();
                            oFactura.SubCategoria = oRow["cod_subcategoria"].ToString();
                            oFactura.MesUno       = arrayMntMes[0].ToString();
                            oFactura.MesDos       = arrayMntMes[1].ToString();
                            oFactura.MesTres      = arrayMntMes[2].ToString();
                            oFactura.CodRoyalty   = pCodRotalty;
                            oFactura.Royalty      = sRoyalty.ToString();
                            oFactura.Bdi          = sBdi.ToString();
                            oFactura.Periodo      = sPeriodo;

                            double MntRoyUno  = double.Parse(arrayMntMes[0].ToString()) / getValueUsd(arrayMes[0].ToString(), sYear, pCodRotalty);
                            double MntRoyDos  = double.Parse(arrayMntMes[1].ToString()) / getValueUsd(arrayMes[1].ToString(), sYear, pCodRotalty);
                            double MntRoyTres = double.Parse(arrayMntMes[2].ToString()) / getValueUsd(arrayMes[2].ToString(), sYear, pCodRotalty);

                            double MntTotal = MntRoyUno + MntRoyDos + MntRoyTres;

                            oFactura.MontoRoyaltyUsd = (MntTotal * sRoyalty).ToString();

                            double MntDbiUno  = ((double.Parse(arrayMntMes[0].ToString()) / getValueUsd(arrayMes[0].ToString(), sYear, pCodRotalty)) * (sBdi));
                            double MntDbiDos  = ((double.Parse(arrayMntMes[1].ToString()) / getValueUsd(arrayMes[1].ToString(), sYear, pCodRotalty)) * (sBdi));
                            double MntDbiTres = ((double.Parse(arrayMntMes[2].ToString()) / getValueUsd(arrayMes[2].ToString(), sYear, pCodRotalty)) * (sBdi));

                            oFactura.MontoDbiUsd = (MntDbiUno + MntDbiDos + MntDbiTres).ToString();

                            string iSaldo = string.Empty;
                            oFactura.SaldoAdvanceUsd = "0";
                            oFactura.Saldo           = "0";
                            cAdvanceContrato oAdvanceContrato = new cAdvanceContrato(ref oConn);
                            oAdvanceContrato.NumContrato     = hdd_num_contrato.Value;
                            oAdvanceContrato.CodMarca        = oRow["cod_marca"].ToString();
                            oAdvanceContrato.CodCategoria    = oRow["cod_categoria"].ToString();
                            oAdvanceContrato.CodSubCategoria = oRow["cod_subcategoria"].ToString();
                            oAdvanceContrato.Facturado       = true;
                            DataTable dtAdvanceSaldo = oAdvanceContrato.Get();
                            if (dtAdvanceSaldo != null)
                            {
                                if (dtAdvanceSaldo.Rows.Count > 0)
                                {
                                    if (string.IsNullOrEmpty(dtAdvanceSaldo.Rows[0]["saldo"].ToString()))
                                    {
                                        if (double.Parse(oFactura.MontoRoyaltyUsd) > double.Parse(dtAdvanceSaldo.Rows[0]["valor_original"].ToString()))
                                        {
                                            oFactura.SaldoAdvanceUsd = double.Parse(dtAdvanceSaldo.Rows[0]["valor_original"].ToString()).ToString();
                                            oFactura.Saldo           = "0";
                                        }
                                        else
                                        {
                                            if (double.Parse(oFactura.MontoRoyaltyUsd) > 0)
                                            {
                                                oFactura.SaldoAdvanceUsd = double.Parse(oFactura.MontoRoyaltyUsd).ToString();
                                                oFactura.Saldo           = (double.Parse(dtAdvanceSaldo.Rows[0]["valor_original"].ToString()) - double.Parse(oFactura.MontoRoyaltyUsd)).ToString();
                                            }
                                            else
                                            {
                                                oFactura.SaldoAdvanceUsd = "0";
                                                oFactura.Saldo           = "0";
                                            }
                                        }
                                    }
                                    else if (double.Parse(oFactura.MontoRoyaltyUsd) > double.Parse(dtAdvanceSaldo.Rows[0]["saldo"].ToString()))
                                    {
                                        oFactura.SaldoAdvanceUsd = (double.Parse(dtAdvanceSaldo.Rows[0]["saldo"].ToString())).ToString();
                                        oFactura.Saldo           = "0";
                                    }
                                    else
                                    {
                                        if (double.Parse(oFactura.MontoRoyaltyUsd) > 0)
                                        {
                                            oFactura.SaldoAdvanceUsd = double.Parse(oFactura.MontoRoyaltyUsd).ToString();
                                            oFactura.Saldo           = (double.Parse(dtAdvanceSaldo.Rows[0]["saldo"].ToString()) - double.Parse(oFactura.MontoRoyaltyUsd)).ToString();
                                        }
                                        else
                                        {
                                            oFactura.SaldoAdvanceUsd = "0";
                                            oFactura.Saldo           = "0";
                                        }
                                    }
                                }
                            }
                            dtAdvanceSaldo = null;

                            oFactura.FacturaUsd = (double.Parse(oFactura.MontoRoyaltyUsd) + double.Parse(oFactura.MontoDbiUsd) - double.Parse(oFactura.SaldoAdvanceUsd)).ToString();

                            oFactura.AddRow();
                        }
                    }
                }
                dtReporteVenta = null;
                dtProdCont     = null;

                DataTable dtFactura = oFactura.Get();

                RadGrid oGridFractura = new RadGrid();
                oGridFractura.ID                  = "rdGridFactura";
                oGridFractura.ShowStatusBar       = true;
                oGridFractura.ShowFooter          = true;
                oGridFractura.AutoGenerateColumns = false;
                oGridFractura.Skin                = "Sitefinity";
                oGridFractura.ItemDataBound      += oGridFractura_ItemDataBound;
                oGridFractura.ItemCommand        += oGridFractura_ItemCommand;


                oGridFractura.ExportSettings.HideStructureColumns = true;

                oGridFractura.MasterTableView.AutoGenerateColumns      = false;
                oGridFractura.MasterTableView.ShowHeader               = true;
                oGridFractura.MasterTableView.TableLayout              = GridTableLayout.Fixed;
                oGridFractura.MasterTableView.ShowHeadersWhenNoRecords = true;
                oGridFractura.MasterTableView.ShowFooter               = true;
                oGridFractura.MasterTableView.CommandItemDisplay       = GridCommandItemDisplay.Top;
                oGridFractura.MasterTableView.CommandItemSettings.ShowExportToExcelButton = true;
                oGridFractura.MasterTableView.CommandItemSettings.ShowRefreshButton       = false;
                oGridFractura.MasterTableView.CommandItemSettings.ShowAddNewRecordButton  = false;

                GridBoundColumn oGridBoundColumn;
                oGridBoundColumn            = new GridBoundColumn();
                oGridBoundColumn.DataField  = "Marca";
                oGridBoundColumn.HeaderText = "Marca";
                oGridBoundColumn.UniqueName = "Marca";
                oGridFractura.MasterTableView.Columns.Add(oGridBoundColumn);

                oGridBoundColumn            = new GridBoundColumn();
                oGridBoundColumn.DataField  = "Categoría";
                oGridBoundColumn.HeaderText = "Categoría";
                oGridBoundColumn.UniqueName = "Categoría";
                oGridFractura.MasterTableView.Columns.Add(oGridBoundColumn);

                oGridBoundColumn            = new GridBoundColumn();
                oGridBoundColumn.DataField  = "Subcategoría";
                oGridBoundColumn.HeaderText = "Subcategoría";
                oGridBoundColumn.UniqueName = "Subcategoría";
                oGridFractura.MasterTableView.Columns.Add(oGridBoundColumn);

                oGridBoundColumn                             = new GridBoundColumn();
                oGridBoundColumn.DataField                   = sNomMesUno;
                oGridBoundColumn.HeaderText                  = sNomMesUno;
                oGridBoundColumn.UniqueName                  = sNomMesUno;
                oGridBoundColumn.FooterText                  = "Total " + sNomMesUno;
                oGridBoundColumn.DataFormatString            = "{0:N0}";
                oGridBoundColumn.FooterAggregateFormatString = "{0:N0}";
                oGridBoundColumn.Aggregate                   = GridAggregateFunction.Sum;
                oGridFractura.MasterTableView.Columns.Add(oGridBoundColumn);

                oGridBoundColumn                             = new GridBoundColumn();
                oGridBoundColumn.DataField                   = sNomMesDos;
                oGridBoundColumn.HeaderText                  = sNomMesDos;
                oGridBoundColumn.UniqueName                  = sNomMesDos;
                oGridBoundColumn.FooterText                  = "Total " + sNomMesDos;
                oGridBoundColumn.DataFormatString            = "{0:N0}";
                oGridBoundColumn.FooterAggregateFormatString = "{0:N0}";
                oGridBoundColumn.Aggregate                   = GridAggregateFunction.Sum;
                oGridFractura.MasterTableView.Columns.Add(oGridBoundColumn);

                oGridBoundColumn                             = new GridBoundColumn();
                oGridBoundColumn.DataField                   = sNomMesTres;
                oGridBoundColumn.HeaderText                  = sNomMesTres;
                oGridBoundColumn.UniqueName                  = sNomMesTres;
                oGridBoundColumn.FooterText                  = "Total " + sNomMesTres;
                oGridBoundColumn.DataFormatString            = "{0:N0}";
                oGridBoundColumn.FooterAggregateFormatString = "{0:N0}";
                oGridBoundColumn.Aggregate                   = GridAggregateFunction.Sum;
                oGridFractura.MasterTableView.Columns.Add(oGridBoundColumn);

                oGridBoundColumn            = new GridBoundColumn();
                oGridBoundColumn.DataField  = "Royalty (%)";
                oGridBoundColumn.HeaderText = "Royalty (%)";
                oGridBoundColumn.UniqueName = "Royalty (%)";
                oGridFractura.MasterTableView.Columns.Add(oGridBoundColumn);

                oGridBoundColumn            = new GridBoundColumn();
                oGridBoundColumn.DataField  = "BDI (%)";
                oGridBoundColumn.HeaderText = "BDI (%)";
                oGridBoundColumn.UniqueName = "BDI (%)";
                oGridFractura.MasterTableView.Columns.Add(oGridBoundColumn);

                oGridBoundColumn            = new GridBoundColumn();
                oGridBoundColumn.DataField  = "Periodo";
                oGridBoundColumn.HeaderText = "Periodo";
                oGridBoundColumn.UniqueName = "Periodo";
                oGridFractura.MasterTableView.Columns.Add(oGridBoundColumn);

                oGridBoundColumn                             = new GridBoundColumn();
                oGridBoundColumn.DataField                   = "Monto Royalty USD";
                oGridBoundColumn.HeaderText                  = "Monto Royalty USD";
                oGridBoundColumn.UniqueName                  = "Monto Royalty USD";
                oGridBoundColumn.FooterText                  = "Total Royalty USD";
                oGridBoundColumn.DataFormatString            = "{0:N0}";
                oGridBoundColumn.FooterAggregateFormatString = "{0:N0}";
                oGridBoundColumn.Aggregate                   = GridAggregateFunction.Sum;
                oGridFractura.MasterTableView.Columns.Add(oGridBoundColumn);

                oGridBoundColumn                             = new GridBoundColumn();
                oGridBoundColumn.DataField                   = "Monto BDI USD";
                oGridBoundColumn.HeaderText                  = "Monto BDI USD";
                oGridBoundColumn.UniqueName                  = "Monto BDI USD";
                oGridBoundColumn.FooterText                  = "Total BDI USD";
                oGridBoundColumn.DataFormatString            = "{0:N0}";
                oGridBoundColumn.FooterAggregateFormatString = "{0:N0}";
                oGridBoundColumn.Aggregate                   = GridAggregateFunction.Sum;
                oGridFractura.MasterTableView.Columns.Add(oGridBoundColumn);

                /*oGridBoundColumn = new GridBoundColumn();
                 * oGridBoundColumn.DataField = "Saldo Advance USD";
                 * oGridBoundColumn.HeaderText = "Saldo Advance USD";
                 * oGridFractura.MasterTableView.Columns.Add(oGridBoundColumn);*/

                oGridBoundColumn            = new GridBoundColumn();
                oGridBoundColumn.DataField  = "Saldo Advance USD";
                oGridBoundColumn.HeaderText = "Saldo Advance USD";
                oGridBoundColumn.UniqueName = "Saldo Advance USD";
                oGridFractura.MasterTableView.Columns.Add(oGridBoundColumn);

                oGridBoundColumn            = new GridBoundColumn();
                oGridBoundColumn.DataField  = "Factura USD";
                oGridBoundColumn.HeaderText = "Factura USD";
                oGridBoundColumn.UniqueName = "Factura USD";
                oGridBoundColumn.FooterText = "Total Factura USD";
                //oGridBoundColumn.DataFormatString = "{0:N0}";
                oGridBoundColumn.FooterAggregateFormatString = "{0:N0}";
                oGridBoundColumn.Aggregate = GridAggregateFunction.Sum;
                oGridFractura.MasterTableView.Columns.Add(oGridBoundColumn);

                oGridFractura.DataSource = dtFactura;
                idGrilla.Visible         = true;
                idGrilla.Controls.Add(oGridFractura);
                idBtnSave.Visible = true;

                ViewState["dtFactura"]         = dtFactura;
                ViewState["arrayMes"]          = arrayMes;
                ViewState["arrayReporteVenta"] = arrayReporteVenta;

                RadAjaxManager oRadAjaxManager = new RadAjaxManager();
                oRadAjaxManager.ClientEvents.OnRequestStart = "onRequestStart";

                AjaxUpdatedControl oAjaxUpdatedControl = new AjaxUpdatedControl();
                oAjaxUpdatedControl.ControlID = "rdGridFactura";

                AjaxSetting oAjaxSetting = new AjaxSetting();
                oAjaxSetting.AjaxControlID = "rdGridFactura";
                oAjaxSetting.UpdatedControls.Add(oAjaxUpdatedControl);

                oRadAjaxManager.AjaxSettings.Add(oAjaxSetting);
                idGrilla.Controls.Add(oRadAjaxManager);
            }
            oConn.Close();
        }
Exemplo n.º 4
0
        protected void rdGridReporteVenta_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
        {
            if ((cmbox_contrato.SelectedValue != "0") && (!string.IsNullOrEmpty(cmbox_contrato.SelectedValue)))
            {
                DBConn oConn = new DBConn();
                if (oConn.Open())
                {
                    cDetalleVenta oDetalleVenta = new cDetalleVenta(ref oConn);
                    oDetalleVenta.NumContrato = cmbox_contrato.SelectedValue;
                    if ((ddlist_ano_ini.SelectedValue != "0") && (ddlist_mes_ini.SelectedValue != "0") && (ddlist_ano_fin.SelectedValue != "0") && (ddlist_mes_fin.SelectedValue != "0"))
                    {
                        string sMeses = string.Empty;
                        if (int.Parse(ddlist_mes_ini.SelectedValue) < int.Parse(ddlist_mes_fin.SelectedValue))
                        {
                            for (int i = int.Parse(ddlist_mes_ini.SelectedValue); i <= int.Parse(ddlist_mes_fin.SelectedValue); i++)
                            {
                                sMeses = (string.IsNullOrEmpty(sMeses) ? i.ToString() : sMeses + "," + i.ToString());
                            }
                        }
                        else
                        {
                            if ((int.Parse(ddlist_mes_ini.SelectedValue) == int.Parse(ddlist_mes_fin.SelectedValue)) && (int.Parse(ddlist_ano_ini.SelectedValue) == int.Parse(ddlist_ano_fin.SelectedValue)))
                            {
                                sMeses = ddlist_mes_ini.SelectedValue;
                            }
                            else if (int.Parse(ddlist_mes_ini.SelectedValue) == 12)
                            {
                                sMeses = "12";
                                for (int i = 1; i <= int.Parse(ddlist_mes_fin.SelectedValue); i++)
                                {
                                    sMeses = (string.IsNullOrEmpty(sMeses) ? i.ToString() : sMeses + "," + i.ToString());
                                }
                            }
                            else
                            {
                                for (int i = int.Parse(ddlist_mes_ini.SelectedValue); i <= 12; i++)
                                {
                                    sMeses = (string.IsNullOrEmpty(sMeses) ? i.ToString() : sMeses + "," + i.ToString());
                                }

                                for (int i = 1; i <= int.Parse(ddlist_mes_fin.SelectedValue); i++)
                                {
                                    sMeses = (string.IsNullOrEmpty(sMeses) ? i.ToString() : sMeses + "," + i.ToString());
                                }
                            }
                        }
                        string sAnos = string.Empty;
                        if (int.Parse(ddlist_ano_ini.SelectedValue) == int.Parse(ddlist_ano_fin.SelectedValue))
                        {
                            sAnos = ddlist_ano_ini.SelectedValue;
                        }
                        else
                        {
                            for (int i = int.Parse(ddlist_ano_ini.SelectedValue); i <= int.Parse(ddlist_ano_fin.SelectedValue); i++)
                            {
                                sAnos = (string.IsNullOrEmpty(sAnos) ? i.ToString() : sAnos + "," + i.ToString());
                            }
                        }


                        oDetalleVenta.FechaInicio = sMeses;
                        oDetalleVenta.FechaFinal  = sAnos;
                    }
                    DataTable dtDetalleVenta = oDetalleVenta.GetByReporteVenta();
                    rdGridReporteVenta.DataSource = dtDetalleVenta;
                }
                oConn.Close();
            }
        }
        public DataTable dtReporteVenta()
        {
            DataTable table = new DataTable("ReporteVenta");

            table.Columns.Add(new DataColumn("Mes", typeof(string)));
            table.Columns.Add(new DataColumn("Año", typeof(string)));
            table.Columns.Add(new DataColumn("Licenciatario", typeof(string)));
            table.Columns.Add(new DataColumn("Contrato", typeof(string)));
            table.Columns.Add(new DataColumn("Marca", typeof(string)));
            table.Columns.Add(new DataColumn("Categoría", typeof(string)));
            table.Columns.Add(new DataColumn("Sub-Categoría", typeof(string)));
            table.Columns.Add(new DataColumn("Producto", typeof(string)));
            table.Columns.Add(new DataColumn("Royalty (%)", typeof(string)));
            table.Columns.Add(new DataColumn("BDI (%)", typeof(string)));
            table.Columns.Add(new DataColumn("Cliente", typeof(string)));
            table.Columns.Add(new DataColumn("SKU", typeof(string)));
            table.Columns.Add(new DataColumn("Descripcion Producto", typeof(string)));
            table.Columns.Add(new DataColumn("Precio Unit. Venta", typeof(string)));
            table.Columns.Add(new DataColumn("Unid.", typeof(string)));
            table.Columns.Add(new DataColumn("Total Local $.", typeof(string)));
            table.Columns.Add(new DataColumn("Precio Unit. Dev", typeof(string)));
            table.Columns.Add(new DataColumn("Q.", typeof(string)));
            table.Columns.Add(new DataColumn("Total Local $", typeof(string)));
            table.Columns.Add(new DataColumn("Venta Neta Local $", typeof(string)));
            table.Columns.Add(new DataColumn("Tipo Cambio", typeof(string)));
            table.Columns.Add(new DataColumn("Venta Neta USD", typeof(string)));
            table.Columns.Add(new DataColumn("Royalty USD", typeof(string)));
            table.Columns.Add(new DataColumn("BDI USD", typeof(string)));

            DBConn oConn = new DBConn();

            if (oConn.Open())
            {
                cDetalleVenta oDetalleVenta = new cDetalleVenta(ref oConn);
                oDetalleVenta.NkeyDeudor  = cmbox_licenciatario.SelectedValue;
                oDetalleVenta.NumContrato = cmbox_contrato.SelectedValue;
                if ((ddlist_ano_ini.SelectedValue != "0") && (ddlist_mes_ini.SelectedValue != "0") && (ddlist_ano_fin.SelectedValue != "0") && (ddlist_mes_fin.SelectedValue != "0"))
                {
                    string sMeses = string.Empty;
                    if ((int.Parse(ddlist_mes_ini.SelectedValue) < int.Parse(ddlist_mes_fin.SelectedValue)) && (int.Parse(ddlist_ano_ini.SelectedValue) == int.Parse(ddlist_ano_fin.SelectedValue)))
                    {
                        for (int i = int.Parse(ddlist_mes_ini.SelectedValue); i <= int.Parse(ddlist_mes_fin.SelectedValue); i++)
                        {
                            sMeses = (string.IsNullOrEmpty(sMeses) ? i.ToString() : sMeses + "," + i.ToString());
                        }
                    }
                    else
                    {
                        if ((int.Parse(ddlist_mes_ini.SelectedValue) == int.Parse(ddlist_mes_fin.SelectedValue)) && (int.Parse(ddlist_ano_ini.SelectedValue) == int.Parse(ddlist_ano_fin.SelectedValue)))
                        {
                            sMeses = ddlist_mes_ini.SelectedValue;
                        }
                        else if (int.Parse(ddlist_mes_ini.SelectedValue) == 12)
                        {
                            sMeses = "12";
                            for (int i = 1; i <= int.Parse(ddlist_mes_fin.SelectedValue); i++)
                            {
                                sMeses = (string.IsNullOrEmpty(sMeses) ? i.ToString() : sMeses + "," + i.ToString());
                            }
                        }
                        else
                        {
                            for (int i = int.Parse(ddlist_mes_ini.SelectedValue); i <= 12; i++)
                            {
                                sMeses = (string.IsNullOrEmpty(sMeses) ? i.ToString() : sMeses + "," + i.ToString());
                            }

                            for (int i = 1; i <= int.Parse(ddlist_mes_fin.SelectedValue); i++)
                            {
                                sMeses = (string.IsNullOrEmpty(sMeses) ? i.ToString() : sMeses + "," + i.ToString());
                            }
                        }
                    }
                    string sAnos = string.Empty;
                    if (int.Parse(ddlist_ano_ini.SelectedValue) == int.Parse(ddlist_ano_fin.SelectedValue))
                    {
                        sAnos = ddlist_ano_ini.SelectedValue;
                    }
                    else
                    {
                        for (int i = int.Parse(ddlist_ano_ini.SelectedValue); i <= int.Parse(ddlist_ano_fin.SelectedValue); i++)
                        {
                            sAnos = (string.IsNullOrEmpty(sAnos) ? i.ToString() : sAnos + "," + i.ToString());
                        }
                    }


                    oDetalleVenta.FechaInicio = sMeses;
                    oDetalleVenta.FechaFinal  = sAnos;
                }

                DataTable dt = oDetalleVenta.GetByReporteVentaFinanzas();
                foreach (DataRow oRow in dt.Rows)
                {
                    DataRow newRow = table.NewRow();
                    newRow["Mes"]                  = oRow["mes"].ToString();
                    newRow["Año"]                  = oRow["ano"].ToString();
                    newRow["Licenciatario"]        = oRow["licenciatario"].ToString();
                    newRow["Contrato"]             = oRow["no_contrato"].ToString();
                    newRow["Marca"]                = oRow["nom_marca"].ToString();
                    newRow["Categoría"]            = oRow["nom_categoria"].ToString();
                    newRow["Sub-Categoría"]        = oRow["nom_subcategoria"].ToString();
                    newRow["Producto"]             = oRow["producto"].ToString();
                    newRow["Royalty (%)"]          = String.Format("{0:p2}", double.Parse(oRow["royalty"].ToString())); //oRow["royalty"].ToString();
                    newRow["BDI (%)"]              = String.Format("{0:p2}", double.Parse(oRow["bdi"].ToString()));     //oRow["bdi"].ToString();
                    newRow["Cliente"]              = oRow["cliente"].ToString();
                    newRow["SKU"]                  = oRow["sku"].ToString();
                    newRow["Descripcion Producto"] = oRow["descripcion_producto"].ToString();
                    newRow["Precio Unit. Venta"]   = double.Parse(oRow["precio_uni_venta_bruta"].ToString()).ToString("#,0.00", oCulture);                                                                                            //oRow["precio_uni_venta_bruta"].ToString();
                    newRow["Unid."]                = oRow["cantidad_venta_bruta"].ToString();
                    newRow["Total Local $."]       = double.Parse(oRow["total_local"].ToString()).ToString("#,0.00", oCulture);                                                                                                       //oRow["total_local"].ToString();
                    newRow["Precio Unit. Dev"]     = double.Parse(oRow["precio_uni_devolucion"].ToString()).ToString("#,0.00", oCulture);                                                                                             //oRow["precio_uni_devolucion"].ToString();
                    newRow["Q."]                 = oRow["cantidad_q_devolucion"].ToString();
                    newRow["Total Local $"]      = double.Parse(oRow["total_local_devol"].ToString()).ToString("#,0.00", oCulture);                                                                                                   //oRow["total_local_devol"].ToString();
                    newRow["Venta Neta Local $"] = (double.Parse(oRow["total_local"].ToString()) - double.Parse(oRow["total_local_devol"].ToString())).ToString("#,0.00", oCulture);                                                  //oRow["venta_neta"].ToString();
                    newRow["Tipo Cambio"]        = double.Parse(oRow["tipo_cambio"].ToString()).ToString("#,0.00", oCulture);                                                                                                         //oRow["tipo_cambio"].ToString();
                    newRow["Venta Neta USD"]     = ((double.Parse(oRow["total_local"].ToString()) - double.Parse(oRow["total_local_devol"].ToString())) / double.Parse(oRow["tipo_cambio"].ToString())).ToString("#,0.00", oCulture); //oRow["venta_neta_usd"].ToString();
                    newRow["Royalty USD"]        = (((double.Parse(oRow["total_local"].ToString()) - double.Parse(oRow["total_local_devol"].ToString())) / double.Parse(oRow["tipo_cambio"].ToString())) * double.Parse(oRow["royalty"].ToString())).ToString("#,0.00", oCulture);
                    newRow["BDI USD"]            = (((double.Parse(oRow["total_local"].ToString()) - double.Parse(oRow["total_local_devol"].ToString())) / double.Parse(oRow["tipo_cambio"].ToString())) * double.Parse(oRow["bdi"].ToString())).ToString("#,0.00", oCulture);
                    table.Rows.Add(newRow);
                }
            }
            oConn.Close();

            return(table);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            oWeb.ValidaSession();
            oUsuario = oWeb.GetObjUsuario();

            if (!IsPostBack)
            {
                hddCodReporteVenta.Value = oWeb.GetData("CodReporteVenta");
                hddMesReporte.Value      = oWeb.GetData("MesReporte");
                hddAnoReporte.Value      = oWeb.GetData("AnoReporte");
                lblmesventa.Text         = "Mes de venta: " + oWeb.getMes(int.Parse(hddMesReporte.Value)).ToUpper() + " / " + hddAnoReporte.Value;

                DBConn oConn = new DBConn();
                if (oConn.Open())
                {
                    cReporteVenta oReporteVenta = new cReporteVenta(ref oConn);
                    oReporteVenta.CodigoReporteVenta = hddCodReporteVenta.Value;
                    DataTable tblReporteVenta = oReporteVenta.Get();
                    if (tblReporteVenta != null)
                    {
                        if (tblReporteVenta.Rows.Count > 0)
                        {
                            cContratos oContratos = new cContratos(ref oConn);
                            oContratos.NumContrato = tblReporteVenta.Rows[0]["num_contrato"].ToString();
                            DataTable dtContrato = oContratos.Get();
                            if (dtContrato != null)
                            {
                                if (dtContrato.Rows.Count > 0)
                                {
                                    lblcontrato.Text     = "Contrato: " + dtContrato.Rows[0]["no_contrato"].ToString();
                                    hddNumContrato.Value = tblReporteVenta.Rows[0]["num_contrato"].ToString();
                                    hddNoContrato.Value  = dtContrato.Rows[0]["no_contrato"].ToString();
                                }
                            }
                            dtContrato = null;
                        }
                    }
                    tblReporteVenta = null;
                }
                oConn.Close();


                if (!string.IsNullOrEmpty(oWeb.GetData("indVentaAnterio")))
                {
                    oConn = new DBConn();
                    if (oConn.Open())
                    {
                        cDetalleVenta DetalleVenta = new cDetalleVenta(ref oConn);
                        DetalleVenta.CodigoReporteVenta = hddCodReporteVenta.Value;
                        DataTable td = DetalleVenta.Get();
                        if (td != null)
                        {
                            if (td.Rows.Count == 0)
                            {
                                btnGuardar.Visible = false;
                                lblAlerta.Text     = "<strong>ATENCION!</strong> Se ha detectado un ingreso erroneo de ventas para el mes de <strong>" + oWeb.getMes(int.Parse(hddMesReporte.Value)).ToUpper() + "</strong>. Para corregirlo por favor presione el botón <strong>Cancelar</strong>, y luego vuelva a cargar las ventas.";
                            }
                            else
                            {
                                lblAlerta.Text = "<strong>ATENCION!</strong> Usted tiene ventas ingresadas para el mes de <strong>" + oWeb.getMes(int.Parse(hddMesReporte.Value)).ToUpper() + "</strong>, si esta de acuerdo con estas, presione el botón <strong>Autorizar Periodo</strong> para terminar con el proceso de lo contrario presione el botón <strong>Cancelar</strong>.";
                            }
                        }
                        td = null;
                    }
                    oConn.Close();
                }
                else
                {
                    lblAlerta.Text = "<strong>ATENCION!</strong> Para terminar el proceso, presione el botón <strong>Autorizar Periodo</strong>, de lo contrario presione el botón <strong>Cancelar</strong>.";
                }
            }
        }