public async Task <IActionResult> Post([FromBody] PushNotificationModel model) { _logger.LogDebug("Post Called!!!"); var email = this.User.Claims.FirstOrDefault(p => p.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress")?.Value; if (email == null) { email = this.User.Claims.FirstOrDefault(p => p.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier")?.Value; } var pushmessage = new PushNotificationPayloadModel { Title = "Push Notification registered", Email = email, Message = "Welcome" }; List <Task> tasks = new List <Task>(); var task1 = _pushNotificationService.NewUserAsync(email, model); var task2 = _pushNotificationService.PushNotification(model, pushmessage); tasks.Add(task1); tasks.Add(task2); Task.WaitAll(tasks.ToArray()); return(Created("", null)); }
public async Task PushNotification(PushNotificationModel model, PushNotificationPayloadModel payloadmodel) { string payload = payloadToString(payloadmodel); _logger.LogDebug(payload); await NofityUser(model, payload); }
private static string payloadToString(PushNotificationPayloadModel payloadmodel) { DefaultContractResolver contractResolver = new DefaultContractResolver { NamingStrategy = new CamelCaseNamingStrategy() }; var payload = JsonConvert.SerializeObject(payloadmodel, new JsonSerializerSettings { ContractResolver = contractResolver, Formatting = Formatting.Indented } ); return(payload); }