Inheritance: IClientConfiguration
        public IClientConfiguration Post(ClientConfigurationDto conf)
        {
            IClientConfiguration result;
            using (var ctx = new MailModelContainer())
            {
                result = ctx.ImapMailBoxConfigurations.Add(conf.GetMailBoxConfiguration());
                ctx.SaveChanges();
            }

            Task.Factory.StartNew(async () => { await InboxWatcher.ConfigureMailBox(result); });

            return new ClientConfigurationDto(result);
        }
        public IClientConfiguration Put(ClientConfigurationDto conf)
        {
            IClientConfiguration selection;

            using (var ctx = new MailModelContainer())
            {
                selection = ctx.ImapMailBoxConfigurations.Find(conf.Id);
                ctx.Entry(selection).CurrentValues.SetValues(conf);
                ctx.SaveChanges();
            }

            InboxWatcher.MailBoxes.Remove(conf.Id);
            Task.Factory.StartNew(async () => { await InboxWatcher.ConfigureMailBox(conf); });
            return selection;
        }