コード例 #1
0
        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();
                }
            }
        }
コード例 #2
0
        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();
                }
            }
        }
コード例 #3
0
        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();
        }
コード例 #4
0
        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();
                }
            }
        }
コード例 #5
0
        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();
                }
            }
        }