private void InsertarDetalle(Int32 FacturaID) { //Obtenemos el % de Comision del vendedor VendedorBL ObjetoVendedor = new VendedorBL(); Decimal Comision = ObjetoVendedor.BuscarPorID(ObtenerVendedor()).Comision; //Obtenemos el detalle de las facturas creadas. List <cDetalleFactura> ListaDetalleFactura = new List <cDetalleFactura>(); foreach (DataGridViewRow row in dgvDetalleFactura.Rows) { cDetalleFactura Detalle = new cDetalleFactura(); Detalle.FacturaID = FacturaID; Detalle.TipoDocumento = "C"; Detalle.ArticuloID = Convert.ToInt32(row.Cells[0].Value); Detalle.Precio = Convert.ToDecimal(row.Cells[4].Value); Detalle.Cantidad = Convert.ToDecimal(row.Cells[3].Value); Detalle.Costo = Convert.ToDecimal(row.Cells[10].Value); Detalle.ImpuestoValor = Convert.ToDecimal(row.Cells[5].Value); Detalle.DescuentoValor = Convert.ToDecimal(row.Cells[7].Value); Detalle.UnidadVentaID = Convert.ToInt32(row.Cells[11].Value); Detalle.TipoProducto = row.Cells[12].Value.ToString(); Detalle.ValorComision = (Convert.ToDecimal(Comision) * (Convert.ToDecimal(row.Cells[4].Value))); Detalle.ComisionVenta = Comision; ListaDetalleFactura.Add(Detalle); } DetalleFacturaBL ObjetoDetalleFactura = new DetalleFacturaBL(); ObjetoDetalleFactura.Crear(ListaDetalleFactura); }
private void MostrarResultados(List <cDetalleFactura> ListaArticulos) { //Ajustamos la lista para el primer articulo cDetalleFactura Articulo = ListaArticulos.FirstOrDefault(); try { cInventario InformacionArticulo = ObjetoInventario.BuscarPorID(Articulo.ArticuloID); //Asigna el resultado de la busqueda a los controles indicados txtCodigo.Text = InformacionArticulo.CodigoArticulo; lblDescripcion.Text = InformacionArticulo.Descripcion; txtCantidad.Text = Articulo.Cantidad.ToString(); txtPrecio.Text = Articulo.Precio.ToString(); //Obtenemos el valor del impuesto asignado al articulo Decimal ValorImpuesto = Articulo.ImpuestoValor; txtImpuesto.Text = ValorImpuesto.ToString(); //Calculamos el importe total del articulo mas los impuestos siempre por el valor unitario. txtImporteTotal.Text = ((Articulo.Precio * ((ValorImpuesto / 100) + 1)) * 1).ToString(); //Nos posicionamos en la cantidad txtCantidad.Focus(); } catch (Exception Ex) { MessageBox.Show(Ex.Message); } }
private void AsignarValores(cDetalleFactura Detalle) { cInventario Articulo = ObjetoInventario.BuscarPorID(Detalle.ArticuloID); try { //Guardamos los resultados del articulo a facturar _Codigo = Articulo.ID; _CodigoArticulo = Articulo.CodigoArticulo; _Descripcion = Articulo.Descripcion; _Cantidad = Convert.ToDecimal(txtCantidad.Text); _PrecioUnitario = Detalle.Precio; _CostoUnitario = Detalle.Costo; _ImporteDescuento = Detalle.DescuentoValor; _TotalDescuentoArticulo = _PrecioUnitario * (_ImporteDescuento / 100); //Total de valor a descontarse _ImporteImpuestos = Detalle.ImpuestoValor; //Importe de Impuestos _TotalImpuestoArticulo = (_PrecioUnitario * _Cantidad) * (_ImporteImpuestos / 100); //Total de valor a cobrarse de impuesto _SubTotalArticulo = _Cantidad * _PrecioUnitario; //Subtotal de articulo _ImporteTotalArticulo = (_SubTotalArticulo - _TotalDescuentoArticulo) + _TotalImpuestoArticulo; _TipoArticulo = Detalle.TipoProducto; _UnidadVentaID = Detalle.UnidadVentaID; } catch (Exception Ex) { throw Ex; } }
private void DetalleFacturaToolStripMenuItem_Click(object sender, EventArgs e) { cDetalleFactura cDetalle = new cDetalleFactura(); cDetalle.MdiParent = this; cDetalle.Show(); }
public static List <cDetalleFactura> ListarDetalle(Int64 FacturaID, String TipoDocumento) { try { //Declaramos la conexion hacia la base de datos using (SqlConnection Conn = new SqlConnection(cConexion.CadenaConexion())) { Conn.Open(); //Nombre del procedimiento string StoreProc = "uspBuscarDetalleFacturaPorTipoDocID"; //Creamos el command para la insercion SqlCommand Cmd = new SqlCommand(StoreProc, Conn); Cmd.CommandType = CommandType.StoredProcedure; //Parametros Cmd.Parameters.AddWithValue("TipoDocumento", TipoDocumento); Cmd.Parameters.AddWithValue("FacturaID", FacturaID); //Ejecutamos el lector SqlDataReader Reader = Cmd.ExecuteReader(); List <cDetalleFactura> Lista = new List <cDetalleFactura>(); while (Reader.Read()) { cDetalleFactura Detalle = new cDetalleFactura(); Detalle.ArticuloID = Reader.GetInt64(Reader.GetOrdinal("ArticuloID")); Detalle.Cantidad = Reader.GetDecimal(Reader.GetOrdinal("Cantidad")); Detalle.Precio = Reader.GetDecimal(Reader.GetOrdinal("Precio")); Detalle.Costo = Reader.GetDecimal(Reader.GetOrdinal("Costo")); Detalle.ImpuestoValor = Reader.GetDecimal(Reader.GetOrdinal("ImpuestoValor")); Detalle.DescuentoValor = Reader.GetDecimal(Reader.GetOrdinal("DescuentoValor")); Detalle.UnidadVentaID = Reader.GetInt32(Reader.GetOrdinal("UnidadVentaID")); Detalle.TipoProducto = Reader.GetString(Reader.GetOrdinal("TipoProducto")); Detalle.ComisionVenta = Reader.GetDecimal(Reader.GetOrdinal("ComisionVenta")); Detalle.ValorComision = Reader.GetDecimal(Reader.GetOrdinal("ValorComision")); //Agregamos el articulo a la lista Lista.Add(Detalle); } //Cerramos la conexion Conn.Close(); //Retornamos la lista de clientes return(Lista); } } catch (SqlException Ex) { throw Ex; } }
protected void getDataMinimiGaranty() { MinimoGarantizado oMinimoGarantizado = new MinimoGarantizado(); oMinimoGarantizado.ViewClient = true; oMinimoGarantizado.Periodo = cmbox_periodo_minimo.SelectedValue; oMinimoGarantizado.getMakeTable(); DBConn oConn = new DBConn(); if (oConn.Open()) { DateTime dFechaIni = DateTime.Parse(cmbox_periodo_minimo.SelectedValue.Substring(0, 10)); DateTime dFechaFin = DateTime.Parse(cmbox_periodo_minimo.SelectedValue.Substring(13, 10)); cMinimoContrato oMinimoContrato = new cMinimoContrato(ref oConn); oMinimoContrato.NkeyDeudor = cmbox_licenciatario.SelectedValue; oMinimoContrato.NumContrato = cmbox_contrato.SelectedValue; oMinimoContrato.FechaInicio = dFechaIni.ToString("yyyyMMdd"); oMinimoContrato.FechaFinal = dFechaFin.ToString("yyyyMMdd"); DataTable dtMinimo = oMinimoContrato.Get(); if (dtMinimo != null) { foreach (DataRow oRow in dtMinimo.Rows) { int iYearInicio = DateTime.Parse(cmbox_periodo_minimo.SelectedValue.Substring(0, 10)).Year; int iYearFinal = DateTime.Parse(cmbox_periodo_minimo.SelectedValue.Substring(13, 10)).Year; cFactura oFactura = new cFactura(ref oConn); oFactura.NumContrato = (!string.IsNullOrEmpty(cmbox_contrato.SelectedValue) ? cmbox_contrato.SelectedValue : oRow["num_contrato"].ToString()); oFactura.TipoFactura = "T"; oFactura.PeriodoAno = (iYearInicio.ToString() == iYearFinal.ToString() ? "'" + iYearInicio.ToString() + "'" : "'" + iYearInicio.ToString() + "','" + iYearFinal.ToString() + "'"); DataTable dtFactura = oFactura.GetForMinimo(); if (dtFactura != null) { if (dtFactura.Rows.Count > 0) { double iTotal = 0; oMinimoGarantizado.Licenciatario = oRow["licenciatario"].ToString(); oMinimoGarantizado.NoContrato = oRow["contrato"].ToString(); oMinimoGarantizado.Marca = oRow["marca"].ToString(); oMinimoGarantizado.Categoria = oRow["categoria"].ToString(); oMinimoGarantizado.SubCategoria = oRow["subcategoria"].ToString(); oMinimoGarantizado.MinimoUsd = oRow["minimo"].ToString(); oMinimoGarantizado.Advance = "0"; oMinimoGarantizado.PeriodoUno = "0"; oMinimoGarantizado.PeriodoDos = "0"; oMinimoGarantizado.PeriodoTres = "0"; oMinimoGarantizado.PeriodoCuatro = "0"; foreach (DataRow oRowFact in dtFactura.Rows) { cDetalleFacturaAdvance oDetalleFacturaAdvance = new cDetalleFacturaAdvance(ref oConn); oDetalleFacturaAdvance.CodigoFactura = oRowFact["codigo_factura"].ToString(); oDetalleFacturaAdvance.CodMarca = oRow["cod_marca"].ToString(); oDetalleFacturaAdvance.CodCategoria = oRow["cod_categoria"].ToString(); oDetalleFacturaAdvance.CodSubCategoria = oRow["cod_subcategoria"].ToString(); DataTable dtDetalleFactAdvance = oDetalleFacturaAdvance.GetByMinimo(); if (dtDetalleFactAdvance != null) { if (dtDetalleFactAdvance.Rows.Count > 0) { oMinimoGarantizado.Advance = dtDetalleFactAdvance.Rows[0]["advance_usd"].ToString(); } } dtDetalleFactAdvance = null; cDetalleFactura DetalleFactura = new cDetalleFactura(ref oConn); DetalleFactura.CodigoFactura = oRowFact["codigo_factura"].ToString(); DetalleFactura.CodMarca = oRow["cod_marca"].ToString(); DetalleFactura.CodCategoria = oRow["cod_categoria"].ToString(); DetalleFactura.CodSubcategoria = oRow["cod_subcategoria"].ToString(); DataTable dtDetalleFactura = DetalleFactura.GetByMinimo(); if (dtDetalleFactura != null) { if (dtDetalleFactura.Rows.Count > 0) { Web oWeb = new Web(); DateTime fecha_inicial = DateTime.Parse(cmbox_periodo_minimo.SelectedValue.Substring(0, 10)); DateTime fecha_final = DateTime.Parse(cmbox_periodo_minimo.SelectedValue.Substring(13)); int lngCantMes = Math.Abs((fecha_final.Month - fecha_inicial.Month) + 12 * (fecha_final.Year - fecha_inicial.Year)) + 1; int lngTrimestres = lngCantMes / 3; if (lngTrimestres > 0) { DateTime dMonthForQ = fecha_inicial; for (int i = 0; i < lngTrimestres; i++) { dMonthForQ = dMonthForQ.AddMonths(2); if (oRowFact["periodo"].ToString() == (oWeb.getPeriodoByNumMonth(dMonthForQ.Month) + "/" + dMonthForQ.Year.ToString())) { if (i == 0) { oMinimoGarantizado.PeriodoUno = (double.Parse(dtDetalleFactura.Rows[0]["monto_royalty_usd"].ToString()) - double.Parse(dtDetalleFactura.Rows[0]["saldo_advance_usd"].ToString())).ToString(); } //oMinimoGarantizado.PeriodoUno = dtDetalleFactura.Rows[0]["factura_usd"].ToString(); else if (i == 1) { oMinimoGarantizado.PeriodoDos = (double.Parse(dtDetalleFactura.Rows[0]["monto_royalty_usd"].ToString()) - double.Parse(dtDetalleFactura.Rows[0]["saldo_advance_usd"].ToString())).ToString(); } else if (i == 2) { oMinimoGarantizado.PeriodoTres = (double.Parse(dtDetalleFactura.Rows[0]["monto_royalty_usd"].ToString()) - double.Parse(dtDetalleFactura.Rows[0]["saldo_advance_usd"].ToString())).ToString(); } else if (i == 3) { oMinimoGarantizado.PeriodoCuatro = (double.Parse(dtDetalleFactura.Rows[0]["monto_royalty_usd"].ToString()) - double.Parse(dtDetalleFactura.Rows[0]["saldo_advance_usd"].ToString())).ToString(); } } dMonthForQ = dMonthForQ.AddMonths(1); } } else { oMinimoGarantizado.PeriodoUno = (double.Parse(dtDetalleFactura.Rows[0]["monto_royalty_usd"].ToString()) - double.Parse(dtDetalleFactura.Rows[0]["saldo_advance_usd"].ToString())).ToString(); } } } dtDetalleFactura = null; } iTotal = double.Parse(oMinimoGarantizado.MinimoUsd) - (!string.IsNullOrEmpty(oMinimoGarantizado.Advance) ? double.Parse(oMinimoGarantizado.Advance) : 0); iTotal = iTotal - (!string.IsNullOrEmpty(oMinimoGarantizado.PeriodoUno) ? double.Parse(oMinimoGarantizado.PeriodoUno) : 0); iTotal = iTotal - (!string.IsNullOrEmpty(oMinimoGarantizado.PeriodoDos) ? double.Parse(oMinimoGarantizado.PeriodoDos) : 0); iTotal = iTotal - (!string.IsNullOrEmpty(oMinimoGarantizado.PeriodoTres) ? double.Parse(oMinimoGarantizado.PeriodoTres) : 0); iTotal = iTotal - (!string.IsNullOrEmpty(oMinimoGarantizado.PeriodoCuatro) ? double.Parse(oMinimoGarantizado.PeriodoCuatro) : 0); if (iTotal < 0) { iTotal = 0; } oMinimoGarantizado.Saldo = iTotal.ToString(); oMinimoGarantizado.AddRow(); } } dtFactura = null; } } dtMinimo = null; } oConn.Close(); DataTable dtMinimoGarantizado = oMinimoGarantizado.Get(); RadGrid oGridMinimo = new RadGrid(); oGridMinimo.ShowStatusBar = true; oGridMinimo.ShowFooter = true; oGridMinimo.AutoGenerateColumns = false; oGridMinimo.Skin = "Sitefinity"; //oGridMinimo.ItemDataBound += oGridMinimo_ItemDataBound; oGridMinimo.MasterTableView.AutoGenerateColumns = false; oGridMinimo.MasterTableView.ShowHeader = true; oGridMinimo.MasterTableView.ShowFooter = true; oGridMinimo.MasterTableView.TableLayout = GridTableLayout.Fixed; //oGridMinimo.MasterTableView.EditMode = GridEditMode.EditForms; oGridMinimo.MasterTableView.ShowHeadersWhenNoRecords = true; GridBoundColumn oGridBoundColumn; oGridBoundColumn = new GridBoundColumn(); oGridBoundColumn.DataField = "Licenciatario"; oGridBoundColumn.HeaderText = "Licenciatario"; oGridBoundColumn.UniqueName = "Licenciatario"; oGridMinimo.MasterTableView.Columns.Add(oGridBoundColumn); oGridBoundColumn = new GridBoundColumn(); oGridBoundColumn.DataField = "Contrato"; oGridBoundColumn.HeaderText = "Contrato"; oGridBoundColumn.UniqueName = "Contrato"; oGridMinimo.MasterTableView.Columns.Add(oGridBoundColumn); oGridBoundColumn = new GridBoundColumn(); oGridBoundColumn.DataField = "Marca"; oGridBoundColumn.HeaderText = "Marca"; oGridBoundColumn.UniqueName = "Marca"; oGridMinimo.MasterTableView.Columns.Add(oGridBoundColumn); oGridBoundColumn = new GridBoundColumn(); oGridBoundColumn.DataField = "Categoría"; oGridBoundColumn.HeaderText = "Categoría"; oGridBoundColumn.UniqueName = "Categoría"; oGridMinimo.MasterTableView.Columns.Add(oGridBoundColumn); oGridBoundColumn = new GridBoundColumn(); oGridBoundColumn.DataField = "Subcategoría"; oGridBoundColumn.HeaderText = "Subcategoría"; oGridBoundColumn.UniqueName = "Subcategoría"; oGridMinimo.MasterTableView.Columns.Add(oGridBoundColumn); oGridBoundColumn = new GridBoundColumn(); oGridBoundColumn.DataField = "Mínimo Garantizado USD"; oGridBoundColumn.HeaderText = "Mínimo Garantizado USD"; oGridBoundColumn.UniqueName = "Mínimo Garantizado USD"; oGridBoundColumn.DataFormatString = "{0:N0}"; oGridBoundColumn.FooterAggregateFormatString = "{0:N0}"; oGridBoundColumn.Aggregate = GridAggregateFunction.Sum; oGridMinimo.MasterTableView.Columns.Add(oGridBoundColumn); oGridBoundColumn = new GridBoundColumn(); oGridBoundColumn.DataField = "Factura Advance"; oGridBoundColumn.HeaderText = "Factura Advance"; oGridBoundColumn.UniqueName = "Factura Advance"; oGridBoundColumn.DataFormatString = "{0:N}"; oGridBoundColumn.FooterAggregateFormatString = "{0:N0}"; oGridBoundColumn.Aggregate = GridAggregateFunction.Sum; oGridMinimo.MasterTableView.Columns.Add(oGridBoundColumn); DateTime fechainicial = DateTime.Parse(cmbox_periodo_minimo.SelectedValue.Substring(0, 10)); DateTime fechafinal = DateTime.Parse(cmbox_periodo_minimo.SelectedValue.Substring(13)); int iCantMes = Math.Abs((fechafinal.Month - fechainicial.Month) + 12 * (fechafinal.Year - fechainicial.Year)) + 1; int iTrimestres = iCantMes / 3; if (iTrimestres > 0) { DateTime dMonthForQ = fechainicial; for (int i = 0; i < iTrimestres; i++) { dMonthForQ = dMonthForQ.AddMonths(2); oGridBoundColumn = new GridBoundColumn(); oGridBoundColumn.DataField = "Factura " + oWeb.getPeriodoByNumMonth(dMonthForQ.Month) + "/" + dMonthForQ.Year.ToString(); oGridBoundColumn.HeaderText = "Factura " + oWeb.getPeriodoByNumMonth(dMonthForQ.Month) + "/" + dMonthForQ.Year.ToString(); oGridBoundColumn.UniqueName = "Factura " + oWeb.getPeriodoByNumMonth(dMonthForQ.Month) + "/" + dMonthForQ.Year.ToString(); oGridBoundColumn.DataFormatString = "{0:N}"; oGridBoundColumn.FooterAggregateFormatString = "{0:N0}"; oGridBoundColumn.Aggregate = GridAggregateFunction.Sum; oGridMinimo.MasterTableView.Columns.Add(oGridBoundColumn); dMonthForQ = dMonthForQ.AddMonths(1); } } else { DateTime iMonth = fechainicial.AddMonths(2); oGridBoundColumn = new GridBoundColumn(); oGridBoundColumn.DataField = "Factura " + oWeb.getPeriodoByNumMonth(iMonth.Month) + "/" + iMonth.Year.ToString(); oGridBoundColumn.HeaderText = "Factura " + oWeb.getPeriodoByNumMonth(iMonth.Month) + "/" + iMonth.Year.ToString(); oGridBoundColumn.UniqueName = "Factura " + oWeb.getPeriodoByNumMonth(iMonth.Month) + "/" + iMonth.Year.ToString(); oGridBoundColumn.DataFormatString = "{0:N}"; oGridBoundColumn.FooterAggregateFormatString = "{0:N0}"; oGridBoundColumn.Aggregate = GridAggregateFunction.Sum; oGridMinimo.MasterTableView.Columns.Add(oGridBoundColumn); } oGridBoundColumn = new GridBoundColumn(); oGridBoundColumn.DataField = "Saldo"; oGridBoundColumn.HeaderText = "Saldo"; oGridBoundColumn.UniqueName = "Saldo"; oGridBoundColumn.DataFormatString = "{0:N0}"; oGridBoundColumn.FooterAggregateFormatString = "{0:N0}"; oGridBoundColumn.Aggregate = GridAggregateFunction.Sum; oGridMinimo.MasterTableView.Columns.Add(oGridBoundColumn); oGridMinimo.DataSource = dtMinimoGarantizado; oGridMinimo.Rebind(); idGrilla.Visible = true; idGrilla.Controls.Add(oGridMinimo); }
protected void btnAprobar_Click(object sender, EventArgs e) { string sNumInvoce = string.Empty; string sPeriodo = string.Empty; StringBuilder sHtml = new StringBuilder(); sHtml.Append(File.ReadAllText(Server.MapPath("invoice.html"))); StringBuilder sDataProductos = new StringBuilder(); StringBuilder sDataValorProductos = new StringBuilder(); double dTotalFacturaUsd = 0; bool bExito = false; if (ViewState["dtFactura"] != null) { arrayMes = ViewState["arrayMes"] as string[]; DataTable dtFactura = ViewState["dtFactura"] as DataTable; if (dtFactura != null) { DBConn oConn = new DBConn(); if (oConn.Open()) { cFactura oFactura = new cFactura(ref oConn); oFactura.NumContrato = hdd_num_contrato.Value; oFactura.Territory = "CHILE"; oFactura.DateInvoce = DateTime.Now.ToString("yyyy-MM-dd"); oFactura.DueDate = DateTime.Now.AddMonths(1).ToString("yyyy-MM-dd"); oFactura.TipoFactura = "Q"; oFactura.Accion = "CREAR"; oFactura.Put(); if (string.IsNullOrEmpty(oFactura.Error)) { bExito = true; } string pCodFactura = oFactura.CodFactura; cDetalleFactura oDetalleFactura = new cDetalleFactura(ref oConn); oDetalleFactura.CodigoFactura = pCodFactura; foreach (DataRow oRow in dtFactura.Rows) { string sDescripcionMarca = string.Empty; DataTable dtMarca = getMarca(oRow["Marca"].ToString()); if (dtMarca != null) { if (dtMarca.Rows.Count > 0) { sDescripcionMarca = dtMarca.Rows[0]["descripcion"].ToString(); } } dtMarca = null; string pCodCategoria = null; string sDescripcionCategoria = string.Empty; string pCodSubCategoria = null; string sDescripcionSubCategoria = string.Empty; if (!string.IsNullOrEmpty(oRow["Categoría"].ToString())) { pCodCategoria = oRow["Categoría"].ToString(); DataTable dtCategoria = getCategoria(oRow["Categoría"].ToString()); if (dtCategoria != null) { if (dtCategoria.Rows.Count > 0) { sDescripcionCategoria = dtCategoria.Rows[0]["descripcion"].ToString(); } } dtCategoria = null; } if (!string.IsNullOrEmpty(oRow["Subcategoría"].ToString())) { pCodSubCategoria = oRow["Subcategoría"].ToString(); DataTable dtSubCategoria = getSubCategoria(oRow["Subcategoría"].ToString()); if (dtSubCategoria != null) { if (dtSubCategoria.Rows.Count > 0) { sDescripcionSubCategoria = dtSubCategoria.Rows[0]["descripcion"].ToString(); } } dtSubCategoria = null; } sDataProductos.Append("<div style=\"padding-top:10px;padding-bottom:10px;\">"); sDataProductos.Append("<div><font style=\"font-family:Arial; color:#000000; font-size:10pt;font-weight:bold;\">"); sDataProductos.Append(sDescripcionMarca); if (!string.IsNullOrEmpty(sDescripcionCategoria)) { sDataProductos.Append(" / " + sDescripcionCategoria); } if (!string.IsNullOrEmpty(sDescripcionSubCategoria)) { sDataProductos.Append(" / " + sDescripcionSubCategoria); } sDataProductos.Append(" ").Append(String.Format("{0:P1}", double.Parse(oRow["Royalty (%)"].ToString()))).Append("</font></div>"); //sDataProductos.Append(" ").Append(oRow["Royalty (%)"].ToString()).Append("</font></div>"); sDataProductos.Append("<div><font style=\"font-family:Arial; color:#000000; font-size:10pt;\">Royalties</font></div>"); sDataProductos.Append("<div><font style=\"font-family:Arial; color:#000000; font-size:10pt;\">BDI</font></div>"); if (double.Parse(oRow["Saldo Advance USD"].ToString()) > 0) { sDataProductos.Append("<div><font style=\"font-family:Arial; color:#000000; font-size:10pt;\">Advance</font></div>"); } sDataProductos.Append("</div>"); oDetalleFactura.CodMarca = oRow["Marca"].ToString(); oDetalleFactura.CodCategoria = pCodCategoria; oDetalleFactura.CodSubcategoria = pCodSubCategoria; oDetalleFactura.MesNomUno = arrayMes[0].ToString(); oDetalleFactura.MesMntUno = oRow[oWeb.getMes(int.Parse(arrayMes[0].ToString())).ToString()].ToString(); oDetalleFactura.MesNomDos = arrayMes[1].ToString(); oDetalleFactura.MesMntDos = oRow[oWeb.getMes(int.Parse(arrayMes[1].ToString())).ToString()].ToString(); oDetalleFactura.MesNomTres = arrayMes[2].ToString(); oDetalleFactura.MesMntTres = oRow[oWeb.getMes(int.Parse(arrayMes[2].ToString())).ToString()].ToString(); oDetalleFactura.CodRoyalty = oRow["CodRoyalty"].ToString(); oDetalleFactura.Royalty = oRow["Royalty (%)"].ToString(); oDetalleFactura.Bdi = oRow["BDI (%)"].ToString(); oDetalleFactura.Periodo = oRow["Periodo"].ToString(); oDetalleFactura.MontoRoyaltyUsd = double.Parse(oRow["Monto Royalty USD"].ToString()).ToString(); oDetalleFactura.MontoBdiUsd = double.Parse(oRow["Monto BDI USD"].ToString()).ToString(); oDetalleFactura.SaldoAdvanceUsd = double.Parse(oRow["Saldo Advance USD"].ToString()).ToString(); oDetalleFactura.FacturaUsd = double.Parse(oRow["Factura USD"].ToString()).ToString(); oDetalleFactura.Accion = "CREAR"; oDetalleFactura.Put(); if (!string.IsNullOrEmpty(oDetalleFactura.Error)) { bExito = false; } cAdvanceContrato oAdvanceContrato = new cAdvanceContrato(ref oConn); oAdvanceContrato.NumContrato = hdd_num_contrato.Value; oAdvanceContrato.CodMarca = oRow["Marca"].ToString(); oAdvanceContrato.CodCategoria = pCodCategoria; oAdvanceContrato.CodSubCategoria = pCodSubCategoria; if (double.Parse(oRow["Factura USD"].ToString()) > 0) { oAdvanceContrato.Saldo = oRow["Saldo"].ToString(); } oAdvanceContrato.Accion = "EDITAR"; oAdvanceContrato.Put(); sDataValorProductos.Append("<div style=\"padding-top:10px;padding-bottom:10px; padding-left:10px;\">"); sDataValorProductos.Append("<div style=\"float:left;width:30px;\"><font style=\"font-family:Arial; color:#000000; font-size:10pt;\"> </font></div>"); sDataValorProductos.Append("<div style=\"text-align:right;\"><font style=\"font-family:Arial; color:#000000; font-size:10pt;\"> </font></div>"); sDataValorProductos.Append("<div style=\"float:left;width:30px;\"><font style=\"font-family:Arial; color:#000000; font-size:10pt;\">$</font></div>"); sDataValorProductos.Append("<div style=\"text-align:right;\"><font style=\"font-family:Arial; color:#000000; font-size:10pt;\">").Append(double.Parse(oRow["Monto Royalty USD"].ToString()).ToString("#,##0.00")).Append("</font></div>"); sDataValorProductos.Append("<div style=\"float:left;width:30px;\"><font style=\"font-family:Arial; color:#000000; font-size:10pt;\">$</font></div>"); sDataValorProductos.Append("<div style=\"text-align:right;\"><font style=\"font-family:Arial; color:#000000; font-size:10pt;\">").Append(double.Parse(oRow["Monto BDI USD"].ToString()).ToString("#,##0.00")).Append("</font></div>"); sDataValorProductos.Append("<div style=\"float:left;width:30px;\"><font style=\"font-family:Arial; color:#000000; font-size:10pt;\"> </font></div>"); if (double.Parse(oRow["Saldo Advance USD"].ToString()) > 0) { sDataValorProductos.Append("<div style=\"text-align:right;\"><font style=\"font-family:Arial; color:#ff0000; font-size:10pt;\">(").Append(double.Parse(oRow["Saldo Advance USD"].ToString()).ToString("#,##0.00")).Append(")</font></div>"); } sDataValorProductos.Append("</div>"); dTotalFacturaUsd = dTotalFacturaUsd + double.Parse(oRow["Factura USD"].ToString()); } string strNomDeudor = string.Empty; string sNomContacto = string.Empty; string sEmailContacto = string.Empty; string sDireccion = string.Empty; string sComuna = string.Empty; string sCiudad = string.Empty; cContratos oContrato = new cContratos(ref oConn); oContrato.NumContrato = hdd_num_contrato.Value; DataTable dtContrato = oContrato.Get(); if (dtContrato != null) { if (dtContrato.Rows.Count > 0) { cDeudor oDeudor = new cDeudor(ref oConn); oDeudor.NKeyDeudor = dtContrato.Rows[0]["nKey_Deudor"].ToString(); DataTable dtDeudor = oDeudor.Get(); if (dtDeudor != null) { if (dtDeudor.Rows.Count > 0) { strNomDeudor = dtDeudor.Rows[0]["snombre"].ToString(); } } dtDeudor = null; cContactosDeudor oContactosDeudor = new cContactosDeudor(ref oConn); oContactosDeudor.NKeyDeudor = dtContrato.Rows[0]["nKey_Deudor"].ToString(); oContactosDeudor.NkeyCliente = oUsuario.NKeyUsuario; DataTable dtContacto = oContactosDeudor.Get(); if (dtContacto != null) { if (dtContacto.Rows.Count > 0) { sNomContacto = dtContacto.Rows[0]["sNombre"].ToString(); sEmailContacto = dtContacto.Rows[0]["sEmail"].ToString(); } } dtContacto = null; cDirecciones oDirecciones = new cDirecciones(ref oConn); oDirecciones.NKeyDeudor = dtContrato.Rows[0]["nKey_Deudor"].ToString(); oDirecciones.NkeyCliente = oUsuario.NKeyUsuario; DataTable dtDireccion = oDirecciones.Get(); if (dtDireccion != null) { if (dtDireccion.Rows.Count > 0) { sDireccion = dtDireccion.Rows[0]["sDireccion"].ToString(); sComuna = dtDireccion.Rows[0]["sComuna"].ToString(); sCiudad = dtDireccion.Rows[0]["sCiudad"].ToString(); } } dtDireccion = null; } } dtContrato = null; //string sNumInvoce = strNomDeudor.Substring(0, 3).ToUpper(); //sNumInvoce = sNumInvoce.ToUpper(); //string sNumInvoce = "FE" + int.Parse(pCodFactura).ToString("D10"); sNumInvoce = "FE" + pCodFactura; oFactura.Total = dTotalFacturaUsd.ToString(); oFactura.Periodo = hdd_periodo.Value + "/" + hdd_ano_periodo.Value; oFactura.NumInvoice = sNumInvoce; oFactura.Accion = "EDITAR"; oFactura.Put(); cReporteVenta cReporteVenta; arrayReporteVenta = ViewState["arrayReporteVenta"] as string[]; foreach (string pCodReporte in arrayReporteVenta) { cReporteVenta = new cReporteVenta(ref oConn); cReporteVenta.CodigoReporteVenta = pCodReporte; cReporteVenta.Facturado = "F"; cReporteVenta.CodigoFactura = pCodFactura; cReporteVenta.Accion = "EDITAR"; cReporteVenta.Put(); } if (double.Parse(dTotalFacturaUsd.ToString()) > 0) { sHtml.Replace("[#TITLE]", "INVOICE"); } else { sHtml.Replace("[#TITLE]", "CREDIT NOTE"); } sHtml.Replace("[#NUMFACTURA]", sNumInvoce); sHtml.Replace("[#NOMEMPRESA]", strNomDeudor); sHtml.Replace("[#NOMCONTACTO]", sNomContacto); sHtml.Replace("[#EMAILCONTACTO]", sEmailContacto); sHtml.Replace("[#DIRECCION]", sDireccion + (!string.IsNullOrEmpty(sComuna) ? ", " + sComuna : string.Empty)); sHtml.Replace("[#CIUDAD]", sCiudad); sHtml.Replace("[#PAIS]", ""); sHtml.Replace("[#FECHA]", DateTime.Now.ToString("d-MMM-yy", CultureInfo.CreateSpecificCulture("en-US"))); sHtml.Replace("[#NUMCONTRATO]", hdd_no_contrato.Value); sHtml.Replace("[#PERIODOQ]", oDetalleFactura.Periodo); sPeriodo = oDetalleFactura.Periodo; sHtml.Replace("[#PROPERTY]", ""); sHtml.Replace("[#TERRITORIO]", "CHILE"); sHtml.Replace("[#DETALLEPRODUCTOS]", sDataProductos.ToString()); sHtml.Replace("[#DETALLEVALORPRODUCTOS]", sDataValorProductos.ToString()); sHtml.Replace("[#DUEDATE]", DateTime.Now.AddMonths(1).ToString("d-MMM-yy", CultureInfo.CreateSpecificCulture("en-US"))); //sHtml.Replace("[#TOTAL]", double.Parse(dTotalFacturaUsd.ToString()).ToString("#,##0.00")); sHtml.Replace("[#TOTAL]", double.Parse(dTotalFacturaUsd.ToString()).ToString("N0")); if (!Directory.Exists(Server.MapPath("Facturas/") + hdd_no_contrato.Value + "/")) { Directory.CreateDirectory(Server.MapPath("Facturas/") + hdd_no_contrato.Value + "/"); } string sFileHtml = Server.MapPath("Facturas/") + hdd_no_contrato.Value + "/" + sNumInvoce + ".html"; File.WriteAllText(sFileHtml, sHtml.ToString(), Encoding.UTF8); } oConn.Close(); } dtFactura = null; } if (bExito) { //cmbox_contrato.SelectedValue = "0"; idGrilla.Visible = false; idBtnSave.Visible = false; DBConn oConn = new DBConn(); if (oConn.Open()) { cLogEventos oLogEventos = new cLogEventos(ref oConn); oLogEventos.AccionLog = "APROBAR POR DETALLE PRE-FACTURA Q"; oLogEventos.CodCanal = "2"; oLogEventos.CodFlujo = "5"; oLogEventos.NomFlujo = "FACTURACION Q"; oLogEventos.NumContrato = hdd_num_contrato.Value; oLogEventos.NoContrato = hdd_no_contrato.Value; oLogEventos.PeriodoLog = sPeriodo; //oLogEventos.RutDeudor = oUsuario.RutLicenciatario; oLogEventos.CodUser = oUsuario.CodUsuario; oLogEventos.RutUser = oUsuario.RutUsuario; oLogEventos.NomUser = oUsuario.Nombres; oLogEventos.ObsLog = "Se ha autorizado correctamente la Factura Q " + sNumInvoce; oLogEventos.IpLog = oWeb.GetIpUsuario(); oLogEventos.Accion = "CREAR"; oLogEventos.Put(); } oConn.Close(); StringBuilder js = new StringBuilder(); js.Append("function LgRespuesta() {"); js.Append(" window.radalert('La factura ha sido emitida con éxito.', 330, 210); "); js.Append(" Sys.Application.remove_load(LgRespuesta); "); js.Append("};"); js.Append("Sys.Application.add_load(LgRespuesta);"); Page.ClientScript.RegisterStartupScript(this.GetType(), "radalert", js.ToString(), true); } }
protected void RadGrid1_ItemCommand(object source, Telerik.Web.UI.GridCommandEventArgs e) { switch (e.CommandName) { case "cmdDelete": DBConn oConn = new DBConn(); if (oConn.Open()) { string pCodFactura = e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["codigo_factura"].ToString(); string pNumContrato = e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["num_contrato"].ToString(); string pTipoFactura = e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["tipo_factura"].ToString(); if (pTipoFactura == "A") { cDetalleFacturaAdvance oDetalleFacturaAdvance = new cDetalleFacturaAdvance(ref oConn); oDetalleFacturaAdvance.CodigoFactura = pCodFactura; oDetalleFacturaAdvance.Accion = "ELIMINAR"; oDetalleFacturaAdvance.Put(); cContratos oContratos = new cContratos(ref oConn); oContratos.NumContrato = pNumContrato; oContratos.Accion = "ELIMINAADVANCE"; oContratos.Put(); } else if (pTipoFactura == "Q") { cDetalleFactura oDetalleFactura = new cDetalleFactura(ref oConn); oDetalleFactura.CodigoFactura = pCodFactura; DataTable dt = oDetalleFactura.Get(); if (dt != null) { if (dt.Rows.Count > 0) { foreach (DataRow oRow in dt.Rows) { if (!string.IsNullOrEmpty(oRow["saldo_advance_usd"].ToString())) { cAdvanceContrato oAdvanceContrato = new cAdvanceContrato(ref oConn); oAdvanceContrato.NumContrato = pNumContrato; oAdvanceContrato.CodMarca = oRow["cod_marca"].ToString(); oAdvanceContrato.CodCategoria = oRow["cod_categoria"].ToString(); oAdvanceContrato.CodSubCategoria = oRow["cod_subcategoria"].ToString(); DataTable dtAdvance = oAdvanceContrato.Get(); if (dtAdvance != null) { if (dtAdvance.Rows.Count > 0) { oAdvanceContrato.Saldo = (!string.IsNullOrEmpty(dtAdvance.Rows[0]["saldo"].ToString()) ? (double.Parse(dtAdvance.Rows[0]["saldo"].ToString()) + double.Parse(oRow["saldo_advance_usd"].ToString())).ToString() : oRow["saldo_advance_usd"].ToString()); oAdvanceContrato.Accion = "EDITAR"; oAdvanceContrato.Put(); } } dtAdvance = null; } } } } dt = null; oDetalleFactura.Accion = "ELIMINAR"; oDetalleFactura.Put(); cReporteVenta oReporteVenta = new cReporteVenta(ref oConn); oReporteVenta.CodigoFactura = pCodFactura; oReporteVenta.Accion = "ELIMINAFACTURA"; oReporteVenta.Put(); } else if (pTipoFactura == "S") { cDetFactShortfall oDetFactShortfall = new cDetFactShortfall(ref oConn); oDetFactShortfall.CodigoFactura = pCodFactura; oDetFactShortfall.Accion = "ELIMINAR"; oDetFactShortfall.Put(); cMinimoContrato oMinimoContrato = new cMinimoContrato(ref oConn); oMinimoContrato.CodFactShortFall = pCodFactura; oMinimoContrato.Accion = "ELIMINAFACTURA"; oMinimoContrato.Put(); } cFactura oFactura = new cFactura(ref oConn); oFactura.CodFactura = pCodFactura; oFactura.Accion = "ELIMINAR"; oFactura.Put(); cLogEventos oLogEventos = new cLogEventos(ref oConn); oLogEventos.AccionLog = "ELIMINACION DE FACTURA DE " + (pTipoFactura == "A" ? "ADVANCE" : (pTipoFactura == "Q" ? "PERIODO" : "SHORTFALL")) + " FE" + pCodFactura; oLogEventos.CodCanal = "2"; oLogEventos.CodFlujo = "9"; oLogEventos.NomFlujo = "ELIMINACION DE FACTURA"; oLogEventos.NumContrato = pNumContrato; oLogEventos.CodUser = oUsuario.CodUsuario; oLogEventos.RutUser = oUsuario.RutUsuario; oLogEventos.NomUser = oUsuario.Nombres; oLogEventos.IpLog = oWeb.GetIpUsuario(); oLogEventos.Accion = "CREAR"; oLogEventos.Put(); } oConn.Close(); break; } RadGrid1.Rebind(); }