public async Task <IActionResult> Edit(int id, [Bind("IdFactura,IdCliente,IdVendedor,FechaFactura")] FacturaCabecera facturaCabecera) { if (id != facturaCabecera.IdFactura) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(facturaCabecera); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!FacturaCabeceraExists(facturaCabecera.IdFactura)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["IdCliente"] = new SelectList(_context.Persona, "IdPersona", "ApellidoPersona", facturaCabecera.IdCliente); ViewData["IdVendedor"] = new SelectList(_context.Persona, "IdPersona", "ApellidoPersona", facturaCabecera.IdVendedor); return(View(facturaCabecera)); }
public async Task <IActionResult> Create([Bind("IdFactura,IdCliente,IdVendedor,FechaFactura")] FacturaCabecera facturaCabecera) { if (ModelState.IsValid) { _context.Add(facturaCabecera); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["IdCliente"] = new SelectList(_context.Persona, "IdPersona", "ApellidoPersona", facturaCabecera.IdCliente); ViewData["IdVendedor"] = new SelectList(_context.Persona, "IdPersona", "ApellidoPersona", facturaCabecera.IdVendedor); return(View(facturaCabecera)); }
public bool insertarCabecera(MySqlCommand cmd, FacturaCabecera factura, int opcion) { bool resultado = false; cmd.Parameters.AddWithValue("?opcion", opcion).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?id_confPosi", factura.IdConfPos).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?idClientei", factura.IdCliente).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?id_vendedori", factura.IdVendedor).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?autorizacioni", factura.Autorizacion).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?id_tipoDocumentoi", factura.Id_tipoDocumento).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?numero_documentoi", factura.Numero_actual).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?fecha_creacioni", DateTime.Now).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?fecha_vencimientoi", factura.Fecha_vencimiento).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?documentoi", factura.Numero_documento).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?descuentoi", factura.Descuento).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?servicioi", factura.Servicio).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?tarifa_0i", factura.Tarifa_0).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?tarifa_12i", factura.Tarifa_12).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?total_icei", factura.Total_ice).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?total_ivai", factura.Total_iva).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?totali", factura.Total).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?descripcioni", factura.Descripcion).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?estadoi", factura.Estado).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?empresa_idi", factura.Empresa_id).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?establecimiento_idi", factura.Establecimiento_id).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?imprimioi", factura.Imprimo).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?idCajai", factura.IdCaja).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?descuento_facturai", factura.DescuentoFactura).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?descuento_clientei", factura.DescuentoCliente).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?tipoDocumentoi", factura.Tipo).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?vueltoi", factura.Vuelto).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?idFacturai", factura.Id).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?idCajeroi", factura.IdCajero).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?adicional1i", (factura.Adicionales == null) ? "" : factura.Adicionales[0].valor).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?adicional2i", (factura.Adicionales == null || factura.Adicionales.Count < 2) ? "" : factura.Adicionales[1].valor).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?propinai", factura.Propina).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?id_usuarioAnulari", factura.IdUsuarioAnular).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?pagoParciali", factura.PagoParcial).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?idFactura", MySqlDbType.Int32).Direction = ParameterDirection.Output; cmd.ExecuteNonQuery(); if (opcion == 1 && !String.IsNullOrEmpty(cmd.Parameters["?idFactura"].Value.ToString())) { factura.Id = (int)cmd.Parameters["?idFactura"].Value; resultado = true; } cmd.Parameters.Clear(); return(resultado); }
public bool guardarFactura(FacturaCabecera cabecera, List <FacturaDetalle> listaDetalles, List <FormaPago> listaPagos) { string lineaConexion = Conexion.lineaConexion; MySqlConnection conexion = null; MySqlTransaction tran = null; MySqlCommand cmd = null; bool estado = false; try { conexion = new MySqlConnection(lineaConexion); conexion.Open(); tran = conexion.BeginTransaction(); cmd = new MySqlCommand("factura_insertarCabecera", conexion); cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Transaction = tran; this.insertarCabecera(cmd, cabecera, 1); cmd.CommandText = "factura_adicionales"; this.insertarAdicionales(cmd, cabecera.Adicionales, cabecera.Id); cmd.CommandText = "factura_insertarDetalle"; this.insertarDetalle(cmd, listaDetalles, cabecera, 0); if (listaPagos != null) { cmd.CommandText = "insertar_pagos"; this.insertarPagos(cmd, listaPagos, cabecera.Id); } tran.Commit(); //tran.Rollback(); conexion.Close(); estado = true; } catch (Exception e) { tran.Rollback(); throw e; } finally { conexion.Close(); if (cmd != null) { cmd.Dispose(); } } return(estado); }
protected void buscarGuia(int idGuia) { GuiaRemision guia = GuiaRemisionTR.consultarXId(idGuia); if (guia != null) { this.limpiar(false); this.txt_secuencia.Text = guia.id.ToString(); this.dtp_fechaEmision.Value = guia.fechaEmision; this.dtp_fechaInicioTraslado.Value = guia.fechaInicio; this.dtp_fechaFinTraslado.Value = guia.fechaFin; this.txt_direccionPartida.Text = guia.direccionPartida; this.txt_numeroDocumento.Text = guia.numeroDocumento; this.txt_autorizacion.Text = guia.autorizacion; this.txt_cedulaTransportista.Text = guia.transportista.cedula; this.txt_nombreTransportista.Text = guia.transportista.razon_social; this.txt_correoTransportista.Text = guia.transportista.email; this.txt_placaTransportista.Text = guia.placa; this.txt_descripcion.Text = guia.descripcion; Destinatario destinatario = guia.destinatarios[0]; this.txt_cedulaDestinatario.Text = destinatario.cliente.cedula; this.txt_nombreDestinatario.Text = destinatario.cliente.razon_social; this.txt_documento.Text = (destinatario.documento != null)?destinatario.documento.Numero_documento:""; this.txt_motivoDestinatario.Text = destinatario.motivo; this.txt_direccionDestinatario.Text = destinatario.direccion; this.txt_codigoDestino.Text = destinatario.codigoDestino; this.txt_ruta.Text = destinatario.ruta; if (destinatario.detalle != null) { foreach (object[] producto in destinatario.detalle) { this.grw_productos.Rows.Add(producto); } } } else { Mensaje.informacion("No se encontró la guía ingresada"); } this.guiaRemision = guia; this.transportista = guia.transportista; this.documento = guia.destinatarios[0].documento; this.cliente = guia.destinatarios[0].cliente; }
protected void limpiar(bool cargarDatos = true) { if (cargarDatos) { int secuencia = GuiaRemisionTR.consultarSecuencia(); this.txt_secuencia.Text = secuencia.ToString(); this.txt_numeroDocumento.Text = this.getNumeroDocumento(); this.txt_autorizacion.Text = this.configuracion.Autorizacion; } if (this.desdeFactura) { this.desdeFactura = false; return; } this.tsb_guardar.Enabled = true; this.dtp_fechaInicioTraslado.Value = DateTime.Now; this.dtp_fechaFinTraslado.Value = DateTime.Now; this.txt_direccionPartida.Clear(); this.txt_cedulaTransportista.Clear(); this.txt_nombreTransportista.Clear(); this.txt_placaTransportista.Clear(); this.txt_correoTransportista.Clear(); this.txt_descripcion.Clear(); this.txt_cedulaDestinatario.Clear(); this.txt_nombreDestinatario.Clear(); this.txt_direccionDestinatario.Clear(); this.txt_codigoDestino.Clear(); this.txt_ruta.Clear(); this.txt_documento.Clear(); this.txt_motivoDestinatario.Clear(); this.grw_productos.DataSource = null; this.grw_productos.Rows.Clear(); this.guiaRemision = null; this.cliente = null; this.transportista = null; this.documento = null; this.setDireccionPartida(); this.setDescipcionGuia(); this.txt_descripcion.Focus(); }
private void buscarDocumento(int idDocumento) { this.grw_productos.Rows.Clear(); this.documento = FacturaCabeceraTR.consultarFactura(idDocumento); this.txt_documento.Text = this.documento.Numero_documento; List <String[]> detalles = FacturaDetalleTR.consultarFacturaDetalle(this.documento.Id); if (detalles != null) { int i = 0; foreach (String[] detalle in detalles) { this.grw_productos.Rows.Add(); this.grw_productos.Rows[i].Cells["id"].Value = detalle[8]; this.grw_productos.Rows[i].Cells["nombre"].Value = detalle[1]; this.grw_productos.Rows[i].Cells["cantidad"].Value = detalle[2]; this.grw_productos.Rows[i].Cells["unidad"].Value = detalle[3]; i += 1; } } }
public static FacturaCabecera consultarFactura(int idFactura) { FacturaCabecera factura = null; MySqlCommand cmd = null; MySqlDataReader data = null; Conexion con = null; try { con = new Conexion(); cmd = con.EjecutarSQL("factura_consultarCabecera"); cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.AddWithValue("?opcion", 1).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?idCabecera", idFactura).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?fechaDesde", null).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?fechaHasta", null).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?estadoi", String.Empty).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?filtro", null).Direction = ParameterDirection.Input; data = cmd.ExecuteReader(); if (data.Read()) { factura = new FacturaCabecera(); factura.Id = (!data.IsDBNull(data.GetOrdinal("idfactura_cabecera"))) ? data.GetInt32("idfactura_cabecera") : -1; factura.IdConfPos = (!data.IsDBNull(data.GetOrdinal("id_confPos"))) ? data.GetInt32("id_confPos") : -1; factura.IdCliente = (!data.IsDBNull(data.GetOrdinal("idCliente"))) ? data.GetInt32("idCliente") : -1; factura.IdVendedor = (!data.IsDBNull(data.GetOrdinal("id_vendedor"))) ? data.GetInt32("id_vendedor") : -1; factura.Id_tipoDocumento = (!data.IsDBNull(data.GetOrdinal("id_tipoDocumento"))) ? data.GetInt32("id_tipoDocumento") : -1; factura.Numero_actual = (!data.IsDBNull(data.GetOrdinal("numero_documento"))) ? data.GetInt32("numero_documento") : 0; factura.Fecha_creacion = (!data.IsDBNull(data.GetOrdinal("fecha_creacion"))) ? data.GetDateTime("fecha_creacion") : DateTime.Now; factura.Numero_documento = (!data.IsDBNull(data.GetOrdinal("documento"))) ? data.GetString("documento") : ""; factura.Descuento = (!data.IsDBNull(data.GetOrdinal("descuento"))) ? data.GetDecimal("descuento") : 0; factura.Servicio = (!data.IsDBNull(data.GetOrdinal("servicio"))) ? data.GetDecimal("servicio") : 0; factura.Tarifa_0 = (!data.IsDBNull(data.GetOrdinal("tarifa_0"))) ? data.GetDecimal("tarifa_0") : 0; factura.Tarifa_12 = (!data.IsDBNull(data.GetOrdinal("tarifa_12"))) ? data.GetDecimal("tarifa_12") : 0; factura.Total_ice = (!data.IsDBNull(data.GetOrdinal("total_ice"))) ? data.GetDecimal("total_ice") : 0; factura.Total_iva = (!data.IsDBNull(data.GetOrdinal("total_iva"))) ? data.GetDecimal("total_iva") : 0; factura.Total = (!data.IsDBNull(data.GetOrdinal("total"))) ? data.GetDecimal("total") : 0; factura.Descripcion = (!data.IsDBNull(data.GetOrdinal("descripcion"))) ? data.GetString("descripcion") : ""; factura.Estado = (!data.IsDBNull(data.GetOrdinal("estado"))) ? data.GetString("estado") : ""; factura.Empresa_id = (!data.IsDBNull(data.GetOrdinal("empresa_id"))) ? data.GetInt32("empresa_id") : -1; factura.Establecimiento_id = (!data.IsDBNull(data.GetOrdinal("establecimiento_id"))) ? data.GetInt32("establecimiento_id") : -1; //factura.Subio = (!data.IsDBNull(data.GetOrdinal("subio"))) ? data.GetInt32("subio") : 0; factura.Imprimo = (!data.IsDBNull(data.GetOrdinal("imprimio"))) ? data.GetBoolean("imprimio") : false; factura.Vuelto = (!data.IsDBNull(data.GetOrdinal("vuelto"))) ? data.GetDecimal("vuelto") : 0; factura.IdCaja = (!data.IsDBNull(data.GetOrdinal("id_caja"))) ? data.GetInt32("id_caja") : -1; factura.IdCajero = (!data.IsDBNull(data.GetOrdinal("id_cajero"))) ? data.GetInt32("id_cajero") : -1; factura.Propina = (!data.IsDBNull(data.GetOrdinal("propina"))) ? data.GetDecimal("propina") : 0; factura.Fecha_vencimiento = (!data.IsDBNull(data.GetOrdinal("fecha_vencimiento"))) ? data.GetDateTime("fecha_vencimiento") : factura.Fecha_creacion; } } catch (Exception e) { throw e; } finally { if (data != null) { data.Dispose(); } if (cmd != null) { cmd.Dispose(); } if (con != null) { con.cerrar(); } } return(factura); }
public FacturaCabeceraTR(FacturaCabecera factura) { this.conf = new Conexion(); this.fac = factura; }
public bool actualizarFactura(FacturaCabecera cabecera, List <FacturaDetalle> listaDetalles, List <FormaPago> listaPagos, int idCabecera = -1, List <FormaPago> pagosEliminados = null, string estadoFactura = "P") { string lineaConexion = Conexion.lineaConexion; MySqlConnection conexion = null; MySqlTransaction tran = null; MySqlCommand cmd = null; bool estado = false; try { conexion = new MySqlConnection(lineaConexion); conexion.Open(); tran = conexion.BeginTransaction(); cmd = new MySqlCommand(); cmd.Connection = conexion; cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Transaction = tran; if (cabecera != null && listaDetalles != null) { cmd.CommandText = "factura_insertarCabecera"; this.insertarCabecera(cmd, cabecera, 2); cmd.CommandText = "factura_adicionales"; this.eliminarAdicionales(cmd, cabecera.Id); cmd.CommandText = "factura_adicionales"; this.insertarAdicionales(cmd, cabecera.Adicionales, cabecera.Id); cmd.CommandText = "factura_insertarDetalle"; this.insertarDetalle(cmd, listaDetalles, cabecera, 1); cmd.CommandText = "factura_eliminarProductos"; cmd.Parameters.AddWithValue("?idfactura_cabecerai", cabecera.Id); cmd.Parameters["?idfactura_cabecerai"].Direction = ParameterDirection.Input; cmd.ExecuteNonQuery(); if (pagosEliminados != null) { cmd.CommandText = "formapago_eliminar"; this.eliminarPagos(cmd, pagosEliminados); } } if (listaPagos != null) { cmd.CommandText = "insertar_pagos"; this.insertarPagos(cmd, listaPagos, (cabecera != null)?cabecera.Id:idCabecera); } if (cabecera == null) { cmd.CommandText = "factura_actualizar"; cmd.Parameters.AddWithValue("?opcion", 3).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?idFacturai", idCabecera).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?estadoi", estadoFactura).Direction = ParameterDirection.Input; cmd.ExecuteNonQuery(); } //cmd.CommandText = "FormaPago_actualizar"; //this.insertarPagos(cmd, listaPagos, cabecera.Idfactura_cabecera); tran.Commit(); //tran.Rollback(); conexion.Close(); estado = true; } catch (Exception e) { tran.Rollback(); throw e; } finally { conexion.Close(); if (cmd != null) { cmd.Dispose(); } } return(estado); }
public void insertarDetalle(MySqlCommand cmd, List <FacturaDetalle> listaDetalles, FacturaCabecera cabecera, int almacenar) { foreach (FacturaDetalle detalle in listaDetalles) { cmd.Parameters.AddWithValue("?idfactura_cabecerai", cabecera.Id).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?id_productoi", detalle.Id_producto).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?cantidadi", detalle.Cantidad).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?porc_descuentoi", detalle.Porc_descuento).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?valor_descuentoi", detalle.Valor_descuento).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?totali", detalle.Total).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?precioi", detalle.Precio).Direction = ParameterDirection.Input; //cmd.Parameters.AddWithValue("?unidad_idi", detalle.Unidad_id); //cmd.Parameters["?unidad_idi"].Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?base_ceroi", detalle.Base_cero).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?base_gravablei", detalle.Base_gravable).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?base_no_gravablei", detalle.Base_nogravable).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?icei", detalle.Ice).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?tipo_rete_idi", detalle.Tipo_reteid).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?pvp_ventai", detalle.Pvp_venta).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?porcentaje_ivai", detalle.Porc_Iva).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?porcentaje_icei", detalle.Porc_Ice).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?idDetallei", detalle.Idfactura_detalle).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?almacenar", almacenar).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?id_cajai", cabecera.IdCaja).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?descripcioni", detalle.Descripcion).Direction = ParameterDirection.Input; cmd.Parameters.AddWithValue("?id_seriei", detalle.Id_Serie).Direction = ParameterDirection.Input; cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); } }
public async Task <FacturaCabecera> Create(FacturaCabecera facturaCabecera) { List <FacturaDetalle> lstFacturaDetalle = new List <FacturaDetalle>(); int id = 0; using (SqlConnection sqlConn = new SqlConnection(conn)) { try { if (facturaCabecera.FacturaCabeceraID == 0) { using (SqlCommand cmd = new SqlCommand("Usp_FacturaCabecera_Create", sqlConn)) { cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@pclienteID", facturaCabecera.ClienteID)); cmd.Parameters.Add(new SqlParameter("@pNumeroFactura", facturaCabecera.NumeroFactura)); cmd.Parameters.Add(new SqlParameter("@pImporteTotal", facturaCabecera.ImporteTotal)); cmd.Parameters.Add(new SqlParameter { ParameterName = "@pFacturaCabeceraID", Value = facturaCabecera.FacturaCabeceraID, Direction = System.Data.ParameterDirection.Output }); await sqlConn.OpenAsync(); await cmd.ExecuteNonQueryAsync(); id = (int)cmd.Parameters["@pFacturaCabeceraID"].Value; } } else { using (SqlCommand cmd = new SqlCommand("Usp_FacturaCabecera_Update", sqlConn)) { cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@pFacturaCabeceraID", facturaCabecera.FacturaCabeceraID)); cmd.Parameters.Add(new SqlParameter("@pclienteID", facturaCabecera.ClienteID)); cmd.Parameters.Add(new SqlParameter("@pImporteTotal", facturaCabecera.ImporteTotal)); await sqlConn.OpenAsync(); await cmd.ExecuteNonQueryAsync(); } } foreach (var item in facturaCabecera.itemDetalles) { if (item.FacturaDetalleID == 0 && item.FacturaCabeceraID == 0) { item.FacturaCabeceraID = id; var result = await CreateDetalle(item); lstFacturaDetalle.Add(result); } if (item.FacturaDetalleID == 0 && item.FacturaCabeceraID > 0) { item.FacturaCabeceraID = item.FacturaCabeceraID; var result = await CreateDetalle(item); lstFacturaDetalle.Add(result); } else { await UpdateDetalle(item); } } facturaCabecera.FacturaCabeceraID = id; facturaCabecera.itemDetalles = lstFacturaDetalle; return(facturaCabecera); } catch (System.Exception) { throw; } } }