public List<MyMessage> GetMessages(string currLat, string currLon, int userId, int skipNum, int takeNum, int isMine, List<int> lstCatID, int sotyBy, int timeZone = 0, int uptoMeters = -1, int regionId = 0) { PostAroundMeDataSet.GetAllMessagesDataTable dtResult = new PostAroundMeDataSet.GetAllMessagesDataTable(); if (System.Web.HttpRuntime.Cache["Messages"] == null) { GetAllMessagesTableAdapter messagesAdapter = new GetAllMessagesTableAdapter(); dtResult = messagesAdapter.GetAllMessage(); System.Web.HttpRuntime.Cache.Insert("Messages", dtResult, null, System.Web.Caching.Cache.NoAbsoluteExpiration, TimeSpan.FromMinutes(10)); } else { dtResult = System.Web.HttpRuntime.Cache["Messages"] as PostAroundMeDataSet.GetAllMessagesDataTable; } List<MyMessage> lstResult = new List<MyMessage>(); lstResult = MessagesTranslator(dtResult, currLat, currLon, regionId, timeZone, userId); List<MyMessage> filteredResults = lstResult; if (uptoMeters >= 0) { filteredResults = (from a in filteredResults where a.Distance < uptoMeters select a).ToList(); } if (isMine == 1) { // if isMine is flagged - show only my messages and ignore all other parameters. filteredResults = filteredResults.Where(m => m.Mine == true).ToList(); } else { // filter by category if (lstCatID != null && lstCatID.Count > 0) { filteredResults = filteredResults.Where(m => lstCatID.Contains(m.catID)).ToList(); } //sort by distance if (sotyBy == (int)EnumSortBy.Distance) filteredResults = filteredResults.OrderBy(m => m.Distance).ToList(); else if (sotyBy == (int)EnumSortBy.Popularity) filteredResults = filteredResults.OrderByDescending(m => m.totalShares).ToList(); } filteredResults = filteredResults.Skip(skipNum).Take(takeNum).ToList(); return filteredResults; }
public List<MyMessage> GetMessagesByUserId(int userId, string currLat, string currLon, int regionId, int timeZone) { GetAllMessagesTableAdapter messagesAdapter = new GetAllMessagesTableAdapter(); PostAroundMeDataSet.GetAllMessagesDataTable dtResult = messagesAdapter.GetMessageByUserID(userId); List<MyMessage> lstResult = new List<MyMessage>(); lstResult = MessagesTranslator(dtResult, currLat, currLon, regionId, timeZone, userId); return lstResult; }
public MyMessage GetMessageById(int msgId, string currLat, string currLon, int regionId, int timeZone, int userId) { GetAllMessagesTableAdapter messagesAdapter = new GetAllMessagesTableAdapter(); PostAroundMeDataSet.GetAllMessagesDataTable dtResult = messagesAdapter.GetMessageByID(msgId); MyMessage msg = null; PostAroundMeDataSet.GetAllMessagesRow dr = dtResult.FirstOrDefault(); if (dr != null) { msg = new MyMessage(); msg = MessageTranslator(dr, currLat, currLon, regionId, timeZone, userId); } return msg; }