diff --git a/BCS.BMC/src/BCS.BMC.Web.Mvc/Controllers/NotificationController.cs b/BCS.BMC/src/BCS.BMC.Web.Mvc/Controllers/NotificationController.cs index d0fd6fb..4650eff 100644 --- a/BCS.BMC/src/BCS.BMC.Web.Mvc/Controllers/NotificationController.cs +++ b/BCS.BMC/src/BCS.BMC.Web.Mvc/Controllers/NotificationController.cs @@ -40,7 +40,7 @@ namespace BCS.BMC.Web.Controllers IRepository firebaseToken) { _notificationService = notificationService; - _firebaseCloudMessageDetails = firebaseCloudMessageDetails; + _firebaseCloudMessageDetails = firebaseCloudMessageDetails; _firebaseToken = firebaseToken; } @@ -58,52 +58,35 @@ namespace BCS.BMC.Web.Controllers } [HttpPost] - public async Task GetNotifications([FromBody]NotificationModel notification) + public async Task GetNotifications([FromBody] NotificationModel notification) { - string path = AppDomain.CurrentDomain.BaseDirectory + @"firechat-57601-firebase-adminsdk-anscp-e04366c4d4.json"; - Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", path); + string path = AppDomain.CurrentDomain.BaseDirectory + @"firechat-57601-firebase-adminsdk-anscp-e04366c4d4.json"; + Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", path); try - { + { FirestoreDb db = FirestoreDb.Create("firechat-57601"); FireStoreNotificationModel data = new FireStoreNotificationModel(); data.FcmToken = notification.FcmToken; - // data.Id = notification.Id; + // data.Id = notification.Id; data.Message = notification.Message; - //data.MessageSentDateTime = notification.MessageSentDateTime; - data.MessageSentDateTime = DateTime.UtcNow; + data.MessageSentDateTime = notification.MessageSentDateTime; + //data.MessageSentDateTime = DateTime.UtcNow; data.SenderImageurl = notification.SenderImageurl; data.SenderName = notification.SenderName; - data.Status= notification.Status; + data.Status = notification.Status; data.UserId = notification.UserId; - + await db.Collection("BMC_Notification").Document().SetAsync(data); + + int userId = 0; + List tokenList = new List(); foreach (var item in notification.UserId) { - int userId = Convert.ToInt32(item); - var getTokenDetails = _firebaseToken.GetAllList().Where(x => x.UserId == userId).FirstOrDefault(); - List tokenList = new List(); + userId = Convert.ToInt32(item); + var getTokenDetails = _firebaseToken.GetAllList().Where(x => x.UserId == userId).FirstOrDefault(); tokenList.Add(getTokenDetails.FcmToken.ToString()); - await db.Collection("BMC_Notification").Document().SetAsync(data); - if (getTokenDetails != null) - { - var title = notification.SenderName.ToJsonString(); - var body = notification.Message.ToJsonString(); - var sendNotificationInfo = new FireBaseResponseModel(); - { - sendNotificationInfo.FcmToken = tokenList; - } - - Notification notifications = new Notification - { - Title = title, - Body = body, - //ImageUrl = null - }; - sendNotificationInfo.notification = notifications; - await SendNotification(sendNotificationInfo); - } var entity = new FirebaseCloudMessageDetails(); entity.UserId = userId; entity.SenderImageurl = notification.SenderImageurl; @@ -117,10 +100,23 @@ namespace BCS.BMC.Web.Controllers await _firebaseCloudMessageDetails.InsertAndGetIdAsync(entity); } } + var title = notification.SenderName.ToJsonString(); + var body = notification.Message.ToJsonString(); + var sendNotificationInfo = new FireBaseResponseModel(); + { + sendNotificationInfo.FcmToken = tokenList; + } - + Notification notifications = new Notification + { + Title = title, + Body = body, + //ImageUrl = null + }; + sendNotificationInfo.notification = notifications; + await SendNotification(sendNotificationInfo); } - catch(Exception ex) + catch (Exception ex) { }