public string Facturar(ref DFactura Factura, List <DDetalle_Factura> DetalleFactura, DOrden Orden, List <DDetalle_Orden> detalleorden) { string respuesta = ""; SqlConnection sqlconectar = new SqlConnection(); try { //Conexion con la base de datos sqlconectar.ConnectionString = Conexion.CadenaConexion; sqlconectar.Open(); //transaccion SqlTransaction SqlTransaccion = sqlconectar.BeginTransaction(); int Identidad = -1; respuesta = Orden.Insertar(Orden, detalleorden, ref sqlconectar, ref SqlTransaccion, ref Identidad); if (respuesta.Equals("OK")) { Factura.IDOrden = Identidad; respuesta = Factura.Insertar(ref Factura, DetalleFactura, ref sqlconectar, ref SqlTransaccion); } if (respuesta.Equals("OK")) { SqlTransaccion.Commit(); } else { //si recibe una respuesta contraria se niega la transaccion SqlTransaccion.Rollback(); } } catch (Exception e) { respuesta = e.Message; } //se cierra la conexion de la Base de Datos finally { if (sqlconectar.State == ConnectionState.Open) { sqlconectar.Close(); } } return(respuesta); }
//Eliminar public string Anular(DFactura Factura) { string respuesta = ""; SqlConnection SqlConectar = new SqlConnection(); try { //conexion con la Base de Datos SqlConectar.ConnectionString = Conexion.CadenaConexion; SqlConectar.Open(); //comandos SqlCommand SqlComando = new SqlCommand(); SqlComando.Connection = SqlConectar; SqlComando.CommandText = "anular_factura"; SqlComando.CommandType = CommandType.StoredProcedure; //parametros //parametro id SqlParameter Parametro_Id_Factura = new SqlParameter(); Parametro_Id_Factura.ParameterName = "@ID"; Parametro_Id_Factura.SqlDbType = SqlDbType.Int; Parametro_Id_Factura.Value = Factura.ID; SqlComando.Parameters.Add(Parametro_Id_Factura); //ejecuta y lo envia en comentario respuesta = SqlComando.ExecuteNonQuery() == 1 ? "OK" : "No se anulo la factura"; } catch (Exception excepcion) { respuesta = excepcion.Message; } //se cierra la conexion de la Base de Datos finally { if (SqlConectar.State == ConnectionState.Open) { SqlConectar.Close(); } } return(respuesta); }
//metodos //insertar public string Insertar(ref DFactura Factura, List <DDetalle_Factura> Detalle, ref SqlConnection SqlConectar, ref SqlTransaction SqlTransaccion) { string respuesta = ""; try { //comandos SqlCommand SqlComando = new SqlCommand(); SqlComando.Connection = SqlConectar; SqlComando.Transaction = SqlTransaccion; SqlComando.CommandText = "insertar_factura"; SqlComando.CommandType = CommandType.StoredProcedure; //parametros //parametro id SqlParameter Parametro_Id_Factura = new SqlParameter(); Parametro_Id_Factura.ParameterName = "@ID"; Parametro_Id_Factura.SqlDbType = SqlDbType.Int; Parametro_Id_Factura.Direction = ParameterDirection.Output; SqlComando.Parameters.Add(Parametro_Id_Factura); //parametro paciente SqlParameter Parametro_ID_Paciente = new SqlParameter(); Parametro_ID_Paciente.ParameterName = "@IDPaciente"; Parametro_ID_Paciente.SqlDbType = SqlDbType.Int; Parametro_ID_Paciente.Value = Factura.IDPaciente; SqlComando.Parameters.Add(Parametro_ID_Paciente); //parametro id tipo paciente SqlParameter Parametro_ID_Tipo_Paciente = new SqlParameter(); Parametro_ID_Tipo_Paciente.ParameterName = "@IDTipoPaciente"; Parametro_ID_Tipo_Paciente.SqlDbType = SqlDbType.Int; Parametro_ID_Tipo_Paciente.Value = Factura.IDTipoPaciente; SqlComando.Parameters.Add(Parametro_ID_Tipo_Paciente); //parametro id empresa seguro SqlParameter Parametro_ID_EmpresaSeguro = new SqlParameter(); Parametro_ID_EmpresaSeguro.ParameterName = "@IDEmpresasySeg"; Parametro_ID_EmpresaSeguro.SqlDbType = SqlDbType.Int; Parametro_ID_EmpresaSeguro.Value = Factura.IDEmpresaSeguro; SqlComando.Parameters.Add(Parametro_ID_EmpresaSeguro); //parametro id orden SqlParameter Parametro_ID_Orden = new SqlParameter(); Parametro_ID_Orden.ParameterName = "@IDOrden"; Parametro_ID_Orden.SqlDbType = SqlDbType.Int; Parametro_ID_Orden.Value = Factura.IDOrden; SqlComando.Parameters.Add(Parametro_ID_Orden); //parametro tipo pago SqlParameter Parametro_Tipo_Pago = new SqlParameter(); Parametro_Tipo_Pago.ParameterName = "@TipoDePago"; Parametro_Tipo_Pago.SqlDbType = SqlDbType.VarChar; Parametro_Tipo_Pago.Value = Factura.TipoPago; SqlComando.Parameters.Add(Parametro_Tipo_Pago); //parametro id banco SqlParameter Parametro_ID_Banco = new SqlParameter(); Parametro_ID_Banco.ParameterName = "@IDBanco"; Parametro_ID_Banco.SqlDbType = SqlDbType.Int; Parametro_ID_Banco.Value = Factura.IDBanco; SqlComando.Parameters.Add(Parametro_ID_Banco); //parametro Numero cheque o tarjeta SqlParameter Parametro_Cheque_Tarjeta = new SqlParameter(); Parametro_Cheque_Tarjeta.ParameterName = "@NumoCHoT"; Parametro_Cheque_Tarjeta.SqlDbType = SqlDbType.VarChar; Parametro_Cheque_Tarjeta.Size = 50; Parametro_Cheque_Tarjeta.Value = Factura.NumeroCHoT; SqlComando.Parameters.Add(Parametro_Cheque_Tarjeta); //parametro Exonerado SqlParameter Parametro_Exonerado = new SqlParameter(); Parametro_Exonerado.ParameterName = "@Exonerado"; Parametro_Exonerado.SqlDbType = SqlDbType.VarChar; Parametro_Exonerado.Size = 10; Parametro_Exonerado.Value = Factura.Exonerado; SqlComando.Parameters.Add(Parametro_Exonerado); //parametro Motivo SqlParameter Parametro_Motivo = new SqlParameter(); Parametro_Motivo.ParameterName = "@Motivo"; Parametro_Motivo.SqlDbType = SqlDbType.VarChar; Parametro_Motivo.Size = 300; Parametro_Motivo.Value = Factura.Motivo; SqlComando.Parameters.Add(Parametro_Motivo); //parametro descuento SqlParameter Parametro_Descuento = new SqlParameter(); Parametro_Descuento.ParameterName = "@Descuento"; Parametro_Descuento.SqlDbType = SqlDbType.Float; Parametro_Descuento.Value = Factura.Descuento; SqlComando.Parameters.Add(Parametro_Descuento); //parametro subtotal SqlParameter Parametro_Subtotal = new SqlParameter(); Parametro_Subtotal.ParameterName = "@Subtotal"; Parametro_Subtotal.SqlDbType = SqlDbType.Float; Parametro_Subtotal.Value = Factura.Subtotal; SqlComando.Parameters.Add(Parametro_Subtotal); //parametro recargo emergencia SqlParameter Parametro_RecargoEmergencia = new SqlParameter(); Parametro_RecargoEmergencia.ParameterName = "@RecargoEmergencia"; Parametro_RecargoEmergencia.SqlDbType = SqlDbType.Float; Parametro_RecargoEmergencia.Value = Factura.RecargoEmergencia; SqlComando.Parameters.Add(Parametro_RecargoEmergencia); //parametro abonar SqlParameter Parametro_Abonar = new SqlParameter(); Parametro_Abonar.ParameterName = "@Abonar"; Parametro_Abonar.SqlDbType = SqlDbType.Float; Parametro_Abonar.Value = Factura.Abonar; SqlComando.Parameters.Add(Parametro_Abonar); //parametro subtotal SqlParameter Parametro_Total = new SqlParameter(); Parametro_Total.ParameterName = "@Total"; Parametro_Total.SqlDbType = SqlDbType.Float; Parametro_Total.Value = Factura.Total; SqlComando.Parameters.Add(Parametro_Total); //ejecuta y lo envia en comentario respuesta = SqlComando.ExecuteNonQuery() == 1 ? "OK" : "No se ingreso el Registro de la factura"; if (respuesta.Equals("OK")) { Factura.ID = Convert.ToInt32(SqlComando.Parameters["@ID"].Value); foreach (DDetalle_Factura det in Detalle) { det.IDFactura = this.ID; //llamar a insertar respuesta = det.Insertar(det, ref SqlConectar, ref SqlTransaccion); if (!respuesta.Equals("OK")) { break; } } } } catch (Exception excepcion) { respuesta = excepcion.Message; System.Windows.Forms.MessageBox.Show(excepcion.Message); } return(respuesta); }