示例#1
0
        public void Eliminar()
        {
            var contar = 0;

            try
            {
                using (var ctx = new MardomContext())
                {
                    contar = ctx.Database.SqlQuery <int>("SELECT COUNT(MarcaId) FROM Articulo WHERE MarcaId = @id",
                                                         new SqlParameter("id", this.Id)).FirstOrDefault();

                    if (contar <= 0)
                    {
                        ctx.Entry(this).State = EntityState.Deleted;

                        ctx.SaveChanges();
                    }
                    else
                    {
                        throw new MiExcepcion("Esta Marca no es posible eliminarla porque hay articulos con ella");
                    }
                }
            }
            catch
            {
                throw;
            }
        }
示例#2
0
        public void Eliminar()
        {
            var contar = 0;

            try
            {
                using (var ctx = new MardomContext())
                {
                    contar = ctx.Database.SqlQuery <int>("SELECT COUNT(ArticuloId) FROM Almacen_Articulo WHERE ArticuloId = @id",
                                                         new SqlParameter("id", this.Id)).FirstOrDefault();

                    if (contar <= 0)
                    {
                        ctx.Database.ExecuteSqlCommand("DELETE FROM Marca_Articulo WHERE ArticuloId = @id", new SqlParameter("id", this.Id));
                        ctx.Database.ExecuteSqlCommand("DELETE FROM Proveedor_Articulo WHERE ArticuloId = @id", new SqlParameter("id", this.Id));

                        ctx.SaveChanges();

                        ctx.Entry(this).State = EntityState.Deleted;

                        ctx.SaveChanges();
                    }
                    else
                    {
                        throw new MiExcepcion("Este articulo no es posible eliminarlo porque se ha sido registrado en algun(os) almacen(es)");
                    }
                }
            }
            catch
            {
                throw;
            }
        }
示例#3
0
        public void Entrar()
        {
            var cantidadDB = 0;

            var cantidadArticulo = 0;

            var cantidad = 0;

            var cantidadTotal = 0;

            var capacidad = 0;

            try
            {
                using (var ctx = new MardomContext())
                {
                    //cantidadDB = ctx.Almacen_Articulo.Where(x => x.ArticuloId == this.ArticuloId && x.AlmacenId == this.AlmacenId).SingleOrDefault().Cantidad;

                    cantidadDB = ctx.Database.SqlQuery <int>("select sum(Cantidad) from Almacen_Articulo where AlmacenId = @id group by AlmacenId",
                                                             new SqlParameter("id", this.AlmacenId)).FirstOrDefault();

                    cantidadArticulo = ctx.Database.SqlQuery <int>("SELECT Cantidad FROM Almacen_Articulo WHERE ArticuloId = @id AND AlmacenId = @id2",
                                                                   new SqlParameter("id", this.ArticuloId), new SqlParameter("id2", this.AlmacenId)).FirstOrDefault();

                    cantidad = this.Cantidad;

                    cantidadTotal = cantidad + cantidadDB;

                    this.Cantidad = cantidadArticulo + cantidad;

                    capacidad = ctx.Almacen.Where(x => x.Id == this.AlmacenId).SingleOrDefault().Capacidad;

                    if (cantidadTotal > capacidad)
                    {
                        throw new MiExcepcion("La cantidad soportada por este almacen es " + capacidad + " articulos y este cuenta con "
                                              + cantidadDB + " articulos debe ingresar una cantidad menor" + cantidad);
                    }
                    else
                    {
                        ctx.Entry(this).State = EntityState.Modified;

                        ctx.SaveChanges();

                        ctx.Database.ExecuteSqlCommand("INSERT INTO Movimientos VALUES(@articuloId, @almacenId, @cantidad, @tipoMovimiento, @fecha)",
                                                       new SqlParameter("articuloId", this.ArticuloId),
                                                       new SqlParameter("almacenId", this.AlmacenId),
                                                       new SqlParameter("cantidad", cantidad),
                                                       new SqlParameter("tipoMovimiento", 1),
                                                       new SqlParameter("fecha", DateTime.Now));
                    }
                }
            }
            catch
            {
                throw;
            }
        }
示例#4
0
        public void Guardar()
        {
            var cantidadDB = 0;

            var cantidadArticulo = 0;

            var cantidad = 0;

            var cantidadTotal = 0;

            var capacidad = 0;

            try
            {
                using (var ctx = new MardomContext())
                {
                    cantidadDB = ctx.Database.SqlQuery <int>("select sum(Cantidad) from Almacen_Articulo where AlmacenId = @id group by AlmacenId",
                                                             new SqlParameter("id", this.AlmacenId)).FirstOrDefault();

                    cantidadArticulo = ctx.Database.SqlQuery <int>("SELECT Cantidad FROM Almacen_Articulo WHERE ArticuloId = @id AND AlmacenId = @id2",
                                                                   new SqlParameter("id", this.ArticuloId), new SqlParameter("id2", this.AlmacenId)).FirstOrDefault();

                    cantidad = this.Cantidad;

                    cantidadTotal = cantidad + cantidadDB;

                    this.Cantidad = cantidadArticulo + cantidad;

                    capacidad = ctx.Almacen.Where(x => x.Id == this.AlmacenId).SingleOrDefault().Capacidad;

                    if (cantidadTotal > capacidad)
                    {
                        throw new MiExcepcion("La cantidad ingresada (" + cantidad + ") excede a la capcidad (" + capacidad + ") del almacen ya que en el mismo" +
                                              " hay (" + cantidadDB + ") articulos, o el articulo ya esta asignado en este almacen");
                    }
                    else
                    {
                        ctx.Entry(this).State = EntityState.Added;

                        ctx.SaveChanges();
                    }
                }
            }
            catch
            {
                throw;
            }
        }
示例#5
0
        public Almacen Obtener(int id)
        {
            var almacen = new Almacen();

            try
            {
                using (var ctx = new MardomContext())
                {
                    almacen = ctx.Almacen.Where(x => x.Id == id).SingleOrDefault();
                }
            }
            catch
            {
                throw;
            }

            return(almacen);
        }
示例#6
0
        public List <Almacen> Listar()
        {
            var alamacenes = new List <Almacen>();

            try
            {
                using (var ctx = new MardomContext())
                {
                    alamacenes = ctx.Almacen.ToList();
                }
            }
            catch
            {
                throw;
            }

            return(alamacenes);
        }
示例#7
0
        public Proveedor Obtener(int id)
        {
            var proveedor = new Proveedor();

            try
            {
                using (var ctx = new MardomContext())
                {
                    proveedor = ctx.Proveedor.Where(x => x.Id == id).SingleOrDefault();
                }
            }
            catch
            {
                throw;
            }

            return(proveedor);
        }
示例#8
0
        public List <Inventario> Listar()
        {
            var inventario = new List <Inventario>();

            try
            {
                using (var ctx = new MardomContext())
                {
                    inventario = ctx.Inventario.ToList();
                }
            }
            catch
            {
                throw;
            }

            return(inventario);
        }
示例#9
0
        public List <Transacciones> Listar()
        {
            var transacciones = new List <Transacciones>();

            try
            {
                using (var ctx = new MardomContext())
                {
                    transacciones = ctx.Transacciones.ToList();
                }
            }
            catch
            {
                throw;
            }

            return(transacciones);
        }
示例#10
0
        public List <Marca> Listar()
        {
            var marcas = new List <Marca>();

            try
            {
                using (var ctx = new MardomContext())
                {
                    marcas = ctx.Marca.ToList();
                }
            }
            catch
            {
                throw;
            }

            return(marcas);
        }
示例#11
0
        public Marca Obtener(int id)
        {
            var marca = new Marca();

            try
            {
                using (var ctx = new MardomContext())
                {
                    marca = ctx.Marca.Where(x => x.Id == id).SingleOrDefault();
                }
            }
            catch
            {
                throw;
            }

            return(marca);
        }
示例#12
0
        public List <Categoria> Listar()
        {
            var categorias = new List <Categoria>();

            try
            {
                using (var ctx = new MardomContext())
                {
                    categorias = ctx.Categoria.ToList();
                }
            }
            catch
            {
                throw;
            }

            return(categorias);
        }
示例#13
0
        public Categoria Obtener(int id)
        {
            var categoria = new Categoria();

            try
            {
                using (var ctx = new MardomContext())
                {
                    categoria = ctx.Categoria.Where(x => x.Id == id).SingleOrDefault();
                }
            }
            catch
            {
                throw;
            }

            return(categoria);
        }
示例#14
0
        public List <Proveedor> Listar()
        {
            var proveedores = new List <Proveedor>();

            try
            {
                using (var ctx = new MardomContext())
                {
                    proveedores = ctx.Proveedor.ToList();
                }
            }
            catch
            {
                throw;
            }

            return(proveedores);
        }
示例#15
0
        public List <Almacen_Articulo> Listar()
        {
            var almArt = new List <Almacen_Articulo>();

            try
            {
                using (var ctx = new MardomContext())
                {
                    almArt = ctx.Almacen_Articulo.Include(x => x.Articulo)
                             .Include(x => x.Almacen).ToList();
                }
            }
            catch
            {
                throw;
            }

            return(almArt);
        }
示例#16
0
        public List <Almacen_Articulo> Obtener(int id)
        {
            var almArt = new List <Almacen_Articulo>();

            try
            {
                using (var ctx = new MardomContext())
                {
                    almArt = ctx.Almacen_Articulo.Include(x => x.Articulo)
                             .Include(x => x.Almacen)
                             .Where(x => x.ArticuloId == id).ToList();
                }
            }
            catch
            {
                throw;
            }

            return(almArt);
        }
示例#17
0
        public Almacen_Articulo Obtener2(int id1, int id2)
        {
            var almArt = new Almacen_Articulo();

            try
            {
                using (var ctx = new MardomContext())
                {
                    almArt = ctx.Almacen_Articulo.Include(x => x.Articulo)
                             .Include(x => x.Almacen)
                             .Where(x => x.ArticuloId == id1 && x.AlmacenId == id2).SingleOrDefault();
                }
            }
            catch
            {
                throw;
            }

            return(almArt);
        }
示例#18
0
        public Articulo Obtener(int id)
        {
            var articulo = new Articulo();

            try
            {
                using (var ctx = new MardomContext())
                {
                    articulo = ctx.Articulo.Include(x => x.Categoria)
                               .Include(x => x.Marca)
                               .Include(x => x.Proveedor)
                               .Where(x => x.Id == id).SingleOrDefault();
                }
            }
            catch
            {
                throw;
            }

            return(articulo);
        }
示例#19
0
        public List <Articulo> Listar()
        {
            var articulos = new List <Articulo>();

            try
            {
                using (var ctx = new MardomContext())
                {
                    articulos = ctx.Articulo.Include(x => x.Categoria)
                                .Include(x => x.Marca)
                                .Include(x => x.Proveedor)
                                .ToList();
                }
            }
            catch
            {
                throw;
            }

            return(articulos);
        }
示例#20
0
        public void Guardar()
        {
            try
            {
                using (var ctx = new MardomContext())
                {
                    if (this.Id > 0)
                    {
                        ctx.Entry(this).State = EntityState.Modified;

                        ctx.Database.ExecuteSqlCommand("DELETE FROM Marca_Articulo WHERE ArticuloId = @id", new SqlParameter("id", this.Id));
                        ctx.Database.ExecuteSqlCommand("INSERT INTO Marca_Articulo VALUES(@articuloId, @marcaId)", new SqlParameter("articuloId", this.Id), new
                                                       SqlParameter("marcaId", this.MarcaId));

                        ctx.Database.ExecuteSqlCommand("DELETE FROM Proveedor_Articulo WHERE ArticuloId = @id", new SqlParameter("id", this.Id));
                        ctx.Database.ExecuteSqlCommand("INSERT INTO Proveedor_Articulo VALUES(@articuloId, @ProveedorId)", new SqlParameter("articuloId", this.Id), new
                                                       SqlParameter("ProveedorId", this.ProveedorId));
                    }
                    else
                    {
                        ctx.Entry(this).State = EntityState.Added;

                        ctx.SaveChanges();

                        ctx.Database.ExecuteSqlCommand("INSERT INTO Marca_Articulo VALUES(@articuloId, @marcaId)", new SqlParameter("articuloId", this.Id), new
                                                       SqlParameter("marcaId", this.MarcaId));

                        ctx.Database.ExecuteSqlCommand("INSERT INTO Proveedor_Articulo VALUES(@articuloId, @ProveedorId)", new SqlParameter("articuloId", this.Id), new
                                                       SqlParameter("ProveedorId", this.ProveedorId));
                    }

                    ctx.SaveChanges();
                }
            }
            catch
            {
                throw;
            }
        }
示例#21
0
        public void Guardar()
        {
            try
            {
                using (var ctx = new MardomContext())
                {
                    if (this.Id > 0)
                    {
                        ctx.Entry(this).State = EntityState.Modified;
                    }
                    else
                    {
                        ctx.Entry(this).State = EntityState.Added;
                    }

                    ctx.SaveChanges();
                }
            }
            catch
            {
                throw;
            }
        }