private async Task <MessageReport> SendMessage(WM_Task task, List <string> users) { var result = new MessageReport(false, "error"); try { //Lấy Players var players = await _OS_PlayerService.GetPlayerIdsByUserIds(users); //Gửi var model = new OneSignalrMessage() { Id = "", Title = string.Format("Công việc: {0}", task.Title), Description = string.Format("Công việc mới được giao cho bạn"), UserIds = "", PlayerIds = players.Select(n => n.PlayerId).ToArray(), View = "TaskPage" }; result = await _OS_PlayerService.SendMessage(model); } catch (System.Exception ex) { result = new MessageReport(false, ex.Message); } return(result); }
private async Task <MessageReport> SendMessageComplete(WM_Task task, List <string> users, string userCompleteId) { var result = new MessageReport(false, "error"); try { //Lấy người hoàn thiện var objUser = await _SY_UserService.GetById(userCompleteId); //Lấy Players var players = await _OS_PlayerService.GetPlayerIdsByUserIds(users); //Gửi var model = new OneSignalrMessage() { Id = "", Title = string.Format("Công việc: {0}", task.Title), Description = string.Format("Công việc được check hoàn thành bởi {0}", objUser != null ? objUser.Username : ""), UserIds = "", PlayerIds = players.Select(n => n.PlayerId).ToArray(), View = "TaskPage" }; result = await _OS_PlayerService.SendMessage(model); } catch (System.Exception ex) { result = new MessageReport(false, ex.Message); } return(result); }
public async Task <IActionResult> MessageSubmit(OneSignalrMessage model) { var result = new MessageReport(false, "Có lỗi xảy ra"); try { //Lấy danh sách cần gửi if (string.IsNullOrWhiteSpace(model.UserIds)) { result = new MessageReport(false, "Chưa có người để gửi"); return(Json(result)); } // var k = model.UserIds.Split(',', StringSplitOptions.RemoveEmptyEntries).ToList(); var players = await _OS_PlayerService.GetPlayerIdsByUserIds(k); model.PlayerIds = players.Where(n => n.PlayerId != null).Select(n => n.PlayerId).ToArray(); model.View = "ProjectPage"; // result = await _OS_PlayerService.SendMessage(model); } catch (Exception ex) { result = new MessageReport(false, ex.Message); } return(Json(result)); }
public async Task <IActionResult> SendMessageModal(AJAXModel_Modal model) { // var objProject = await _PM_ProjectService.GetById(model.idrecord); //Lấy danh sách user tham gia dự án var objWork = await _PM_WorkService.GetAllByProjectId(model.idrecord); var userids = objWork.Select(n => n.UserId).Distinct().ToList(); var obj = new OneSignalrMessage() { Description = "", Title = "Nhắc nhở dự án: " + objProject.Title, Id = model.idrecord, PlayerIds = new string[] { }, View = "ProjectPage" }; var cus = new OS_MessageModal() { Data = obj, Data_Modal = model, Select_Users = await Select_User(string.Join(',', userids)) }; return(PartialView(cus)); }
private async Task <MessageReport> SendMessageTask(WM_Task task) { var result = new MessageReport(false, "error"); try { //Lấy danh sách người dùng liên quan tới task + người tạo dự án var users = await GetUserTaskInvolved(task.Id); users.Add(task.UserCreatedId); //Lấy Players var players = await _OS_PlayerService.GetPlayerIdsByUserIds(users); //Gửi var model = new OneSignalrMessage() { Id = "", Title = string.Format("Nhắc nhở công việc: {0}", task.Title), Description = "Công việc sắp đến hạn hoàn thành", UserIds = "", PlayerIds = players.Select(n => n.PlayerId).ToArray(), View = "TaskPage" }; result = await _OS_PlayerService.SendMessage(model); } catch (System.Exception ex) { result = new MessageReport(false, ex.Message); } return(result); }
private async Task <MessageReport> SendMessageProject(PM_Project project, PM_Component component) { var result = new MessageReport(false, "error"); try { //Lấy danh sách người dùng liên quan tới component + người tạo dự án var users = await GetUserInvolved(component.Id); users.Add(project.UserCreatedId); //Lấy Players var players = await _OS_PlayerService.GetPlayerIdsByUserIds(users); //Gửi var model = new OneSignalrMessage() { Id = "", Title = string.Format("Dự án: {0}", project.Title), Description = string.Format("Nhắc nhở hoàn thành Component: {0}", component.Code), UserIds = "", PlayerIds = players.Select(n => n.PlayerId).ToArray(), View = "HomePage" }; result = await _OS_PlayerService.SendMessage(model); } catch (System.Exception ex) { result = new MessageReport(false, ex.Message); } return(result); }
private async Task <MessageReport> SendNotification(SY_Notification model) { var obj = new OneSignalrMessage() { Description = model.Description, Id = model.Id, PlayerIds = new string[] {}, Title = "Thông báo: " + model.Title, UserIds = "", View = OneSignalConfig.NotificationPage }; return(await _OS_PlayerService.SendNotification(obj)); }
public async Task <MessageReport> SendNotification(OneSignalrMessage model) { var result = new MessageReport(false, "Có lỗi xảy ra"); try { using (var client = new HttpClient()) { var url = new Uri("https://onesignal.com/api/v1/notifications"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", OneSignalConfig.APISercetKey); var obj = new { app_id = OneSignalConfig.AppID, headings = new { en = model.Title }, contents = new { en = model.Description }, included_segments = new string[] { "All" }, content_available = true, data = new { View = model.View, ID = "" }, }; var json = JsonConvert.SerializeObject(obj); var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync(url, content); if (response.IsSuccessStatusCode) { result = new MessageReport(true, "Gửi thành công"); } else { result = new MessageReport(false, await response.Content.ReadAsStringAsync()); } } } catch (Exception ex) { result = new MessageReport(false, ex.Message); } return(result); }