public List<IToDoItem> GetTodoList(int userId)
        {
            var binding = new BasicHttpBinding(BasicHttpSecurityMode.None);
            binding.Name = bindName;
            binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
            var endP = new EndpointAddress(uri);
            List<IToDoItem> exList = new List<IToDoItem>(0);

            if (runApp)
            {
                runApp = false;
                using (var client = new Remote.ToDoManagerClient(binding, endP))
                {
                    var list = client.GetTodoList(userId);
                    foreach (var l in list)
                    {
                        exList.Add(new ToDoItem() { Name = l.Name, IsCompleted = l.IsCompleted, ToDoId = l.ToDoId, UserId = l.UserId });
                    }
                }
                WriteItemsToFile(exList);
            }
            else
            {
                //exList = ReadItemsFromFile();
                asyncReadToDoItem(userId);
            }

            return exList;
        }
        public void CreateToDoItem(IToDoItem todo)
        {
            var binding = new BasicHttpBinding(BasicHttpSecurityMode.None);
            binding.Name = bindName;
            binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
            var endP = new EndpointAddress(uri);

            List<IToDoItem> exList = new List<IToDoItem>(0);
            using (var client = new Remote.ToDoManagerClient(binding, endP))
            {                
            }
        }
        public int CreateUser(string name)
        {
            var binding = new BasicHttpBinding(BasicHttpSecurityMode.None);
            binding.Name = bindName;
            binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
            var endP = new EndpointAddress(uri);

            List<IToDoItem> exList = new List<IToDoItem>(0);
            int Id;
            using (var client = new Remote.ToDoManagerClient(binding, endP))
            {
                Id = client.CreateUser(name);
            }
            return Id;
        }
        private async void asyncWriteToDoItem(Remote.ToDoItem item)
        {
            var binding = new BasicHttpBinding(BasicHttpSecurityMode.None);
            binding.Name = bindName;
            binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
            var endP = new EndpointAddress(uri);
            List<IToDoItem> exList = new List<IToDoItem>(0);

            using (var client = new Remote.ToDoManagerClient(binding, endP))
            {
                await client.CreateToDoItemAsync(item);
            }
        }
        private async void asyncReadToDoItem(int userId)
        {
            var binding = new BasicHttpBinding(BasicHttpSecurityMode.None);
            binding.Name = bindName;
            binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
            var endP = new EndpointAddress(uri);
            List<IToDoItem> exList = new List<IToDoItem>(0);

            using (var client = new Remote.ToDoManagerClient(binding, endP))
            {
                var list = await client.GetTodoListAsync(userId);
                foreach (var l in list)
                {
                    exList.Add(new ToDoItem() { Name = l.Name, IsCompleted = l.IsCompleted, ToDoId = l.ToDoId, UserId = l.UserId });
                }
            }
            WriteItemsToFile(exList);
        }