public async Task<bool> ModificarArticulo(articulo nuevoArticulo)
        {
            using (var contexto = new ipwebec_hydrosEntities())
            {
                var updatedArticulo = contexto.articulo.First(b => b.id == nuevoArticulo.id);

                updatedArticulo.grupo_id = nuevoArticulo.grupo_id;
                updatedArticulo.clase = nuevoArticulo.clase;
                updatedArticulo.control_stock = nuevoArticulo.control_stock;
                updatedArticulo.descripcion = nuevoArticulo.descripcion;
                updatedArticulo.fecha_creacion = nuevoArticulo.fecha_creacion;
                updatedArticulo.foto = nuevoArticulo.foto;
                updatedArticulo.impuesto_id = nuevoArticulo.impuesto_id;
                updatedArticulo.marca_id = nuevoArticulo.marca_id;
                updatedArticulo.nombre_completo = nuevoArticulo.nombre_completo;
                updatedArticulo.nombre_corto = nuevoArticulo.nombre_corto;
                updatedArticulo.nombre_foto = nuevoArticulo.nombre_foto;
                updatedArticulo.precio_compra = nuevoArticulo.precio_compra;
                updatedArticulo.precio_venta = nuevoArticulo.precio_venta;
                updatedArticulo.stock_actual = nuevoArticulo.stock_actual;
                updatedArticulo.stock_minimo = nuevoArticulo.stock_minimo;
                updatedArticulo.unidad_medida_id = nuevoArticulo.unidad_medida_id;


                int affected = await contexto.SaveChangesAsync();

                return (affected == 1);
            }
        }
        public async Task<bool> InsertarCostoc(costo_tarifa costo)
        {
            using (var contexto = new ipwebec_hydrosEntities())
            {
                contexto.costo_tarifa.Add(costo);

                int affected = await contexto.SaveChangesAsync();

                return (affected == 1);
            }
        }
        public async Task<bool> InsertarMedida(unidad_medida nuevaMedida)
        {
            using (var contexto = new ipwebec_hydrosEntities())
            {
                contexto.unidad_medida.Add(nuevaMedida);

                int affected = await contexto.SaveChangesAsync();

                return (affected == 1);
            }
        }
        //tabla articulo
        public async Task<bool> InsertarArticulo(articulo nuevoArticulo)
        {
            using (var contexto = new ipwebec_hydrosEntities())
            {
                contexto.articulo.Add(nuevoArticulo);

                int affected = await contexto.SaveChangesAsync();

                return (affected == 1);
            }
        }
        public async Task<bool> InsertarImpuesto(impuesto nuevoImpuesto)
        {
            using (var contexto = new ipwebec_hydrosEntities())
            {
                contexto.impuesto.Add(nuevoImpuesto);

                int affected = await contexto.SaveChangesAsync();

                return (affected == 1);
            }
        }
        public async Task<bool> EliminarCosto(int id)
        {
            using (var contexto = new ipwebec_hydrosEntities())
            {
                IEnumerable<costo_tarifa> costo = contexto.costo_tarifa.Where(b => b.id == id);
                contexto.costo_tarifa.RemoveRange(costo);

                int affected = await contexto.SaveChangesAsync();

                return (affected == 1);
            }
        }
        public async Task<bool> EliminarArticulo(int id)
        {
            using (var contexto = new ipwebec_hydrosEntities())
            {
                IEnumerable<articulo> articulo = contexto.articulo.Where(b => b.id == id);
                contexto.articulo.RemoveRange(articulo);

                int affected = await contexto.SaveChangesAsync();

                return (affected == 1);
            }
        }
        public async Task<bool> EliminarMedida(int id)
        {
            using (var contexto = new ipwebec_hydrosEntities())
            {
                IEnumerable<unidad_medida> medida = contexto.unidad_medida.Where(b => b.id == id);
                contexto.unidad_medida.RemoveRange(medida);

                int affected = await contexto.SaveChangesAsync();

                return (affected == 1);
            }
        }
        public async Task<bool> ModificarMedida(unidad_medida nuevaMedida)
        {
            using (var contexto = new ipwebec_hydrosEntities())
            {
                var updatedImpuesto = contexto.unidad_medida.First(b => b.id == nuevaMedida.id);

                updatedImpuesto.prefijo = nuevaMedida.prefijo;
                updatedImpuesto.nombre = nuevaMedida.nombre;

                int affected = await contexto.SaveChangesAsync();

                return (affected == 1);
            }
        }
        public async Task<bool> ModificarImpuesto(impuesto nuevoImpuesto)
        {
            using (var contexto = new ipwebec_hydrosEntities())
            {
                var updatedImpuesto = contexto.impuesto.First(b => b.id == nuevoImpuesto.id);

                updatedImpuesto.porcentaje = nuevoImpuesto.porcentaje;
                updatedImpuesto.nombre = nuevoImpuesto.nombre;

                int affected = await contexto.SaveChangesAsync();

                return (affected == 1);
            }
        }
        public async Task<bool> ModificarGrupo(grupo nuevoGrupo)
        {
            using (var contexto = new ipwebec_hydrosEntities())
            {
                var updatedGrupo = contexto.grupo.First(b => b.id == nuevoGrupo.id);

                updatedGrupo.codigo = nuevoGrupo.codigo;
                updatedGrupo.nombre = nuevoGrupo.nombre;

                int affected = await contexto.SaveChangesAsync();

                return (affected == 1);
            }
        }
        public async Task<bool> ModificarCosto(costo_tarifa costo)
        {
            using (var contexto = new ipwebec_hydrosEntities())
            {
                var Ucosto = await contexto.costo_tarifa.FirstAsync(x => x.id == costo.id);

                Ucosto.nombre = costo.nombre;
                Ucosto.desde = costo.desde;
                Ucosto.es_base = costo.es_base;
                Ucosto.es_multa = costo.es_multa;
                Ucosto.hasta = costo.hasta;
                Ucosto.orden = costo.orden;
                Ucosto.tarifa_id = costo.tarifa_id;
                Ucosto.valor = costo.valor;

                int affected = await contexto.SaveChangesAsync();

                return (affected == 1);
            }
        }