/// <summary> /// Eliminar los datos de una carga de un ATM. /// </summary> /// <param name="c">Objeto FacturacionTransportadora con los datos de la carga</param> public void eliminarFacturacionTransportadora(FacturacionTransportadora c) { SqlCommand comando = _manejador.obtenerProcedimiento("DeleteFacturacionTransportadora"); _manejador.agregarParametro(comando, "@carga", c, SqlDbType.Int); try { _manejador.ejecutarConsultaActualizacion(comando); comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorFacturacionTransportadoraEliminacion"); } }
/// <summary> /// Actualizar los datos de la carga de un ATM. /// </summary> /// <param name="c">Objeto FacturacionTransportadora con los datos de la carga</param> public void actualizarFacturacionTransportadora(ref FacturacionTransportadora c) { SqlCommand comando = _manejador.obtenerProcedimiento("UpdateFacturacionTransportadora"); _manejador.agregarParametro(comando, "@fecha_fin", c.Fecha, SqlDbType.Date); _manejador.agregarParametro(comando, "@fecha", c.FechaFin, SqlDbType.Date); _manejador.agregarParametro(comando, "@transportadora", c.Empresa_encargada, SqlDbType.TinyInt); _manejador.agregarParametro(comando, "@cliente", c.Cliente, SqlDbType.SmallInt); _manejador.agregarParametro(comando, "@colaborador", c.ColaboradoRegistro, SqlDbType.Int); _manejador.agregarParametro(comando, "@observaciones", c.Observaciones, SqlDbType.NVarChar); _manejador.agregarParametro(comando, "@id", c.ID, SqlDbType.Int); try { _manejador.ejecutarConsultaActualizacion(comando); comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorFacturacionTransportadoraActualizacion"); } }
/// <summary> /// Obtener los nombres jurídicos de un cliente. /// </summary> /// <param name="c">Cliente para el cual se obtiene la lista de nombres</param> public void obtenerCategoriaResumenFacturacion(ref FacturacionTransportadora c) { SqlCommand comando = _manejador.obtenerProcedimiento("SelectCategoriaResumenFacturacion"); SqlDataReader datareader = null; _manejador.agregarParametro(comando, "@resumen", c.ID, SqlDbType.Int); try { datareader = _manejador.ejecutarConsultaDatos(comando); while (datareader.Read()) { int id = (int)datareader["pk_ID"]; string centro_costos = (string)datareader["CentroCostos"]; string modelo = (string)datareader["Modelo"]; string factura = (string)datareader["Factura"]; CategoriasFacturacion categoria = (CategoriasFacturacion)datareader["Tipo"]; decimal monto = Convert.ToDecimal(datareader["Monto"]); decimal creditos_debitos = Convert.ToDecimal(datareader["CreditosDebitos"]); CategoriaFacturacionTransportadora categoria_facturacion = new CategoriaFacturacionTransportadora(id: id, centro_costos: centro_costos, modelo: modelo, factura: factura, monto: monto, creditosdebitos: creditos_debitos, categoria: categoria); c.agregarCategoria(categoria_facturacion); } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } }
/// <summary> /// Llena los datos de la Facturacion en la tabla /// </summary> /// <param name="f">Objeto Facturacion con los datos a pintar</param> private void llenarDatos(FacturacionTransportadora f) { //foreach (CategoriaFacturacionTransportadora c in f.ListaCategoria) //{ // switch (c.Categoria) // { // case CategoriasFacturacion.Cuenta_Corriente_Entrantes: // dgvCargas[1, 0].Value = c.Modelo; // dgvCargas[2, 0].Value = c.CentroCostos; // dgvCargas[3, 0].Value = c.Factura; // dgvCargas[4, 0].Value = c.Monto; // dgvCargas[5, 0].Value = c.MontoCreditoDebito; // break; // case (CategoriasFacturacion.Cuenta_Corriente_Salientes): // dgvCargas[1, 1].Value = c.Modelo; // dgvCargas[2, 1].Value = c.CentroCostos; // dgvCargas[3, 1].Value = c.Factura; // dgvCargas[4, 1].Value = c.Monto; // dgvCargas[5, 1].Value = c.MontoCreditoDebito; // break; // case (CategoriasFacturacion.Sucursales): // dgvCargas[1, 2].Value = c.Modelo; // dgvCargas[2, 2].Value = c.CentroCostos; // dgvCargas[3, 2].Value = c.Factura; // dgvCargas[4, 2].Value = c.Monto; // dgvCargas[5, 2].Value = c.MontoCreditoDebito; // break; // case (CategoriasFacturacion.Material_Operativo): // dgvCargas[1, 3].Value = c.Modelo; // dgvCargas[2, 3].Value = c.CentroCostos; // dgvCargas[3, 3].Value = c.Factura; // dgvCargas[4, 3].Value = c.Monto; // dgvCargas[5, 3].Value = c.MontoCreditoDebito; // break; // case (CategoriasFacturacion.Procesamiento): // dgvCargas[1, 4].Value = c.Modelo; // dgvCargas[2, 4].Value = c.CentroCostos; // dgvCargas[3, 4].Value = c.Factura; // dgvCargas[4, 4].Value = c.Monto; // dgvCargas[5, 4].Value = c.MontoCreditoDebito; // break; // case (CategoriasFacturacion.Servicios_Especiales): // dgvCargas[1, 5].Value = c.Modelo; // dgvCargas[2, 5].Value = c.CentroCostos; // dgvCargas[3, 5].Value = c.Factura; // dgvCargas[4, 5].Value = c.Monto; // dgvCargas[5, 5].Value = c.MontoCreditoDebito; // break; // case (CategoriasFacturacion.Eticket): // dgvCargas[1, 6].Value = c.Modelo; // dgvCargas[2, 6].Value = c.CentroCostos; // dgvCargas[3, 6].Value = c.Factura; // dgvCargas[4, 6].Value = c.Monto; // dgvCargas[5, 6].Value = c.MontoCreditoDebito; // break; // } //} }
/// <summary> /// Llena los datos de la Facturacion en la tabla /// </summary> /// <param name="f">Objeto Facturacion con los datos a pintar</param> private void llenarDatos(FacturacionTransportadora f) { if (f.Cliente != null) { cboCliente.Text = f.Cliente.ToString(); } else { cboCliente.SelectedIndex = 0; } if (f.Empresa_encargada != null) { cboTransportadora.Text = f.Empresa_encargada.ToString(); } else { cboTransportadora.SelectedIndex = 0; } txtObservaciones.Text = f.Observaciones; foreach (CategoriaFacturacionTransportadora c in f.ListaCategoria) { switch (c.Categoria) { case CategoriasFacturacion.Cuenta_Corriente_Entrantes: dgvFacturar[1, 0].Value = c.Modelo; dgvFacturar[2, 0].Value = c.CentroCostos; dgvFacturar[3, 0].Value = c.Factura; dgvFacturar[4, 0].Value = c.Monto; dgvFacturar[5, 0].Value = c.MontoCreditoDebito; break; case (CategoriasFacturacion.Cuenta_Corriente_Salientes): dgvFacturar[1, 1].Value = c.Modelo; dgvFacturar[2, 1].Value = c.CentroCostos; dgvFacturar[3, 1].Value = c.Factura; dgvFacturar[4, 1].Value = c.Monto; dgvFacturar[5, 1].Value = c.MontoCreditoDebito; break; case (CategoriasFacturacion.Sucursales): dgvFacturar[1, 2].Value = c.Modelo; dgvFacturar[2, 2].Value = c.CentroCostos; dgvFacturar[3, 2].Value = c.Factura; dgvFacturar[4, 2].Value = c.Monto; dgvFacturar[5, 2].Value = c.MontoCreditoDebito; break; case (CategoriasFacturacion.Material_Operativo): dgvFacturar[1, 3].Value = c.Modelo; dgvFacturar[2, 3].Value = c.CentroCostos; dgvFacturar[3, 3].Value = c.Factura; dgvFacturar[4, 3].Value = c.Monto; dgvFacturar[5, 3].Value = c.MontoCreditoDebito; break; case (CategoriasFacturacion.Procesamiento): dgvFacturar[1, 4].Value = c.Modelo; dgvFacturar[2, 4].Value = c.CentroCostos; dgvFacturar[3, 4].Value = c.Factura; dgvFacturar[4, 4].Value = c.Monto; dgvFacturar[5, 4].Value = c.MontoCreditoDebito; break; case (CategoriasFacturacion.Servicios_Especiales): dgvFacturar[1, 5].Value = c.Modelo; dgvFacturar[2, 5].Value = c.CentroCostos; dgvFacturar[3, 5].Value = c.Factura; dgvFacturar[4, 5].Value = c.Monto; dgvFacturar[5, 5].Value = c.MontoCreditoDebito; break; case (CategoriasFacturacion.Eticket): dgvFacturar[1, 6].Value = c.Modelo; dgvFacturar[2, 6].Value = c.CentroCostos; dgvFacturar[3, 6].Value = c.Factura; dgvFacturar[4, 6].Value = c.Monto; dgvFacturar[5, 6].Value = c.MontoCreditoDebito; break; } } }
/// <summary> /// Exporta el reporte del resumen de facturación /// </summary> private void btnExportar_Click(object sender, EventArgs e) { try { Cliente cliente = cboCliente.SelectedIndex == 0 ? null : (Cliente)cboCliente.SelectedItem; EmpresaTransporte transportadora = cboTransportadora.SelectedIndex == 0 ? null : (EmpresaTransporte)cboTransportadora.SelectedItem; string observ = txtObservaciones.Text; DateTime fecha_inicio = dtpFecha.Value; DateTime fecha_fin = dtpFechaFin.Value; FacturacionTransportadora facturacion = new FacturacionTransportadora(); BindingList <CategoriaFacturacionTransportadora> lista = new BindingList <CategoriaFacturacionTransportadora>(); // Carga los datos de la tabla CategoriaFacturacionTransportadora cuenta_corriente_entrante = new CategoriaFacturacionTransportadora(monto: _monto_cuenta_corriente_entrante, creditosdebitos: _creditosdebitos_cuenta_corriente_entrante, centro_costos: _cc_cuenta_corriente_entrante, factura: _factura_cuenta_corriente_entrante, categoria: CategoriasFacturacion.Cuenta_Corriente_Entrantes, modelo: _modelo_cuenta_corriente_entrante); CategoriaFacturacionTransportadora cuenta_corriente_saliente = new CategoriaFacturacionTransportadora(monto: _monto_cuenta_corriente_saliente, creditosdebitos: _creditosdebitos_cuenta_corriente_saliente, centro_costos: _cc_cuenta_corriente_saliente, factura: _factura_cuenta_corriente_saliente, categoria: CategoriasFacturacion.Cuenta_Corriente_Salientes, modelo: _modelo_cuenta_corriente_saliente); CategoriaFacturacionTransportadora sucursales = new CategoriaFacturacionTransportadora(monto: _monto_sucursales, creditosdebitos: _creditosdebitos_sucursales, centro_costos: _cc_sucursales, factura: _factura_sucursales, categoria: CategoriasFacturacion.Sucursales, modelo: _modelo_sucursales); CategoriaFacturacionTransportadora material_operativo = new CategoriaFacturacionTransportadora(monto: _monto_material_operativo, creditosdebitos: _creditosdebitos_material_operativo, centro_costos: _cc_material_operativo, factura: _factura_material_operativo, categoria: CategoriasFacturacion.Material_Operativo, modelo: _modelo_material_operativo); CategoriaFacturacionTransportadora procesamiento = new CategoriaFacturacionTransportadora(monto: _monto_procesamiento, creditosdebitos: _creditosdebitos_procesamiento, centro_costos: _cc_procesamiento, factura: _factura_procesamiento, categoria: CategoriasFacturacion.Procesamiento, modelo: _modelo_procesamiento); CategoriaFacturacionTransportadora servicios_especiales = new CategoriaFacturacionTransportadora(monto: _monto_servicios_especiales, creditosdebitos: _creditosdebitos_servicios_especiales, centro_costos: _cc_servicios_especiales, factura: _factura_servicios_especiales, categoria: CategoriasFacturacion.Servicios_Especiales, modelo: _modelo_servicios_especiales); CategoriaFacturacionTransportadora eticket = new CategoriaFacturacionTransportadora(monto: _monto_eticket, creditosdebitos: _creditosdebitos_eticket, centro_costos: _cc_eticket, factura: _factura_eticket, categoria: CategoriasFacturacion.Eticket, modelo: _modelo_eticket); lista.Add(cuenta_corriente_entrante); lista.Add(cuenta_corriente_saliente); lista.Add(sucursales); lista.Add(material_operativo); lista.Add(procesamiento); lista.Add(servicios_especiales); lista.Add(eticket); DocumentoExcel documento = new DocumentoExcel(Application.StartupPath + "\\Plantillas\\plantilla_resumen_facturacion.xlt", true); documento.seleccionarHoja(1); // Escribir los datos documento.seleccionarCelda("J2"); documento.actualizarValorCelda("Resumen para Pago" + Mes[dtpFechaFin.Value.Month - 1] + " " + dtpFechaFin.Value.Year.ToString() + "pagado en " + Mes[dtpFechaFin.Value.Month] + " " + dtpFechaFin.Value.Year.ToString()); documento.seleccionarCelda("M4"); documento.actualizarValorCelda(cuenta_corriente_entrante.Factura); documento.seleccionarCelda("N4"); documento.actualizarValorCelda(cuenta_corriente_entrante.Monto.ToString("N0")); documento.seleccionarCelda("O4"); documento.actualizarValorCelda(cuenta_corriente_entrante.MontoCreditoDebito.ToString("N0")); documento.seleccionarCelda("M5"); documento.actualizarValorCelda(cuenta_corriente_saliente.Factura); documento.seleccionarCelda("N5"); documento.actualizarValorCelda(cuenta_corriente_saliente.Monto.ToString("N0")); documento.seleccionarCelda("O5"); documento.actualizarValorCelda(cuenta_corriente_saliente.MontoCreditoDebito.ToString("N0")); documento.seleccionarCelda("M6"); documento.actualizarValorCelda(sucursales.Factura); documento.seleccionarCelda("N6"); documento.actualizarValorCelda(sucursales.Monto.ToString("N0")); documento.seleccionarCelda("O6"); documento.actualizarValorCelda(sucursales.MontoCreditoDebito.ToString("N0")); documento.seleccionarCelda("M7"); documento.actualizarValorCelda(material_operativo.Factura); documento.seleccionarCelda("N7"); documento.actualizarValorCelda(material_operativo.Monto.ToString("N0")); documento.seleccionarCelda("O7"); documento.actualizarValorCelda(material_operativo.MontoCreditoDebito.ToString("N0")); documento.seleccionarCelda("M8"); documento.actualizarValorCelda(procesamiento.Factura); documento.seleccionarCelda("N8"); documento.actualizarValorCelda(procesamiento.Monto.ToString("N0")); documento.seleccionarCelda("O8"); documento.actualizarValorCelda(procesamiento.MontoCreditoDebito.ToString("N0")); documento.seleccionarCelda("M9"); documento.actualizarValorCelda(servicios_especiales.Factura); documento.seleccionarCelda("N9"); documento.actualizarValorCelda(servicios_especiales.Monto.ToString("N0")); documento.seleccionarCelda("O9"); documento.actualizarValorCelda(servicios_especiales.MontoCreditoDebito.ToString("N0")); documento.seleccionarCelda("J15"); documento.actualizarValorCelda("Hecho por " + _usuario.ToString()); // Mostrar el archivo documento.mostrar(); documento.cerrar(); } catch (Exception) { Excepcion.mostrarMensaje("ErrorExcel"); } }
/// <summary> /// Carga los datos del resumen de facturacion /// </summary> private void btnActualizar_Click(object sender, EventArgs e) { try { DateTime fechai = dtpFecha.Value; DateTime fechaf = dtpFechaFin.Value; Cliente cliente = cboCliente.SelectedIndex == 0 ? null : (Cliente)cboCliente.SelectedItem; EmpresaTransporte empresa = cboTransportadora.SelectedIndex == 0 ? null : (EmpresaTransporte)cboTransportadora.SelectedItem; _monto_cobrar = _coordinacion.calcularResumenFacturacion(cliente, empresa, fechai, fechaf); _monto_cobrar_salientes = _coordinacion.calcularResumenFacturacionSalientes(cliente, empresa, fechai, fechaf); _monto_cobrar_sucursales = _coordinacion.calcularResumenFacturacionSucursales(cliente, empresa, fechai, fechaf); _monto_cobrar_procesamiento = _coordinacion.calcularResumenFacturacionProcesamiento(cliente, empresa, fechai, fechaf); _penalidades = _coordinacion.calcularCreditosFacturacionTransportadora(cliente, empresa, fechai, fechaf); FacturacionTransportadora facturacion = _coordinacion.obtenerResumenTransportadora(cliente, empresa, fechai, fechaf); if (facturacion != null) { foreach (CategoriaFacturacionTransportadora c in facturacion.ListaCategoria) { if (c.Categoria == CategoriasFacturacion.Cuenta_Corriente_Entrantes && c.Monto == 0 && c.MontoCreditoDebito == 0) { c.Monto = _monto_cobrar; c.MontoCreditoDebito = _penalidades; } if (c.Categoria == CategoriasFacturacion.Cuenta_Corriente_Salientes && c.Monto == 0 && c.MontoCreditoDebito == 0) { c.Monto = _monto_cobrar_salientes; } } } else { facturacion = new FacturacionTransportadora(); facturacion.ListaCategoria = new BindingList <CategoriaFacturacionTransportadora>(); facturacion.Cliente = cliente; facturacion.Empresa_encargada = empresa; CategoriaFacturacionTransportadora nueva_cuenta = new CategoriaFacturacionTransportadora(); _modelo_cuenta_corriente_entrante = dgvFacturar[clmModelo.Index, 0].Value.ToString(); _cc_cuenta_corriente_entrante = dgvFacturar[clmCC.Index, 0].Value.ToString(); _factura_cuenta_corriente_entrante = dgvFacturar[clmFactura.Index, 0].Value.ToString(); CategoriaFacturacionTransportadora categoria_clientes_saliente = new CategoriaFacturacionTransportadora(); _modelo_cuenta_corriente_saliente = dgvFacturar[clmModelo.Index, 1].Value.ToString(); _cc_cuenta_corriente_saliente = dgvFacturar[clmCC.Index, 1].Value.ToString(); _factura_cuenta_corriente_saliente = dgvFacturar[clmFactura.Index, 1].Value.ToString(); //Sucursales CategoriaFacturacionTransportadora categoria_sucursales = new CategoriaFacturacionTransportadora(); _modelo_sucursales = dgvFacturar[clmModelo.Index, 2].Value.ToString(); _cc_sucursales = dgvFacturar[clmCC.Index, 2].Value.ToString(); _factura_sucursales = dgvFacturar[clmFactura.Index, 2].Value.ToString(); //Procesamiento CategoriaFacturacionTransportadora categoria_procesamiento = new CategoriaFacturacionTransportadora(); _modelo_procesamiento = dgvFacturar[clmModelo.Index, 4].Value.ToString(); _cc_procesamiento = dgvFacturar[clmCC.Index, 4].Value.ToString(); _factura_procesamiento = dgvFacturar[clmFactura.Index, 4].Value.ToString(); //Entrate de clientes nueva_cuenta.Modelo = _modelo_cuenta_corriente_entrante; nueva_cuenta.CentroCostos = _cc_cuenta_corriente_entrante; nueva_cuenta.Factura = _factura_cuenta_corriente_entrante; nueva_cuenta.Categoria = CategoriasFacturacion.Cuenta_Corriente_Entrantes; nueva_cuenta.Monto = _monto_cobrar; nueva_cuenta.MontoCreditoDebito = _penalidades * -1; //Saliente de Clientes categoria_clientes_saliente.Modelo = _modelo_cuenta_corriente_saliente; categoria_clientes_saliente.CentroCostos = _cc_cuenta_corriente_saliente; categoria_clientes_saliente.Factura = _factura_cuenta_corriente_saliente; categoria_clientes_saliente.Categoria = CategoriasFacturacion.Cuenta_Corriente_Salientes; categoria_clientes_saliente.Monto = _monto_cobrar_salientes; categoria_clientes_saliente.MontoCreditoDebito = 0; //Sucursales categoria_sucursales.Modelo = _modelo_sucursales; categoria_sucursales.CentroCostos = _cc_sucursales; categoria_sucursales.Factura = _factura_sucursales; categoria_sucursales.Categoria = CategoriasFacturacion.Sucursales; categoria_sucursales.Monto = _monto_sucursales; categoria_sucursales.MontoCreditoDebito = 0; //Procesamiento categoria_procesamiento.Modelo = _modelo_procesamiento; categoria_procesamiento.CentroCostos = _cc_procesamiento; categoria_procesamiento.Factura = _factura_procesamiento; categoria_procesamiento.Categoria = CategoriasFacturacion.Procesamiento; categoria_procesamiento.Monto = _monto_procesamiento; categoria_procesamiento.MontoCreditoDebito = 0; facturacion.ListaCategoria.Add(nueva_cuenta); facturacion.ListaCategoria.Add(categoria_clientes_saliente); facturacion.ListaCategoria.Add(categoria_sucursales); facturacion.ListaCategoria.Add(categoria_procesamiento); } llenarDatos(facturacion); } catch (Excepcion ex) { ex.mostrarMensaje(); } }
/// <summary> /// Clic en el botón de guardar. /// </summary> private void btnGuardar_Click(object sender, EventArgs e) { // Verificar que se hayan seleccionado los datos try { Cliente cliente = cboCliente.SelectedIndex == 0 ? null : (Cliente)cboCliente.SelectedItem; EmpresaTransporte transportadora = cboTransportadora.SelectedIndex == 0 ? null : (EmpresaTransporte)cboTransportadora.SelectedItem; string observ = txtObservaciones.Text; DateTime fecha_inicio = dtpFecha.Value; DateTime fecha_fin = dtpFechaFin.Value; FacturacionTransportadora facturacion = new FacturacionTransportadora(); BindingList <CategoriaFacturacionTransportadora> lista = new BindingList <CategoriaFacturacionTransportadora>(); // Carga los datos de la tabla CategoriaFacturacionTransportadora cuenta_corriente_entrante = new CategoriaFacturacionTransportadora(monto: _monto_cuenta_corriente_entrante, creditosdebitos: _creditosdebitos_cuenta_corriente_entrante, centro_costos: _cc_cuenta_corriente_entrante, factura: _factura_cuenta_corriente_entrante, categoria: CategoriasFacturacion.Cuenta_Corriente_Entrantes, modelo: _modelo_cuenta_corriente_entrante); CategoriaFacturacionTransportadora cuenta_corriente_saliente = new CategoriaFacturacionTransportadora(monto: _monto_cuenta_corriente_saliente, creditosdebitos: _creditosdebitos_cuenta_corriente_saliente, centro_costos: _cc_cuenta_corriente_saliente, factura: _factura_cuenta_corriente_saliente, categoria: CategoriasFacturacion.Cuenta_Corriente_Salientes, modelo: _modelo_cuenta_corriente_saliente); CategoriaFacturacionTransportadora sucursales = new CategoriaFacturacionTransportadora(monto: _monto_sucursales, creditosdebitos: _creditosdebitos_sucursales, centro_costos: _cc_sucursales, factura: _factura_sucursales, categoria: CategoriasFacturacion.Sucursales, modelo: _modelo_sucursales); CategoriaFacturacionTransportadora material_operativo = new CategoriaFacturacionTransportadora(monto: _monto_material_operativo, creditosdebitos: _creditosdebitos_material_operativo, centro_costos: _cc_material_operativo, factura: _factura_material_operativo, categoria: CategoriasFacturacion.Material_Operativo, modelo: _modelo_material_operativo); CategoriaFacturacionTransportadora procesamiento = new CategoriaFacturacionTransportadora(monto: _monto_procesamiento, creditosdebitos: _creditosdebitos_procesamiento, centro_costos: _cc_procesamiento, factura: _factura_procesamiento, categoria: CategoriasFacturacion.Procesamiento, modelo: _modelo_procesamiento); CategoriaFacturacionTransportadora servicios_especiales = new CategoriaFacturacionTransportadora(monto: _monto_servicios_especiales, creditosdebitos: _creditosdebitos_servicios_especiales, centro_costos: _cc_servicios_especiales, factura: _factura_servicios_especiales, categoria: CategoriasFacturacion.Servicios_Especiales, modelo: _modelo_servicios_especiales); CategoriaFacturacionTransportadora eticket = new CategoriaFacturacionTransportadora(monto: _monto_eticket, creditosdebitos: _creditosdebitos_eticket, centro_costos: _cc_eticket, factura: _factura_eticket, categoria: CategoriasFacturacion.Eticket, modelo: _modelo_eticket); lista.Add(cuenta_corriente_entrante); lista.Add(cuenta_corriente_saliente); lista.Add(sucursales); lista.Add(material_operativo); lista.Add(procesamiento); lista.Add(servicios_especiales); lista.Add(eticket); // Verificar si el vehiculo ya está registrado if (_facturacion_transportadora == null) { // Agregar los datos del vehiculo if (Mensaje.mostrarMensajeConfirmacion("MensajeFacturacionTransportadoraRegistro") == DialogResult.Yes) { _facturacion_transportadora = new FacturacionTransportadora(cliente: cliente, transportadora: transportadora, fecha: fecha_inicio , fecha_fin: fecha_fin, observaciones: observ); _facturacion_transportadora.ListaCategoria = lista; _coordinacion.agregarFacturacionTransportadora(ref _facturacion_transportadora); Mensaje.mostrarMensaje("MensajeFacturacionTransportadoraConfirmacionRegistro"); this.Close(); } } else { // Actualizar los datos de la ubicación FacturacionTransportadora copia = new FacturacionTransportadora(id: _facturacion_transportadora.ID, cliente: cliente, transportadora: transportadora, fecha: fecha_inicio , fecha_fin: fecha_fin, observaciones: observ); copia.ListaCategoria = lista; _coordinacion.actualizarFacturacionTransportadora(copia); Mensaje.mostrarMensaje("MensajeFacturacionTransportadoraConfirmacionActualizacion"); this.Close(); } } catch (Excepcion ex) { ex.mostrarMensaje(); } }
/// <summary> /// Registrar una categoria para una facturacion /// </summary> /// <param name="n">Objeto CategoriaFacturacio con los datos del nombre</param> /// <param name="c">FacturacionTransportadora al cual pertenece la Categoría </param> public void agregarCategoriaFacturacionTransportadora(ref CategoriaFacturacionTransportadora n, FacturacionTransportadora c) { SqlCommand comando = _manejador.obtenerProcedimiento("InsertCategoriaResumenFacturacion"); _manejador.agregarParametro(comando, "@centro_costos", n.CentroCostos, SqlDbType.NVarChar); _manejador.agregarParametro(comando, "@modelo", n.Modelo, SqlDbType.NVarChar); _manejador.agregarParametro(comando, "@factura", n.Factura, SqlDbType.NVarChar); _manejador.agregarParametro(comando, "@monto", n.Monto, SqlDbType.Decimal); _manejador.agregarParametro(comando, "@creditos_debitos", n.MontoCreditoDebito, SqlDbType.Decimal); _manejador.agregarParametro(comando, "@resumen", c.ID, SqlDbType.Int); _manejador.agregarParametro(comando, "@tipo", n.Categoria, SqlDbType.Int); try { n.ID = (int)_manejador.ejecutarEscalar(comando); comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorNombreJuridicoClienteActualizacion"); } }
/// <summary> /// Lista los datos de la tarifa a cobrar a las transportadoras /// </summary> /// <param name="c">Cliente de la Facturacion</param> /// <param name="t">Transportadora a Facturar</param> /// <param name="fechai">Fecha de Inicio del calculo de la facturación</param> /// <param name="fechaf">Fecha Fin del Cálculo de la Facturación</param> /// <returns>Objeto FacturacionTransportadora con los cálculos del resumen de la transportadora</returns> public FacturacionTransportadora listarFacturacionTransportadora(Cliente c, EmpresaTransporte t, DateTime fechai, DateTime fechaf) { FacturacionTransportadora resumen = null; SqlCommand comando = _manejador.obtenerProcedimiento("SelectResumenFacturacion"); SqlDataReader datareader = null; if (c == null) { _manejador.agregarParametro(comando, "@cliente", null, SqlDbType.Int); } else { _manejador.agregarParametro(comando, "@cliente", c.Id, SqlDbType.Int); } _manejador.agregarParametro(comando, "@transportadora", t, SqlDbType.Int); _manejador.agregarParametro(comando, "@fecha", fechai, SqlDbType.Date); _manejador.agregarParametro(comando, "@fecha_fin", fechaf, SqlDbType.Date); try { datareader = _manejador.ejecutarConsultaDatos(comando); while (datareader.Read()) { int id = (int)datareader["pk_ID"]; string observaciones = (string)datareader["Observaciones"]; DateTime fecha = (DateTime)datareader["Fecha_Inicio"]; DateTime fecha_fin = (DateTime)datareader["Fecha_Fin"]; EmpresaTransporte empresa = null; if (datareader["fk_ID_Transportadora"] != DBNull.Value) { byte id_transportadora = (byte)datareader["fk_ID_Transportadora"]; string nombre_transportadora = (string)datareader["Nombre_Transportadora"]; empresa = new EmpresaTransporte(id: id_transportadora, nombre: nombre_transportadora); } Cliente cliente = null; if (datareader["fk_ID_Cliente"] != DBNull.Value) { short id_cliente = (short)datareader["fk_ID_Cliente"]; string nombre_cliente = (string)datareader["Nombre_Cliente"]; cliente = new Cliente(id: id_cliente, nombre: nombre_cliente); } resumen = new FacturacionTransportadora(cliente: cliente, transportadora: empresa, fecha: fecha, fecha_fin: fecha_fin, id: id, observaciones: observaciones); } comando.Connection.Close(); } catch (Exception) { comando.Connection.Close(); throw new Excepcion("ErrorDatosConexion"); } return(resumen); }