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; }