Exemple #1
0
 public void SendSuggestionNotif(List <RouteSuggest> notifSendingSuggests)
 {
     using (var dataModel = new MibarimEntities())
     {
         var selfrequestId = notifSendingSuggests.FirstOrDefault().SelfRouteRequestId;
         var selfUser      =
             dataModel.RouteRequests.FirstOrDefault(
                 x => x.RouteRequestId == selfrequestId);
         var gtoken =
             dataModel.GoogleTokens.Where(x => x.GtokenUserId == selfUser.RouteRequestUserId)
             .OrderByDescending(x => x.GtokenCreateTime).ToList();
         if (gtoken.Count > 0)
         {
             _gService.SendNotification(gtoken.FirstOrDefault().GtokenKey, NotificationType.SuggestRoute.ToString());
             _logmanager.Log("notifLog", "notifLog", gtoken.FirstOrDefault().GtokenKey + ";;" + selfUser.RouteRequestUserId);
         }
         var suggestRouteIds = notifSendingSuggests.Select(x => x.SuggestRouteRequestId);
         var otherUsers      =
             dataModel.RouteRequests.Where(x => suggestRouteIds.Contains(x.RouteRequestId)).GroupBy(x => x.RouteRequestUserId);
         foreach (var otherUser in otherUsers)
         {
             gtoken =
                 dataModel.GoogleTokens.Where(x => x.GtokenUserId == otherUser.Key)
                 .OrderByDescending(x => x.GtokenCreateTime).ToList();
             if (gtoken.Count > 0)
             {
                 _gService.SendNotification(gtoken.FirstOrDefault().GtokenKey, NotificationType.SuggestRoute.ToString());
                 _logmanager.Log("notifotherLog", "notifotherLog", gtoken.FirstOrDefault().GtokenKey + ";;" + otherUser.Key);
             }
         }
         gtoken =
             dataModel.GoogleTokens.Where(x => x.GtokenUserId == 1)
             .OrderByDescending(x => x.GtokenCreateTime).ToList();
         if (gtoken.Count > 0)
         {
             _gService.SendNotification(gtoken.FirstOrDefault().GtokenKey, NotificationType.SuggestRoute.ToString());
         }
     }
 }