public ActionResult Insert(VMNotificacion model) { var result = new Resultado(); try { if (string.IsNullOrEmpty(model.Notificacion.Titulo)) { return(View(model)); } var paginateParams = new PaginateParams { IsPaginate = false, PageIndex = 0, RowsPerPage = 0, SortColumn = "", SortDirection = "" }; Usuario _Filtro = new Usuario { CategoriaId = model.Usuario.CategoriaId, EspecialidadId = model.Usuario.EspecialidadId, Filtro = !string.IsNullOrEmpty(model.Usuario.Filtro)? model.Usuario.Filtro : "" }; List <Usuario> listaUsuarios = _NotificacionService.List_Notificacion_Paginate(paginateParams, _Filtro); List <String> listDevice = new List <String>(); foreach (var item in listaUsuarios.Where(x => x.DeviceToken != "")) { listDevice.Add(item.DeviceToken); } List <String> listEmail = new List <String>(); foreach (var item in listaUsuarios.Where(x => x.CorreoElectronico != "")) { listEmail.Add(item.CorreoElectronico); } if (model.Notificacion.EnviarEmail == 1) { try { var emailLogic = new EmailLogic(); emailLogic.SendNotificaion(listEmail, model.Notificacion.Titulo, model.Notificacion.Subtitulo); PostMessage(MessageType.Success, "Correo Electronico enviado satisfactoriamente"); } catch (Exception ex) { PostMessage(MessageType.Info, "No se pudo realizar el envio de los correos."); } } if (model.Notificacion.EnviarCelular == 1) { var fireBaseNotification = new FirebaseLogic(); var response2 = fireBaseNotification.EnviarNotificacionMBG(listDevice, model.Notificacion.Titulo, model.Notificacion.Subtitulo, String.Empty, String.Empty); // var response2 = fireBaseNotification.SendNotification(listDevice, model.Notificacion.Titulo, model.Notificacion.Subtitulo, String.Empty, String.Empty); PostMessage(MessageType.Success, "Se enviaron notificaciones a " + response2.success + " usuarios."); } var Resultado = _NotificacionService.Insert(model.Notificacion); result.Codigo = Resultado.IDNotificacion; } catch (System.Exception ex) { result.EsExito = false; result.Mensaje = ex.Message; return(View()); } return(Json(result)); }