Beruflich Dokumente
Kultur Dokumente
CODIGO NECESARIO
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
namespace CapaDatos
//Variables
//Propiedades
set { _Fecha=value;}
{
get { return _Serie; }
//Constructores
public DIngreso()
this.Idingreso = idingreso;
this.Idtrabajador = idtrabajador;
this.Idproveedor = idproveedor;
this.Fecha = fecha;
this.Tipo_Comprobante = tipo_comprobante;
this.Serie = serie;
this.Correlativo = correlativo;
this.Igv = igv;
this.Estado = estado;
//Mtodos
try
//Cdigo
SqlCon.ConnectionString = Conexion.Cn;
SqlCon.Open();
//Establecer la transaccin
//Establecer el Comando
SqlCmd.Connection = SqlCon;
SqlCmd.Transaction = SqlTra;
SqlCmd.CommandText = "spinsertar_ingreso";
SqlCmd.CommandType = CommandType.StoredProcedure;
//Parmetros
ParIdingreso.ParameterName = "@idingreso";
ParIdingreso.SqlDbType = SqlDbType.Int;
ParIdingreso.Direction = ParameterDirection.Output;
SqlCmd.Parameters.Add(ParIdingreso);
ParIdTrabajador.ParameterName = "@idtrabajador";
ParIdTrabajador.SqlDbType = SqlDbType.Int;
ParIdTrabajador.Value = Ingreso.Idtrabajador;
SqlCmd.Parameters.Add(ParIdTrabajador);
ParIdproveedor.ParameterName = "@idproveedor";
ParIdproveedor.SqlDbType = SqlDbType.Int;
ParIdproveedor.Value = Ingreso.Idproveedor;
SqlCmd.Parameters.Add(ParIdproveedor);
ParFecha.ParameterName = "@fecha";
ParFecha.SqlDbType = SqlDbType.VarChar;
ParFecha.Value = Ingreso.Fecha;
SqlCmd.Parameters.Add(ParFecha);
ParTipo_Comprobante.ParameterName = "@tipo_comprobante";
ParTipo_Comprobante.SqlDbType = SqlDbType.VarChar;
ParTipo_Comprobante.Size = 20;
ParTipo_Comprobante.Value = Ingreso.Tipo_Comprobante;
SqlCmd.Parameters.Add(ParTipo_Comprobante);
ParSerie.ParameterName = "@serie";
ParSerie.SqlDbType = SqlDbType.VarChar;
ParSerie.Size = 4;
ParSerie.Value = Ingreso.Serie;
SqlCmd.Parameters.Add(ParSerie);
ParCorrelativo.ParameterName = "@correlativo";
ParCorrelativo.SqlDbType = SqlDbType.VarChar;
ParCorrelativo.Size = 7;
ParCorrelativo.Value = Ingreso.Correlativo;
SqlCmd.Parameters.Add(ParCorrelativo);
ParIgv.ParameterName = "@igv";
ParIgv.SqlDbType = SqlDbType.Decimal;
ParIgv.Precision = 4;
ParIgv.Scale = 2;
ParIgv.Value = Ingreso.Igv;
SqlCmd.Parameters.Add(ParIgv);
ParEstado.ParameterName = "@estado";
ParEstado.SqlDbType = SqlDbType.VarChar;
ParEstado.Size = 7;
ParEstado.Value = Ingreso.Estado;
SqlCmd.Parameters.Add(ParEstado);
if (rpta.Equals("OK"))
this.Idingreso = Convert.ToInt32(SqlCmd.Parameters["@idingreso"].Value);
det.Idingreso = this.Idingreso;
if (!rpta.Equals("OK"))
break;
if (rpta.Equals("OK"))
{
//Se inserto todo los detalles y confirmamos la transaccion
SqlTra.Commit();
else
SqlTra.Rollback();
rpta = ex.Message;
finally
return rpta;
try
//Cdigo
SqlCon.ConnectionString = Conexion.Cn;
SqlCon.Open();
//Establecer el Comando
SqlCmd.Connection = SqlCon;
SqlCmd.CommandText = "spanular_ingreso";
SqlCmd.CommandType = CommandType.StoredProcedure;
ParIdingreso.ParameterName = "@idingreso";
ParIdingreso.SqlDbType = SqlDbType.Int;
ParIdingreso.Value = Ingreso.Idingreso;
SqlCmd.Parameters.Add(ParIdingreso);
rpta = ex.Message;
finally
return rpta;
}
//METODO ANULAR CON EL OBJETIVO DE ANULAR UN INGRESO
public string Anular(DIngreso Ingreso)
{
string rpta = "";
SqlConnection SqlCon = new SqlConnection();
try
{
//Cdigo
SqlCon.ConnectionString = Conexion.Cn;
SqlCon.Open();
//Establecer el Comando
SqlCommand SqlCmd = new SqlCommand();
SqlCmd.Connection = SqlCon;
SqlCmd.CommandText = "spanular_ingreso";//LLAMAR AL PROCEDIMIENTO
ALMACENADO ANULAR INGRESO
SqlCmd.CommandType = CommandType.StoredProcedure;
//EL PARAMETRO IDINGRESO QUE ES EL INGRESO QUE DESEAMOS ANULAR
SqlParameter ParIdingreso = new SqlParameter();
ParIdingreso.ParameterName = "@idingreso";
ParIdingreso.SqlDbType = SqlDbType.Int;
ParIdingreso.Value = Ingreso.Idingreso;
SqlCmd.Parameters.Add(ParIdingreso);
}
catch (Exception ex)
{
rpta = ex.Message;
}
finally
{
if (SqlCon.State == ConnectionState.Open) SqlCon.Close();
}
return rpta;
}
//Mtodo Mostrar
public DataTable Mostrar()
{
DataTable DtResultado = new DataTable("ingreso");
SqlConnection SqlCon = new SqlConnection();
try
{
SqlCon.ConnectionString = Conexion.Cn;
SqlCommand SqlCmd = new SqlCommand();
SqlCmd.Connection = SqlCon;
SqlCmd.CommandText = "spmostrar_ingreso";
SqlCmd.CommandType = CommandType.StoredProcedure;
}
catch (Exception ex)
{
DtResultado = null;
}
return DtResultado;
//Mtodo BuscarFechas
//ESTE METODO NO VA RECIBIR NINGUN OBJETO
//ESTOS SERAN SIMPLEMENTE TEXTOS FIJOS POR LO TANTO NO FUERON DECLARADO
public DataTable BuscarFechas(String TextoBuscar, String TextoBuscar2)
{
DataTable DtResultado = new DataTable("ingreso");
SqlConnection SqlCon = new SqlConnection();
try
{
SqlCon.ConnectionString = Conexion.Cn;
SqlCommand SqlCmd = new SqlCommand();
SqlCmd.Connection = SqlCon;
SqlCmd.CommandText = "spbuscar_ingreso_fecha";
SqlCmd.CommandType = CommandType.StoredProcedure;
}
catch (Exception ex)
{
DtResultado = null;
}
return DtResultado;
//Mtodo BuscarFechas
public DataTable MostrarDetalle(String TextoBuscar)
{
DataTable DtResultado = new DataTable("detalle_ingreso");
SqlConnection SqlCon = new SqlConnection();
try
{
SqlCon.ConnectionString = Conexion.Cn;
SqlCommand SqlCmd = new SqlCommand();
SqlCmd.Connection = SqlCon;
SqlCmd.CommandText = "spmostrar_detalle_ingreso";
SqlCmd.CommandType = CommandType.StoredProcedure;
}
catch (Exception ex)
{
DtResultado = null;
}
return DtResultado;
namespace CapaNegocio
{
class NIngreso
{
public static string Insertar(int idtrabajador, int idproveedor, DateTime
fecha,
string tipo_comprobante, string serie, string correlativo, decimal igv,
string estado, DataTable dtDetalles)
{
DIngreso Obj = new DIngreso();//OBJETO DE INSTANCIA A LA CLASE DIngreso
//iniciamos a enviar a cada uno los elementos del objeto a la capa de
Datos
Obj.Idtrabajador = idtrabajador;
Obj.Idproveedor = idproveedor;
Obj.Fecha = fecha;
Obj.Tipo_Comprobante = tipo_comprobante;
Obj.Serie = serie;
Obj.Correlativo = correlativo;
Obj.Igv = igv;
Obj.Estado = estado;
//Recibir todos los detalles de un determinado ingreso
List<DDetalle_Ingreso> detalles = new List<DDetalle_Ingreso>();
//para recorrer todos los elementos de detalle
foreach (DataRow row in dtDetalles.Rows)
{
DDetalle_Ingreso detalle = new DDetalle_Ingreso();
//el primer campo si recuerdan es autogenerado
detalle.Idarticulo = Convert.ToInt32(row["idarticulo"].ToString());
detalle.Precio_Compra =
Convert.ToDecimal(row["precio_compra"].ToString());
detalle.Precio_Venta =
Convert.ToDecimal(row["precio_venta"].ToString());
detalle.Stock_Inicial =
Convert.ToInt32(row["stock_inicial"].ToString());
detalle.Stock_Actual =
Convert.ToInt32(row["stock_inicial"].ToString());
detalle.Fecha_Produccion =
Convert.ToDateTime(row["fecha_produccion"].ToString());
detalle.Fecha_Vencimiento =
Convert.ToDateTime(row["fecha_vencimiento"].ToString());
detalles.Add(detalle);
}
return Obj.Insertar(Obj, detalles);
}
public static string Anular(int idingreso)
{
DIngreso Obj = new DIngreso();
Obj.Idingreso = idingreso;
return Obj.Anular(Obj);
}
Agregar FrmIngreso
PODEMOS USAR FRMARTICULO Y COPIAR TODOS LOS CONTROLES
Propiedad
Formulario text= .:.Mantenimiento de
Ingresos de Almacn.:
backcolor Web White Copiar los controles
de frmarticulos
btneliminar anular Propiedad text
chkeliminar anular
datetimepicker Dtfecha1
Datetimepicker2 Dtfecha2
Label2 text
Label3
Label1 Ingresos Almacn
Cambiar la imagen
Tappages
mantenimiento
Groupbox1 Ingresos Almacn
proveedor cambiar
fecha datetimepicker Formato corto Short
name