public IList <NotaIngresoDetalle> GetAll(NotaIngreso entiy) { List <NotaIngresoDetalle> notaIngresoDetalle = new List <NotaIngresoDetalle>(); using (var comando = _database.GetStoredProcCommand(string.Format("{0}{1}", ConectionStringRepository.EsquemaName, "SGE_NOTA_INGRESO_DETALLE_GetAll"))) { _database.AddInParameter(comando, "@Id", DbType.Int32, entiy.Id); using (var lector = _database.ExecuteReader(comando)) { while (lector.Read()) { notaIngresoDetalle.Add(new NotaIngresoDetalle { Id = lector.IsDBNull(lector.GetOrdinal("dninc_icod_detalle_ingreso")) ? default(int) : lector.GetInt32(lector.GetOrdinal("dninc_icod_detalle_ingreso")), ningc_icod_nota_ingreso = lector.IsDBNull(lector.GetOrdinal("ningc_icod_nota_ingreso")) ? default(int) : lector.GetInt32(lector.GetOrdinal("ningc_icod_nota_ingreso")), dninc_nro_item = lector.IsDBNull(lector.GetOrdinal("dninc_nro_item")) ? default(string) : lector.GetString(lector.GetOrdinal("dninc_nro_item")), dninc_v_unidad = lector.IsDBNull(lector.GetOrdinal("Unidad")) ? default(string) : lector.GetString(lector.GetOrdinal("Unidad")), dninc_cantidad = lector.IsDBNull(lector.GetOrdinal("dninc_cantidad")) ? default(decimal) : lector.GetDecimal(lector.GetOrdinal("dninc_cantidad")), dninc_costo = lector.IsDBNull(lector.GetOrdinal("dnind_ncosto")) ? default(decimal) : lector.GetDecimal(lector.GetOrdinal("dnind_ncosto")), prdc_icod_producto = lector.IsDBNull(lector.GetOrdinal("prdc_icod_producto")) ? default(int) : lector.GetInt32(lector.GetOrdinal("prdc_icod_producto")), prdc_vdescripcion = lector.IsDBNull(lector.GetOrdinal("prdc_vdescripcion")) ? default(string) : lector.GetString(lector.GetOrdinal("prdc_vdescripcion")), kardc_icod_correlativo = lector.IsDBNull(lector.GetOrdinal("kardc_icod_correlativo")) ? default(int) : lector.GetInt32(lector.GetOrdinal("kardc_icod_correlativo")), }); } } } return(notaIngresoDetalle); }
public NotaIngreso GetById(NotaIngreso entity) { NotaIngreso notaIngreso = null; using (var comando = _database.GetStoredProcCommand(string.Format("{0}{1}", ConectionStringRepository.EsquemaName, "SGE_NOTA_INGRESO_GetById"))) { _database.AddInParameter(comando, "@Id", DbType.Int32, entity.Id); using (var lector = _database.ExecuteReader(comando)) { if (lector.Read()) { notaIngreso = new NotaIngreso { Id = lector.IsDBNull(lector.GetOrdinal("ningc_icod_nota_ingreso")) ? default(int) : lector.GetInt32(lector.GetOrdinal("ningc_icod_nota_ingreso")), ningc_numero_nota_ingreso = lector.IsDBNull(lector.GetOrdinal("ningc_numero_nota_ingreso")) ? default(string) : lector.GetString(lector.GetOrdinal("ningc_numero_nota_ingreso")), ningc_fecha_nota_ingreso = lector.IsDBNull(lector.GetOrdinal("ningc_fecha_nota_ingreso")) ? default(DateTime) : lector.GetDateTime(lector.GetOrdinal("ningc_fecha_nota_ingreso")), ningc_observaciones = lector.IsDBNull(lector.GetOrdinal("ningc_observaciones")) ? default(string) : lector.GetString(lector.GetOrdinal("ningc_observaciones")), ningc_iid_motivo = lector.IsDBNull(lector.GetOrdinal("ningc_iid_motivo")) ? default(int) : lector.GetInt32(lector.GetOrdinal("ningc_iid_motivo")), almac_icod_almacen = lector.IsDBNull(lector.GetOrdinal("almac_icod_almacen")) ? default(int) : lector.GetInt32(lector.GetOrdinal("almac_icod_almacen")), Estado = lector.IsDBNull(lector.GetOrdinal("ningc_ilag_estado")) ? default(int) : lector.GetInt32(lector.GetOrdinal("ningc_ilag_estado")) }; } } } return(notaIngreso); }
public int GetCorrelativo(NotaIngreso entity) { int Correlativo; using (var comando = _database.GetStoredProcCommand(string.Format("{0}{1}", ConectionStringRepository.EsquemaName, "SGE_NOTA_INGRESO_CORRELATIVA"))) { _database.AddInParameter(comando, "@id", DbType.Int32, entity.almac_icod_almacen); _database.AddOutParameter(comando, "@Response", DbType.Int32, 11); _database.ExecuteNonQuery(comando); Correlativo = Convert.ToInt32(_database.GetParameterValue(comando, "@Response")); } return(Correlativo); }
public int DeleteNI(NotaIngreso entity) { int id; int idKardex; int idNID; using (var comando = _database.GetStoredProcCommand(string.Format("{0}{1}", ConectionStringRepository.EsquemaName, "SGE_NOTA_INGRESO_DELETE"))) { _database.AddInParameter(comando, "@Id", DbType.Int32, entity.Id); _database.AddOutParameter(comando, "@Response", DbType.Int32, 11); _database.ExecuteNonQuery(comando); id = Convert.ToInt32(_database.GetParameterValue(comando, "@Response")); if (id == 0) { throw new Exception("Error al eliminar nota ingreso."); } } using (var comando = _database.GetStoredProcCommand(string.Format("{0}{1}", ConectionStringRepository.EsquemaName, "SGE_KARDEX_DELETE_IDNI"))) { _database.AddInParameter(comando, "@Id", DbType.Int32, entity.Id); _database.AddOutParameter(comando, "@Response", DbType.Int32, 11); _database.ExecuteNonQuery(comando); idKardex = Convert.ToInt32(_database.GetParameterValue(comando, "@Response")); if (idKardex == 0) { throw new Exception("Error al eliminar kardex."); } } using (var comando = _database.GetStoredProcCommand(string.Format("{0}{1}", ConectionStringRepository.EsquemaName, "SGE_NOTA_INGRESO_DETALLE_DELETE_IDNI"))) { _database.AddInParameter(comando, "@Id", DbType.Int32, entity.Id); _database.AddOutParameter(comando, "@Response", DbType.Int32, 11); _database.ExecuteNonQuery(comando); idNID = Convert.ToInt32(_database.GetParameterValue(comando, "@Response")); if (idNID == 0) { throw new Exception("Error al eliminar nota ingreso detalle."); } } return(id); }
public int GetCorrelativo(NotaIngreso entity) { return(NotaIngresoRepository.Instancia.GetCorrelativo(entity)); }
public IList <NotaIngresoDetalle> GetAll(NotaIngreso entity) { return(NotaIngresoRepository.Instancia.GetAll(entity)); }
public NotaIngreso GetById(NotaIngreso entity) { return(NotaIngresoRepository.Instancia.GetById(entity)); }
public int DeleteNI(NotaIngreso entity) { return(NotaIngresoRepository.Instancia.DeleteNI(entity)); }
public int UpdateNI(NotaIngreso entity) { return(NotaIngresoRepository.Instancia.UpdateNI(entity)); }
public int AddNI(NotaIngreso entity) { return(NotaIngresoRepository.Instancia.AddNI(entity)); }
public string GuardarNota(NotaIngreso nota) { if (nota.NumeroNotaIngreso == null) { var ultimo = db.NotaIngreso.OrderByDescending(x => x.NumeroNotaIngreso).Take(1).FirstOrDefault(); double numero = 1; if (ultimo != null) { numero = double.Parse(ultimo.NumeroNotaIngreso.Replace("NI-", "")) + 1; } nota.NumeroNotaIngreso = "NI-" + double.Parse(numero.ToString()).ToString("#000000"); db.NotaIngreso.Add(nota); //Agregamos un movimiento al Kardex Kardex objKardex; List <DetalleKardex> detalleKardex = new List <DetalleKardex>(); DetalleKardex dKardex; foreach (var item in nota.DetalleNotaIngreso) { //Detalle del kardex objKardex = db.Kardex.FirstOrDefault(x => x.IdProducto == item.IdProducto); //&& x.IdAlmacen == IdAlmacen if (objKardex != null) { dKardex = new DetalleKardex(); dKardex.NumeroKardex = objKardex.NumeroKardex; dKardex.NumeroDocumento = nota.NumeroOrdenCompra; dKardex.TipodeMovimiento = 1; dKardex.NumeroNotaIngreso = nota.NumeroNotaIngreso; dKardex.Fecha = DateTime.Now; dKardex.Cantidad = item.Cantidad; detalleKardex.Add(dKardex); } } db.DetalleKardex.AddRange(detalleKardex); } else { var original = db.NotaIngreso.Find(nota.NumeroNotaIngreso); if (original != null) { db.Entry(original).CurrentValues.SetValues(nota); ////Ya no actualiza los items, porque tendría que modificar el kardex también //db.DetalleNotaIngreso.RemoveRange(db.DetalleNotaIngreso.Where(x => x.NumeroNotaIngreso == nota.NumeroNotaIngreso)); //db.SaveChanges(); //DetalleNotaIngreso obj; //foreach (var item in nota.DetalleNotaIngreso) //{ // obj = new DetalleNotaIngreso(); // obj.Cantidad = item.Cantidad; // obj.IdProducto = item.IdProducto; // obj.NumeroNotaIngreso = item.NumeroNotaIngreso; // db.DetalleNotaIngreso.Add(obj); //} } } db.SaveChanges(); return(nota.NumeroNotaIngreso); }
public int AddNI(NotaIngreso entity) { int id; int idKardex; int idND; int idStock; using (DbConnection conexion = _database.CreateConnection()) { conexion.Open(); using (var transaction = conexion.BeginTransaction(IsolationLevel.Serializable)) { try { using (var comando = _database.GetStoredProcCommand(string.Format("{0}{1}", ConectionStringRepository.EsquemaName, "SGE_NOTA_INGRESO_INSERT"))) { _database.AddInParameter(comando, "@ningc_numero_nota_ingreso", DbType.String, entity.ningc_numero_nota_ingreso); _database.AddInParameter(comando, "@almac_icod_almacen", DbType.String, entity.almac_icod_almacen); _database.AddInParameter(comando, "@ningc_iid_motivo", DbType.String, entity.ningc_iid_motivo); _database.AddInParameter(comando, "@ningc_fecha_nota_ingreso", DbType.String, entity.ningc_fecha_nota_ingreso_); _database.AddInParameter(comando, "@tdocc_icod_tipo_doc", DbType.Int32, entity.tdocc_icod_tipo_doc); _database.AddInParameter(comando, "@ningc_numero_doc", DbType.String, entity.ningc_numero_doc); _database.AddInParameter(comando, "@ningc_referencia", DbType.String, entity.ningc_referencia); _database.AddInParameter(comando, "@ningc_observaciones", DbType.String, entity.ningc_observaciones); _database.AddInParameter(comando, "@ningc_vusuario_crea", DbType.String, entity.UsuarioCreacion); _database.AddInParameter(comando, "@ningc_vpc_crea", DbType.String, WindowsIdentity.GetCurrent().Name); _database.AddInParameter(comando, "@ningc_ilag_estado", DbType.Int32, entity.Estado); _database.AddOutParameter(comando, "@Response", DbType.Int32, 11); _database.ExecuteNonQuery(comando, transaction); id = Convert.ToInt32(_database.GetParameterValue(comando, "@Response")); if (id == 0) { throw new Exception("Error al ingresar Nota Ingreso"); } } foreach (var itemdetalle in entity.listaDetalleNI) { using (var comandoKardex = _database.GetStoredProcCommand(string.Format("{0}{1}", ConectionStringRepository.EsquemaName, "SGE_KARDEX_INSERT"))) { _database.AddInParameter(comandoKardex, "@kardc_fecha_movimiento", DbType.String, entity.ningc_fecha_nota_ingreso_); _database.AddInParameter(comandoKardex, "@ningc_icod_nota_ingreso", DbType.Int32, id); _database.AddInParameter(comandoKardex, "@almac_icod_almacen", DbType.Int32, entity.almac_icod_almacen); _database.AddInParameter(comandoKardex, "@prdc_icod_producto", DbType.Int32, itemdetalle.prdc_icod_producto); _database.AddInParameter(comandoKardex, "@kardc_icantidad_prod", DbType.Decimal, itemdetalle.dninc_cantidad); _database.AddInParameter(comandoKardex, "@tdocc_icod_tipo_doc", DbType.Int32, entity.tdocc_icod_tipo_doc); _database.AddInParameter(comandoKardex, "@kardc_numero_doc", DbType.String, entity.ningc_numero_doc); _database.AddInParameter(comandoKardex, "@kardc_tipo_movimiento", DbType.Int32, itemdetalle.kardc_tipo_movimiento); _database.AddInParameter(comandoKardex, "@kardc_iid_motivo", DbType.Int32, entity.ningc_iid_motivo); _database.AddInParameter(comandoKardex, "@kardc_beneficiario", DbType.String, entity.ningc_referencia); _database.AddInParameter(comandoKardex, "@kardc_observaciones", DbType.String, entity.ningc_observaciones); _database.AddInParameter(comandoKardex, "@kardc_monto_unitario_compra", DbType.Decimal, itemdetalle.dninc_costo); _database.AddInParameter(comandoKardex, "@kardc_vusuario_crea", DbType.String, entity.UsuarioCreacion); _database.AddInParameter(comandoKardex, "@kardc_vpc_crea", DbType.String, WindowsIdentity.GetCurrent().Name); _database.AddInParameter(comandoKardex, "@kardc_ilag_estado", DbType.Int32, entity.Estado); _database.AddOutParameter(comandoKardex, "@Response", DbType.Int32, 11); _database.ExecuteNonQuery(comandoKardex, transaction); idKardex = Convert.ToInt32(_database.GetParameterValue(comandoKardex, "@Response")); if (idKardex == 0) { throw new Exception("Error al ingresar kardex"); } } using (var comando = _database.GetStoredProcCommand(string.Format("{0}{1}", ConectionStringRepository.EsquemaName, "SGE_NOTA_INGRESO_DETALLE_INSERT"))) { _database.AddInParameter(comando, "@ningc_icod_nota_ingreso", DbType.Int32, id); _database.AddInParameter(comando, "@dninc_nro_item", DbType.String, itemdetalle.dninc_nro_item); _database.AddInParameter(comando, "@prdc_icod_producto", DbType.Int32, itemdetalle.prdc_icod_producto); _database.AddInParameter(comando, "@dninc_cantidad", DbType.Decimal, itemdetalle.dninc_cantidad); _database.AddInParameter(comando, "@dnind_ncosto", DbType.Decimal, itemdetalle.dninc_costo); _database.AddInParameter(comando, "@kardc_icod_correlativo", DbType.Int32, idKardex); _database.AddInParameter(comando, "@dninc_vusuario_crea", DbType.String, entity.UsuarioCreacion); _database.AddInParameter(comando, "@dninc_vpc_crea", DbType.String, WindowsIdentity.GetCurrent().Name); _database.AddInParameter(comando, "@dninc_ilag_estado", DbType.Int32, entity.Estado); _database.AddOutParameter(comando, "@Response", DbType.Int32, 11); _database.ExecuteNonQuery(comando, transaction); idND = Convert.ToInt32(_database.GetParameterValue(comando, "@Response")); if (idND == 0) { throw new Exception("Error al ingresar nota de ingreso detalle"); } } using (var ComandoStock = _database.GetStoredProcCommand(string.Format("{0}{1}", ConectionStringRepository.EsquemaName, "SGE_STOCK_UPDATE"))) { _database.AddInParameter(ComandoStock, "@almac_icod_almacen", DbType.Int32, entity.almac_icod_almacen); _database.AddInParameter(ComandoStock, "@prdc_icod_producto", DbType.Int32, itemdetalle.prdc_icod_producto); _database.AddInParameter(ComandoStock, "@stocc_stock_producto", DbType.Decimal, itemdetalle.dninc_cantidad); _database.AddInParameter(ComandoStock, "@stocc_ilag_estado", DbType.Int32, entity.Estado); _database.AddInParameter(ComandoStock, "@tipo_movimiento", DbType.Int32, itemdetalle.kardc_tipo_movimiento); _database.AddOutParameter(ComandoStock, "@Response", DbType.Int32, 11); _database.ExecuteNonQuery(ComandoStock, transaction); idStock = Convert.ToInt32(_database.GetParameterValue(ComandoStock, "@Response")); if (idStock == 0) { throw new Exception("Error al ingresar stock"); } } } transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw new Exception(ex.Message); } } } return(id); }