using System; using System.Globalization; using System.Windows.Controls; using System.Net.Mail; namespace Mercat_1 { /// /// Rule for email /// public class EmailValidationRule : ValidationRule { public override ValidationResult Validate(object value, CultureInfo cultureInfo) { ValidationResult result = new ValidationResult(true, null); if (string.IsNullOrEmpty(value.ToString())) { result = new ValidationResult(false, "Email obligatori."); } else { try { new MailAddress(value.ToString()); } catch (Exception) { result = new ValidationResult(false, "Si us plau introdueix un email valid."); } } return result; } } /// /// Rule for num /// public class NumValidationRule : ValidationRule { public int Min { get; set; } public int Max { get; set; } public override ValidationResult Validate(object value, CultureInfo cultureInfo) { var num = 0; ValidationResult result = new ValidationResult(true, null); if (string.IsNullOrEmpty(value.ToString())) { result = new ValidationResult(false, "Quantitat es obligatoria"); } else { try { if (((string)value).Length > 0) num = int.Parse((string)value); } catch (Exception e) { result = new ValidationResult(false, "Caracters no permesos o : " + e.Message); } if ((num < Min) || (num > Max)) { result = new ValidationResult(false, "Introdueix un numero entre: " + Min + " - " + Max + "."); } } return result; } } /// /// Rule for name /// public class NameValidationRule : ValidationRule { public override ValidationResult Validate(object value, CultureInfo cultureInfo) { ValidationResult result = new ValidationResult(true, null); if (string.IsNullOrEmpty(value.ToString())) { result = new ValidationResult(false, "Nom de l'empresa es obligatori."); } return result; } } public class DateValidation : ValidationRule { public override ValidationResult Validate(object value, CultureInfo cultureInfo) { ValidationResult result = new ValidationResult(true, null); if (value is null) { result = new ValidationResult(false, "Data d'entrada obligatoria."); } return result; } } }