using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Data;
using System.Text.RegularExpressions;
using Telerik.Windows.Data;

namespace CustomFilterEditor
{
        public class GuidConverter : IValueConverter
        {
            public object Convert(object value, Type targetType,
               object parameter, System.Globalization.CultureInfo culture)
            {
                if (value == FilterDescriptor.UnsetValue)
                {
                    return string.Empty;
                }

                return value.ToString();
                                
                
            }

            public object ConvertBack(object value, Type targetType,
                  object parameter, System.Globalization.CultureInfo culture)
            {
                if (value == string.Empty)
                    return value;

                if (!Regex.IsMatch(value.ToString(), @"^[a-f0-9]{8}(-[a-f0-9]{4}){3}-[a-f0-9]{12}$"))
                {
                    MessageBox.Show("Please enter a valid guid");
                    return value;
                }

                return new Guid(value.ToString());
                
            }

        }
}
