/// <summary> /// Permite modificar un registro /// </summary> /// <param name="registro"></param> /// <param name="reglas">Contiene las reglas a validar</param> /// <returns></returns> public async Task <bool> ModificarAsync(TEntity registro, List <IRegla> reglas) { foreach (var regla in reglas) { if (!regla.EsCorrecto()) { customError = regla.customError; return(false); } } contexto.Entry(registro).State = EntityState.Modified; await contexto.SaveChangesAsync(); return(true); }
/// <summary> /// Permite agregar un nuevo registro /// </summary> /// <param name="registro">Registro a agregar</param> /// <param name="reglas">Reglas a validar</param> /// <returns></returns> public async Task <bool> AgregarAsync(TEntity registro, List <IRegla> reglas) { foreach (var regla in reglas) { if (!regla.EsCorrecto()) { customError = regla.customError; return(false); } } contexto.Set <TEntity>().Add(registro); await contexto.SaveChangesAsync(); return(true); }
/// <summary> /// Permite borrar un registro /// </summary> /// <param name="id"></param> /// <param name="reglas"></param> /// <param name="nombreTabla"></param> /// <returns></returns> public async Task <bool> BorraAsync(int id, List <IRegla> reglas, string nombreTabla) { foreach (var regla in reglas) { if (!regla.EsCorrecto()) { customError = regla.customError; return(false); } } var registro = await ObtenerPorIdAsync(id); if (registro == null) { customError = new CustomError(404, String.Format(this.localizacion.GetLocalizedHtmlString("NotFound"), nombreTabla), "Id"); return(false); } contexto.Set <TEntity>().Remove(registro); await contexto.SaveChangesAsync(); return(true); }