public override void Eliminar(Envase entidad, Core.Modelo.Usuarios.Usuario usuario, Core.Datos.IDbContext cntxt) { using (var transaccion = cntxt.EmpezarTransaccion()) { try { foreach (var art in entidad.Articulos) { cntxt.Entry <ArticuloEnvase>(art).State = EntityState.Deleted; } cntxt.SaveChanges(); //para borrar las listas var envaseParaBorrar = cntxt.BuscarPorId <Envase>(entidad.Id, Core.CargarRelaciones.NoCargarNada); cntxt.Entry <Envase>(envaseParaBorrar).State = EntityState.Deleted; cntxt.SaveChanges(); if (usuario != null) { cntxt.insertaAuditoria <Envase>(entidad, Accion.Elimina, usuario); } transaccion.Commit(); } catch (Exception ex) { transaccion.Rollback(); } } }
public override void Eliminar(Articulo articulo, Core.Modelo.Usuarios.Usuario usuario, Core.Datos.IDbContext cntxt) { using (var transaccion = cntxt.EmpezarTransaccion()) { try { foreach (var obs in articulo.Observaciones) { cntxt.Entry <ObservacionArticulo>(obs).State = EntityState.Deleted; } foreach (var item in articulo.CodigoDUN) { cntxt.Entry <CodigoDun>(item).State = EntityState.Deleted; } foreach (var item in articulo.CodigoEAN) { cntxt.Entry <CodigoEan>(item).State = EntityState.Deleted; } foreach (var artCom in articulo.ArticulosCompuestos) { cntxt.Entry <ArticuloCompuesto>(artCom).State = EntityState.Deleted; } this.AgregarAListaParaBorrar(articulo.DatosOld); cntxt.SaveChanges(); //para borrar las listaas. var artABorrar = cntxt.BuscarPorId <Articulo>(articulo.Id, CargarRelaciones.NoCargarNada); cntxt.Entry <Articulo>(artABorrar).State = EntityState.Deleted; cntxt.SaveChanges(); //Borra el articulo this.EliminarGrafo(cntxt); if (usuario != null) { cntxt.insertaAuditoria <Articulo>(articulo, Accion.Elimina, usuario); } transaccion.Commit(); } catch (Exception ex) { transaccion.Rollback(); } } }
public override void Eliminar(Familia entidad, Core.Modelo.Usuarios.Usuario usuario, Core.Datos.IDbContext cntxt) { var flia = cntxt.BuscarPorId <Familia>(entidad.Id, Core.CargarRelaciones.NoCargarNada); cntxt.Entry <Familia>(flia).State = System.Data.Entity.EntityState.Deleted; //cntxt.SaveChanges(); }
public override void Eliminar(RutaDeVenta entidad, Core.Modelo.Usuarios.Usuario usuario, Core.Datos.IDbContext cntxt) { using (var transaccion = cntxt.EmpezarTransaccion()) { try { this.AgregarAListaParaBorrar(entidad.DatosOld); var ruta = cntxt.BuscarPorId <RutaDeVenta>(entidad.Id, Core.CargarRelaciones.NoCargarNada); cntxt.Entry <RutaDeVenta>(ruta).State = System.Data.Entity.EntityState.Deleted; cntxt.SaveChanges(); this.EliminarGrafo(cntxt); transaccion.Commit(); } catch (Exception ex) { transaccion.Rollback(); } } }
public override void Eliminar(Proveedor proveedor, Core.Modelo.Usuarios.Usuario usuario, Core.Datos.IDbContext cntxt) { using (var transaccion = cntxt.EmpezarTransaccion()) { try { foreach (var tel in proveedor.Telefonos) //ModelBuilder no se encarga { cntxt.Entry <Telefono>(tel).State = EntityState.Deleted; } foreach (var obs in proveedor.Observaciones) { cntxt.Entry <ObservacionProveedor>(obs).State = EntityState.Deleted; } foreach (var contacto in proveedor.Contactos) { foreach (var tel in contacto.Telefonos) { cntxt.Entry <Telefono>(tel).State = EntityState.Deleted; } if (contacto.Domicilio != null) { if (contacto.Domicilio.Id > 0) { this.AgregarAListaParaBorrar(contacto.Domicilio); } } } foreach (var prontoPago in proveedor.ProntoPago) { //if (prontoPago.Id > 0) // this.AgregarAListaParaBorrar(prontoPago); cntxt.Entry <ProntoPago>(prontoPago).State = EntityState.Deleted; } cntxt.SaveChanges(); //para borrar las listas 1-* this.AgregarAListaParaBorrar(proveedor.DatosOld); //if (proveedor.Domicilio != null) // if (proveedor.Domicilio.Id > 0) // this.AgregarAListaParaBorrar(proveedor.Domicilio); var provParaBorrar = cntxt.BuscarPorId <Proveedor>(proveedor.Id, Core.CargarRelaciones.NoCargarNada); cntxt.Entry <Proveedor>(provParaBorrar).State = EntityState.Deleted; cntxt.SaveChanges(); this.EliminarGrafo(cntxt); cntxt.insertaAuditoria <Proveedor>(proveedor, Accion.Elimina, usuario); //este metodo lo invoca el Borrar del DbContext en el GrabadorGenerico transaccion.Commit(); } catch (Exception ex) { transaccion.Rollback(); } } }