/// <summary> /// Indicates if the operation is successful or not. /// </summary> /// <param name="status">The operation in context.</param> /// <returns>Indication if the operation is a success or not.</returns> public static bool IsOperationSuccessful(this SystemDbStatus status) { return(status == SystemDbStatus.Selected || status == SystemDbStatus.Inserted || status == SystemDbStatus.Updated || status == SystemDbStatus.Deleted || status == SystemDbStatus.Flushed || status == SystemDbStatus.MetaUpdated || status == SystemDbStatus.NoContent || status == SystemDbStatus.NotModified); }
public async Task<StatusData<string>> UpsertCategoryFriends(CategoryFriends request, SystemDbStatus mode, SystemSession session) { var userCategory = new UserCategory { UserId = session.UserId.ToString(), UserCategoryTypeId = request.CategoryId }; var friends = request.Friends != null && request.Friends.Any() ? String.Join(",", request.Friends) : null; var result = (mode == SystemDbStatus.Inserted ? await Task.Factory.StartNew( () => Client.UserService.insertInCategory(userCategory, friends, session.GetSession())).ConfigureAwait(false) : await Task.Factory.StartNew( () => Client.UserService.removeFromCategory(userCategory, friends, session.GetSession())).ConfigureAwait(false)); return result.GetStatusData<string>(); }
public async Task <SystemDbStatus> DeleteCategory(DeleteCategory request, SystemDbStatus mode) { var categoryIdsObj = new ObjectParameter("USERCATEGORYTYPEIDS", string.Join(",", request.CategoryList)); return((SystemDbStatus)await Task.Factory.StartNew(() => Context.PROC_UPSERT_CATEGORY(request.UserId, (byte?)mode, string.Empty, string.Empty, null, categoryIdsObj).FirstOrDefault().GetValueOrDefault()).ConfigureAwait(false)); }
public Task<StatusData<GeneralKvPair<int, List<long>>>> UpsertRule(RequestBase request, SystemDbStatus dbMode, SystemSession session) { return _jUnitOfWork.Inbox.UpsertRule(request, dbMode, session); }
public Task<StatusData<GeneralKvPair<int, List<long>>>> UpsertInbox(InboxRequest request, int? folderId, SystemDbStatus dbMode, SystemSession session) { return _jUnitOfWork.Inbox.UpsertInbox(request, session); }
public Task<StatusData<string>> UpsertCategoryFriends(CategoryFriends request, SystemDbStatus mode, SystemSession session) { return _jUnitOfWork.Category.UpsertCategoryFriends(request, mode, session); }
public Task<StatusData<string>> DeleteCategory(DeleteCategory request, SystemDbStatus mode, SystemSession session) { return _jUnitOfWork.Category.DeleteCategory(request, session); }
/// <summary> /// Compares current status with given status. /// </summary> /// <param name="currentStatus">Current status.</param> /// <param name="status">Status to compare with.</param> /// <returns>Result as to whether or not both match.</returns> public static bool IsStatusSame(this SystemDbStatus currentStatus, SystemDbStatus status) { return(currentStatus == status); }
public async Task <StatusData <GeneralKvPair <int, List <long> > > > UpsertRule(int userId, RequestBase request, SystemDbStatus dbMode) { var result = new StatusData <GeneralKvPair <int, List <long> > >(); var folderId = 0; var messageRuleId = string.Empty; var ruleString = string.Empty; if (dbMode == SystemDbStatus.Inserted) { var req = request as RuleAddRequest; if (req != null) { folderId = req.FolderId; ruleString = req.Rule.ToString(); } } else { var req = request as RuleUpdateRequest; if (req != null) { messageRuleId = req.MessageRuleId.ToString(); ruleString = req.Rule.ToString(); } } var folderIdObj = new ObjectParameter("FOLDERID", folderId); var messageRuleIdsObj = new ObjectParameter("MESSAGERULEIDS", messageRuleId); // var rules = ruleString.Substring(0, ruleString.Length - 1); result.Status = (SystemDbStatus)await Task.Factory.StartNew(() => Context.PROC_UPSERT_INBOX_RULES(userId, (byte)dbMode, ruleString, folderIdObj, messageRuleIdsObj).FirstOrDefault().GetValueOrDefault()); result.Data = new GeneralKvPair <int, List <long> >(); if (result.Status.IsOperationSuccessful()) { result.Data.Id = Convert.ToInt32(folderIdObj.Value); ruleString = messageRuleIdsObj.Value.ToString(); if (!string.IsNullOrWhiteSpace(ruleString)) { result.Data.Value = (ruleString.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(x => Convert.ToInt64(x))).ToList(); } } return(result); }
public Task <StatusData <string> > UpsertCategoryFriends(CategoryFriends request, SystemDbStatus mode, SystemSession session) { return(_jUnitOfWork.Category.UpsertCategoryFriends(request, mode, session)); }
public Task <StatusData <string> > DeleteCategory(DeleteCategory request, SystemDbStatus mode, SystemSession session) { return(_jUnitOfWork.Category.DeleteCategory(request, session)); }
public Task <StatusData <GeneralKvPair <int, List <long> > > > UpsertRule(RequestBase request, SystemDbStatus dbMode, SystemSession session) { return(_jUnitOfWork.Inbox.UpsertRule(request, dbMode, session)); }
public Task <StatusData <GeneralKvPair <int, List <long> > > > UpsertInbox(InboxRequest request, int?folderId, SystemDbStatus dbMode, SystemSession session) { return(_jUnitOfWork.Inbox.UpsertInbox(request, session)); }
/// <summary> /// Generates system-formatted unique response message for the client. /// </summary> /// <typeparam name="T">The type to return to the client.</typeparam> /// <param name="request">Current request in context.</param> /// <param name="dbStatusCode">Status code as returned from database, if any.</param> /// <param name="data">The payload to be returned of type T.</param> /// <param name="forceIncludeDataOnError">Direction as to whether or not data object be sent with the response even when there is error.</param> /// <param name="message">Message to be returned, if any.</param> /// <param name="subCode">Sub status code further elaborating the status code.</param> /// <returns>System-formatted response message.</returns> public static HttpResponseMessage SystemResponse <T>(this HttpRequestMessage request, SystemDbStatus dbStatusCode, T data = null, bool forceIncludeDataOnError = false, string message = null, int subCode = 0) where T : class { var status = new StatusData <T> { Status = dbStatusCode, Data = data, SubStatus = subCode }; return(request.SystemResponse(status, forceIncludeDataOnError, message)); }
public async Task <SystemDbStatus> UpsertCategory(CategoryFriends request, int categoryId, SystemDbStatus mode) { var friends = request.Friends != null && request.Friends.Any() ? String.Join(",", request.Friends) : null; var result = (SystemDbStatus)await Task.Factory.StartNew(() => Context.PROC_UPSERT_CATEGORY_FRIENDS(request.UserId, (byte?)mode, friends, categoryId).FirstOrDefault().GetValueOrDefault()).ConfigureAwait(false); return(result); }
public async Task <StatusData <GeneralKvPair <int, List <long> > > > UpsertInbox(InboxRequest request, int?folderId, SystemDbStatus dbMode) { var result = new StatusData <GeneralKvPair <int, List <long> > >(); var folderIdObj = new ObjectParameter("FOLDERID", folderId ?? 0); var messageRuleIdsObj = new ObjectParameter("MESSAGERULEIDS", typeof(string)); var rules = string.Empty; if (request.Rule != null && request.Rule.Any()) { var sb = new StringBuilder(); foreach (var rule in request.Rule) { sb.Append(rule).Append("|"); } rules = sb.ToString().Substring(0, sb.Length - 1); } result.Status = (SystemDbStatus)await Task.Factory.StartNew(() => Context.PROC_UPSERT_INBOX(request.UserId, request.Name, rules, (byte)dbMode, folderIdObj, messageRuleIdsObj).FirstOrDefault().GetValueOrDefault()); result.Data = new GeneralKvPair <int, List <long> >(); if (result.Status.IsOperationSuccessful()) { result.Data.Id = Convert.ToInt32(folderIdObj.Value); rules = messageRuleIdsObj.Value.ToString(); if (!string.IsNullOrWhiteSpace(rules)) { result.Data.Value = (rules.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(x => Convert.ToInt64(x))).ToList(); } } return(result); }
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 <string> > UpsertCategoryFriends(CategoryFriends request, SystemDbStatus mode, SystemSession session) { var userCategory = new UserCategory { UserId = session.UserId.ToString(), UserCategoryTypeId = request.CategoryId }; var friends = request.Friends != null && request.Friends.Any() ? String.Join(",", request.Friends) : null; var result = (mode == SystemDbStatus.Inserted ? await Task.Factory.StartNew( () => Client.UserService.insertInCategory(userCategory, friends, session.GetSession())).ConfigureAwait(false) : await Task.Factory.StartNew( () => Client.UserService.removeFromCategory(userCategory, friends, session.GetSession())).ConfigureAwait(false)); return(result.GetStatusData <string>()); }
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); } }