コード例 #1
0
 public static Remedios BuscarPorId(int sId)
 {
     using (DBRemediosEntities db = new DBRemediosEntities())
     {
         return(db.Remedios.Include(x => x.Tipos_Remedios).Where(x => x.id_Remedio == sId).FirstOrDefault());
     }
 }
コード例 #2
0
        public static IEnumerable <Remedios> Buscar(string nombre, bool?enStock, int numeroPagina, out int RegistrosTotal)
        {
            //ref Entity Framework

            using (DBRemediosEntities db = new DBRemediosEntities())                         //el using asegura el db.dispose() que libera la conexion de la base
            {
                IQueryable <Remedios> consulta = db.Remedios.Include(x => x.Tipos_Remedios); //incluir obj hijos evitando lazy load(y tambien error de serializacion)

                //aplicar filtros
                //ref LinQ
                //Expresiones lambda, metodos de extension
                if (!string.IsNullOrEmpty(nombre))
                {
                    consulta = consulta.Where(x => x.nombre.ToUpper().Contains(nombre.ToUpper())); // equivale al like '%TextoBuscar%'
                }
                if (enStock != null)
                {
                    consulta = consulta.Where(x => x.enStock == enStock);
                }

                RegistrosTotal = consulta.Count();

                // ref EF; consultas paginadas
                int RegistroDesde = (numeroPagina - 1) * 10;
                var Lista         = consulta.OrderBy(x => x.nombre).Skip(RegistroDesde).Take(10).AsNoTracking().ToList(); // la instruccion sql recien se ejecuta cuando hacemos ToList()
                return(Lista);
            }
        }
コード例 #3
0
 public static void ActivarDesactivar(int id_Remedio)
 {
     using (DBRemediosEntities db = new DBRemediosEntities())
     {
         //ref Entity Framework; ejecutar codigo sql directo
         db.Database.ExecuteSqlCommand("Update Remedios set enStock = case when ISNULL(enStock,1)=1 then 0 else 1 end  where id_Remedio = @id_Remedio",
                                       new SqlParameter("@id_Remedio", id_Remedio)
                                       );
     }
 }
コード例 #4
0
        public static void Grabar(Remedios DtoSel)
        {
            // validar campos
            string erroresValidacion = "";

            if (string.IsNullOrEmpty(DtoSel.nombre))
            {
                erroresValidacion += "Nombre es un dato requerido; ";
            }
            if (DtoSel.precio == 0)
            {
                erroresValidacion += "Precio es un dato requerido; ";
            }
            if (DtoSel.cantidad_stock == 0)
            {
                erroresValidacion += "Cantidad de stock es un dato requerido; ";
            }
            if (!string.IsNullOrEmpty(erroresValidacion))
            {
                throw new Exception(erroresValidacion);
            }



            // grabar registro
            using (DBRemediosEntities db = new DBRemediosEntities())
            {
                try
                {
                    if (DtoSel.id_Remedio != 0)
                    {
                        DtoSel.Tipos_Remedios  = null;
                        db.Entry(DtoSel).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                    else
                    {
                        db.Remedios.Add(DtoSel);
                        db.SaveChanges();
                    }
                }
                catch (Exception)
                {
                    throw new Exception("Error...");
                }
            }
        }