public bool IsValidForStartProcess(long IdProcess, long IdTarea, object Sender) { bool IsValid = true; _errores.Clear(); string ProcessName = twf_Procesos.GetByPk(IdProcess).Descripcion; DataSet data = new DataSet(); if (!ValidationsCache.Contains(IdProcess, IdTarea, Security.IdPerfil)) { data = businessrules.twf_ProcesosTareasValidaciones.GetValidacionesForStartProcess(IdProcess, IdTarea); //Sobrecarga para workflow ValidationsCache.Add(IdProcess, IdTarea, Security.IdPerfil, data); } else { data = ValidationsCache.Get(IdProcess, IdTarea, Security.IdPerfil); } if (data != null) { foreach (DataRow row in data.Tables[0].Rows) { string Condicion = Convert.ToString(row["Validacion"]); string Titulo = Convert.ToString(row["Titulo"]); string Mensaje = Convert.ToString(row["Mensaje"]); if (!Evaluator.EvaluateToBool(Condicion, Sender, false)) //Pasa false si la compilación da como resultado un error { IsValid = false; _errores.Add(new ItemDatasetError(Titulo, ProcessName, Mensaje)); } } } return(IsValid); }
public static void Clear() { ValidationsCache.Clear(); }