public void SetValidator(string value, Control control, Controls controls, Guid formId) { var controls1 = new Controls(); if (!string.IsNullOrEmpty(value)) { controls1.AddRange(Extentions.DeSerialize(Utils.ConvertHtmlToString(StringUtils.Decrypt(value).Decompress()))); } var enumerable = controls1.Where(x => ((ValidatorControl)x).ControlToValidate == control.Id); var allvalidations = controls.GetValidations(); foreach (ValidatorControl validator in enumerable) { var firstOrDefault = controls.FindControl(validator.Id); if (firstOrDefault != null) { controls.Remove(firstOrDefault); validator.Order = control.Order; controls.Add(validator); } } var validators = allvalidations.FindValidationControls(control.Id); foreach (ValidatorControl validatorControl in validators) { var firstOrDefault = controls1.FindControl(validatorControl.Id); if (firstOrDefault == null) { controls.Remove(validatorControl); } } var validatorlist = controls1.Where(x => ((ValidatorControl)x).ControlToValidate == String.Empty); foreach (ValidatorControl validator in validatorlist) { SetValidatorIdAndName(allvalidations, validator, formId); validator.ControlToValidate = control.Id; validator.Order = control.Order; controls.Add(validator); } }
private static void WriteControlInDictiononary(ref Dictionary <Object, string> dictionary, Control control, Controls controls) { var stringWriter = new StringWriter(); var writer = new Html32TextWriter(stringWriter); control.Writer = writer; control.FormState = FormState.DesgineMode; var info = control.GetType().GetProperties().FirstOrDefault(x => x.PropertyType == typeof(List <ValidatorControl>)); if (info != null) { var validator = controls.FindValidationControls(control.Id); info.SetValue(control, validator, null); } control.Generate(); dictionary.Add(control, stringWriter.ToString()); }