Ejemplo n.º 1
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;
            }
        }
Ejemplo n.º 2
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;
            }
        }