Пример #1
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;
            }
        }
Пример #2
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;
            }
        }
Пример #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()
        {
            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;
            }
        }
Пример #5
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;
            }
        }
Пример #6
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;
            }
        }