Esempio n. 1
0
    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;
    }
Esempio n. 2
0
    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;
    }
Esempio n. 3
0
    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;
    }