public async Task <StatusData <GeneralKvPair <int, List <long> > > > UpsertInbox(InboxRequest request, SystemSession session) { var result = new StatusData <GeneralKvPair <int, List <long> > >(); if (request.Rule != null && request.Rule.Any()) { request.Rule.RemoveAll(x => x.UserSelection == SystemUserSelection.None && x.RuleTypeSubject == SystemRuleTypeSubject.None); } var inboxRequest = new Kauwa.Inbox { UserId = request.UserId, Name = request.Name, FolderId = 0, InboxRules = request.Rule != null && request.Rule.Any() ? request.Rule.Select(x => new InboxRule { TypeUserSelection = (int)x.UserSelection, RuleTypeUser = (int)x.RuleTypeUser, ContactList = x.ContactList, GroupList = x.GroupList, RuleTypeSubject = (int)x.RuleTypeSubject, Subject = x.Subject, ApplyOnOldMessage = x.ApplyOnOldMessage }).ToList() : null }; var response = await Task.Factory.StartNew(() => Client.InboxService.createInboxWithRules(inboxRequest, session.GetSession())).ConfigureAwait(false); result.Status = (SystemDbStatus)response.DbStatusCode; result.Data = new GeneralKvPair <int, List <long> >(); result.Message = response.DbStatusMsg; result.Data = new GeneralKvPair <int, List <long> > { Id = response.FolderId, Value = response.InboxRules != null?response.InboxRules.Select(x => x.RuleId).ToList() : null }; return(result); }
public async Task <StatusData <int> > UpsertInbox(InboxRequest request, int folderId, SystemSession session) { var inboxRequest = new Kauwa.Inbox { UserId = request.UserId, Name = request.Name, FolderId = folderId }; var response = await Task.Factory.StartNew(() => Client.InboxService.updateInboxFolderName(inboxRequest, session.GetSession())).ConfigureAwait(false); var result = response.GetStatusData <int>(); result.Data = folderId; return(result); }
//public async Task<StatusData<long>> DeleteRule(long messageRuleId, SystemSession session) //{ // var ruleRequest = new Kauwa.Inbox { UserId = session.UserId, InboxRules = new List<InboxRule> { new InboxRule { RuleId = messageRuleId } } }; // var response = (await Task.Factory.StartNew(() => Client.InboxRuleService.deleteInboxRules(ruleRequest, session.GetSession())).ConfigureAwait(false)).GetStatusData<long>(); // response.Data = messageRuleId; // return response; //} public async Task <StatusData <long> > DeleteRule(SingleData <GeneralKvPair <long, int> > request, SystemSession session) { var ruleRequest = new Kauwa.Inbox { UserId = session.UserId, FolderId = request.Data.Value, InboxRules = new List <InboxRule> { new InboxRule { RuleId = request.Data.Id } } }; var response = (await Task.Factory.StartNew(() => Client.InboxRuleService.deleteInboxRules(ruleRequest, session.GetSession())).ConfigureAwait(false)).GetStatusData <long>(); response.Data = request.Data.Id; return(response); }
public async Task <StatusData <GeneralKvPair <int, List <long> > > > UpsertRule(RequestBase request, SystemDbStatus dbMode, SystemSession session) { var result = new StatusData <GeneralKvPair <int, List <long> > >(); if (dbMode == SystemDbStatus.Inserted) { var req = request as RuleAddRequest; var ruleRequest = new Kauwa.Inbox { UserId = request.UserId, FolderId = req.FolderId, InboxRules = new List <InboxRule> { new InboxRule { TypeUserSelection = (int)req.Rule.UserSelection, RuleTypeUser = (int)req.Rule.RuleTypeUser, ContactList = req.Rule.ContactList, GroupList = req.Rule.GroupList, RuleTypeSubject = (int)req.Rule.RuleTypeSubject, Subject = req.Rule.Subject, ApplyOnOldMessage = req.Rule.ApplyOnOldMessage } } }; var response = await Task.Factory.StartNew(() => Client.InboxRuleService.createInboxRules(ruleRequest, session.GetSession())).ConfigureAwait(false); result.Status = (SystemDbStatus)response.DbStatusCode; result.Data = new GeneralKvPair <int, List <long> > { Id = response.FolderId, Value = response.InboxRules != null?response.InboxRules.Select(x => x.RuleId).ToList() : null }; result.SubStatus = response.DbSubStatusCode; result.Message = response.DbStatusMsg; return(result); } else { var req = request as RuleUpdateRequest; var ruleRequest = new Kauwa.Inbox { UserId = request.UserId, FolderId = req.FolderId, InboxRules = new List <InboxRule> { new InboxRule { RuleId = req.MessageRuleId, TypeUserSelection = (int)req.Rule.UserSelection, RuleTypeUser = (int)req.Rule.RuleTypeUser, ContactList = req.Rule.ContactList, GroupList = req.Rule.GroupList, RuleTypeSubject = (int)req.Rule.RuleTypeSubject, Subject = req.Rule.Subject, ApplyOnOldMessage = req.Rule.ApplyOnOldMessage } } }; result = (await Task.Factory.StartNew(() => Client.InboxRuleService.updateInboxRules(ruleRequest, session.GetSession())).ConfigureAwait(false)).GetStatusData <GeneralKvPair <int, List <long> > >(); return(result); } }
public async Task<StatusData<GeneralKvPair<int, List<long>>>> UpsertInbox(InboxRequest request, SystemSession session) { var result = new StatusData<GeneralKvPair<int, List<long>>>(); if (request.Rule != null && request.Rule.Any()) request.Rule.RemoveAll(x => x.UserSelection == SystemUserSelection.None && x.RuleTypeSubject == SystemRuleTypeSubject.None); var inboxRequest = new Kauwa.Inbox { UserId = request.UserId, Name = request.Name, FolderId = 0, InboxRules = request.Rule != null && request.Rule.Any() ? request.Rule.Select(x => new InboxRule { TypeUserSelection = (int)x.UserSelection, RuleTypeUser = (int)x.RuleTypeUser, ContactList = x.ContactList, GroupList = x.GroupList, RuleTypeSubject = (int)x.RuleTypeSubject, Subject = x.Subject, ApplyOnOldMessage = x.ApplyOnOldMessage }).ToList() : null }; var response = await Task.Factory.StartNew(() => Client.InboxService.createInboxWithRules(inboxRequest, session.GetSession())).ConfigureAwait(false); result.Status = (SystemDbStatus)response.DbStatusCode; result.Data = new GeneralKvPair<int, List<long>>(); result.Message = response.DbStatusMsg; result.Data = new GeneralKvPair<int, List<long>> { Id = response.FolderId, Value = response.InboxRules != null ? response.InboxRules.Select(x => x.RuleId).ToList() : null }; return result; }
public async Task<StatusData<int>> UpsertInbox(InboxRequest request, int folderId, SystemSession session) { var inboxRequest = new Kauwa.Inbox { UserId = request.UserId, Name = request.Name, FolderId = folderId }; var response = await Task.Factory.StartNew(() => Client.InboxService.updateInboxFolderName(inboxRequest, session.GetSession())).ConfigureAwait(false); var result = response.GetStatusData<int>(); result.Data = folderId; return result; }
//public async Task<StatusData<long>> DeleteRule(long messageRuleId, SystemSession session) //{ // var ruleRequest = new Kauwa.Inbox { UserId = session.UserId, InboxRules = new List<InboxRule> { new InboxRule { RuleId = messageRuleId } } }; // var response = (await Task.Factory.StartNew(() => Client.InboxRuleService.deleteInboxRules(ruleRequest, session.GetSession())).ConfigureAwait(false)).GetStatusData<long>(); // response.Data = messageRuleId; // return response; //} public async Task<StatusData<long>> DeleteRule(SingleData<GeneralKvPair<long, int>> request, SystemSession session) { var ruleRequest = new Kauwa.Inbox { UserId = session.UserId, FolderId = request.Data.Value, InboxRules = new List<InboxRule> { new InboxRule { RuleId = request.Data.Id } } }; var response = (await Task.Factory.StartNew(() => Client.InboxRuleService.deleteInboxRules(ruleRequest, session.GetSession())).ConfigureAwait(false)).GetStatusData<long>(); response.Data = request.Data.Id; return response; }
public async Task<StatusData<GeneralKvPair<int, List<long>>>> UpsertRule(RequestBase request, SystemDbStatus dbMode, SystemSession session) { var result = new StatusData<GeneralKvPair<int, List<long>>>(); if (dbMode == SystemDbStatus.Inserted) { var req = request as RuleAddRequest; var ruleRequest = new Kauwa.Inbox { UserId = request.UserId, FolderId = req.FolderId, InboxRules = new List<InboxRule> { new InboxRule { TypeUserSelection = (int)req.Rule.UserSelection, RuleTypeUser = (int)req.Rule.RuleTypeUser, ContactList = req.Rule.ContactList, GroupList = req.Rule.GroupList, RuleTypeSubject = (int)req.Rule.RuleTypeSubject, Subject = req.Rule.Subject, ApplyOnOldMessage = req.Rule.ApplyOnOldMessage } } }; var response = await Task.Factory.StartNew(() => Client.InboxRuleService.createInboxRules(ruleRequest, session.GetSession())).ConfigureAwait(false); result.Status = (SystemDbStatus)response.DbStatusCode; result.Data = new GeneralKvPair<int, List<long>> { Id = response.FolderId, Value = response.InboxRules != null ? response.InboxRules.Select(x => x.RuleId).ToList() : null }; result.SubStatus = response.DbSubStatusCode; result.Message = response.DbStatusMsg; return result; } else { var req = request as RuleUpdateRequest; var ruleRequest = new Kauwa.Inbox { UserId = request.UserId, FolderId = req.FolderId, InboxRules = new List<InboxRule> { new InboxRule { RuleId = req.MessageRuleId, TypeUserSelection = (int)req.Rule.UserSelection, RuleTypeUser = (int)req.Rule.RuleTypeUser, ContactList = req.Rule.ContactList, GroupList = req.Rule.GroupList, RuleTypeSubject = (int)req.Rule.RuleTypeSubject, Subject = req.Rule.Subject, ApplyOnOldMessage = req.Rule.ApplyOnOldMessage } } }; result = (await Task.Factory.StartNew(() => Client.InboxRuleService.updateInboxRules(ruleRequest, session.GetSession())).ConfigureAwait(false)).GetStatusData<GeneralKvPair<int, List<long>>>(); return result; } }