using System.Diagnostics;

namespace DistinctChar
{
    public class DistinctChars
    {
        string str1;
        string str2;

        public DistinctChars ()
        {
            var traceListener = new TextWriterTraceListener("log_trace.txt");
            Trace.Listeners.Add(traceListener);
            var traceConsWriter = new TextWriterTraceListener(Console.Out);
            Trace.Listeners.Add(traceConsWriter);
            Trace.AutoFlush = true;
            Debug.AutoFlush = true;
        }

        public string Str1
        {
            set 
            { 
                str1 = value; 
                Trace.WriteLine("T Была введена строка: " + str1);
                Debug.WriteLine("D Была введена строка: " + str1);
            }
            get
            {
                return str1;
            }
        }

        public string Str2
        {
            set 
            { 
                str2 = value;
                Trace.WriteLine("T Была введена строка: " + str2);
                Debug.WriteLine("D Была введена строка: " + str2);
            }
            get 
            { 
                return str2; 
            }
        }

        public string GetDistinctStr()
        {
            string splitStr = $"{str1}{str2}";
            List<char> distinctChar = new List<char>();
            List<char> splitStrList = new List<char>(splitStr);
            distinctChar = splitStrList.Distinct().ToList();
            string distinctCharStr = "";
            Trace.WriteLine("T строка: " + str2);
            Debug.WriteLine("D Была введена строка: " + str2);
            for (int i = 0; i < distinctChar.Count - 1; i++)
            {
                distinctCharStr += distinctChar[i];
                Trace.WriteLine("T Я добавил символ " + distinctChar[i]);
                Debug.WriteLine("D Я добавил символ " + distinctChar[i]);
            }
            return distinctCharStr;
        }
    }
}