private NotificationSelectListsModel LoadAcademicGrades(NotificationRegisterModel model, NotificationSelectListsModel toReturn) { var list = new List <SelectListItem> { new SelectListItem { Value = "-1", Text = "N/A" } }; var user = _userRepository.GetById(Convert.ToInt64(_sessionManagement.GetUserLoggedId())); var items = GetGradesByRole(user.Role.Name, user).ToList(); toReturn.Grades = new SelectList(items, "Id", "Name"); if (items.Any()) { var first = items.First(); List <AcademicGrade> sList = GetSectionByRole(first.Id, user); toReturn.AcademicGrades = new SelectList(sList , "Id", "Section"); } else { toReturn.AcademicGrades = new SelectList(list, "Value", "Text"); } return(toReturn); }
public JsonResult LoadFromList1(NotificationRegisterModel registerModel) { var list = new List <SelectListItem> { new SelectListItem { Value = "-1", Text = "N/A" } }; var selectListsModel = new NotificationSelectListsModel { EducationLevels = new SelectList(list, "Value", "Text"), Grades = new SelectList(list, "Value", "Text"), AcademicGrades = new SelectList(list, "Value", "Text"), AcademicCourses = new SelectList(list, "Value", "Text"), Personals = new SelectList(list, "Value", "Text") }; var dict = new Dictionary <NotificationType, Func <NotificationRegisterModel, NotificationSelectListsModel, NotificationSelectListsModel> > { { NotificationType.Section, LoadAcademicGradesFromList1 }, { NotificationType.Course, LoadAcademicCoursesFromList1 }, { NotificationType.Student, LoadStudentsFromList1 } }; selectListsModel = dict[registerModel.NotificationType](registerModel, selectListsModel); return(Json(selectListsModel, JsonRequestBehavior.AllowGet)); }
public ActionResult Add(NotificationRegisterModel eventNotification) { eventNotification.NotificationCreator = _userRepository.GetById(Convert.ToInt64(_sessionManagement.GetUserLoggedId())).UserOwner.Id; eventNotification.AcademicYear = _academicYearRepository.GetCurrentAcademicYear().Id; var notificationIdentity = Mapper.Map <Notification>(eventNotification); var approved = _sessionManagement.GetUserLoggedRole().Equals("Administrador"); notificationIdentity.Approved = approved; notificationIdentity.PeopleDirectedTo = GetDestinationName(notificationIdentity); notificationIdentity = _notificationRepository.Create(notificationIdentity); var users = _userRepository.Filter(x => x.Role.Name == "Administrador"); if (!approved) { foreach (var user in users) { MailgunEmailService.SendEmailToUser(user, MessageService.ApproveMessage()); } } _notificationHandlerService.SendAllPending(); const string title = "Notificación Agregada"; var content = "La notificacion " + notificationIdentity.Title + " ha sido agregada exitosamente."; _viewMessageLogic.SetNewMessage(title, content, ViewMessageType.SuccessMessage); return(RedirectToAction("Index")); }
public ActionResult Add() { var notification = new NotificationRegisterModel(); var items = ((NotificationType[])Enum.GetValues(typeof(NotificationType))).Select(c => new SelectListItem { Text = c.GetEnumDescription(), Value = c.ToString("D") }).ToList(); var user = _userRepository.GetById(Convert.ToInt64(_sessionManagement.GetUserLoggedId())); var roleName = user.Role.Name; items = items.FindAll(x => x.Text != "Personal"); if (roleName.Equals("Director")) { items = items.FindAll(x => x.Text != "General"); } else if (roleName.Equals("Maestro")) { items = items.FindAll(x => x.Text != "General" && x.Text != "Nivel de Educación"); } ViewBag.NotificationTypes = new List <SelectListItem>(items); var list = new List <SelectListItem> { new SelectListItem { Value = "-1", Text = "N/A" } }; ViewBag.List1 = new List <SelectListItem>(list); ViewBag.List2 = new List <SelectListItem>(list); ViewBag.DestinationList = new List <SelectListItem>(list); return(View("Add", notification)); }
/// <summary> /// Push Notification registration example's main logic. /// Doesn't support captcha verification. /// </summary> /// <param name="url">Publicapi's URL</param> /// <param name="user">Username</param> /// <param name="password">Password</param> /// <returns>Async task</returns> private async Task InitializeClient(string url, string user, string password) { _debugLabel.Text = "In progress..."; // Saving active URL to preferences var prefsEditor = _prefs.Edit(); prefsEditor.PutString(Constants.PrefsBaseUrl, url); prefsEditor.Commit(); // Resolving cached variables var guid = new Guid(_prefs.GetString(Constants.PrefsDeviceGuid, "Guid is missing")); var token = _prefs.GetString(Constants.PrefsFcmToken, "Token is missing"); // Client initialization var settings = new ClientSettings(guid, PlatformType.Android); var client = new MobileClient(settings) { BaseUrl = url }; await client.Authorization(user, password); //Push registration var model = new NotificationRegisterModel { PlatformType = PlatformType.Android, Token = token }; await client.PushNotification_RegisterAsync(model); // Finalizing _debugLabel.Text = "Push notifications successfully registered"; }
private NotificationSelectListsModel LoadEducationLevels(NotificationRegisterModel model, NotificationSelectListsModel toReturn) { var user = _userRepository.GetById(Convert.ToInt64(_sessionManagement.GetUserLoggedId())); var isDirector = user.Role.Name.Equals("Director"); toReturn.EducationLevels = new SelectList(isDirector ? _areaReporsitory.Filter(x => x.Director != null && x.Director.Id == user.Id) : _areaReporsitory.GetAllAreas(), "Id", "Name"); return(toReturn); }
private NotificationSelectListsModel LoadStudentsFromList2(NotificationRegisterModel model, NotificationSelectListsModel toReturn) { var sList = _studentRepository.Filter( x => x.MyGrade.Id == model.Id2).ToList(); toReturn.Personals = new SelectList( sList, "Id", "FullName"); return(toReturn); }
private NotificationSelectListsModel LoadAcademicCoursesFromList2(NotificationRegisterModel model, NotificationSelectListsModel toReturn) { var sList = _academicCourseRepository.Filter( x => x.AcademicGrade.Id == model.Id2).ToList(); toReturn.AcademicCourses = new SelectList( sList, "Id", "Course.Name"); return(toReturn); }
private NotificationSelectListsModel LoadGrades(NotificationRegisterModel model, NotificationSelectListsModel toReturn) { var user = _userRepository.GetById(Convert.ToInt64(_sessionManagement.GetUserLoggedId())); var userRoleName = user.Role.Name; toReturn.Grades = new SelectList(GetGradesByRole(userRoleName, user), "Id", "Name"); return(toReturn); }
private NotificationSelectListsModel LoadAcademicCoursesFromList1(NotificationRegisterModel model, NotificationSelectListsModel toReturn) { var list = new List <SelectListItem> { new SelectListItem { Value = "-1", Text = "N/A" } }; var user = _userRepository.GetById(Convert.ToInt64(_sessionManagement.GetUserLoggedId())); List <AcademicGrade> sList; var roleName = user.Role.Name; if (roleName.Equals("Maestro")) { sList = _academicCourseRepository.Filter( x => x.Teacher != null && x.Teacher.User.Id == user.Id && x.AcademicGrade.Grade.Id == model.Id1) .Select(y => y.AcademicGrade).ToList(); } else { sList = _academicGradeRepository.Filter( x => x.Grade.Id == model.Id1).ToList(); } toReturn.AcademicGrades = new SelectList( sList, "Id", "Section"); if (sList.Any()) { var first2 = sList.First(); List <AcademicCourse> sList2; if (roleName.Equals("Maestro")) { sList2 = _academicCourseRepository .Filter(x => x.AcademicGrade.Id == first2.Id && x.Teacher != null && x.Teacher.User.Id == user.Id) .ToList(); } else { sList2 = _academicCourseRepository.Filter( x => x.AcademicGrade.Id == first2.Id).ToList(); } toReturn.AcademicCourses = new SelectList( sList2, "Id", "Course.Name"); } else { toReturn.AcademicCourses = new SelectList(list, "Value", "Text"); } return(toReturn); }
private NotificationSelectListsModel LoadStudents(NotificationRegisterModel model, NotificationSelectListsModel toReturn) { var list = new List <SelectListItem> { new SelectListItem { Value = "-1", Text = "N/A" } }; var user = _userRepository.GetById(Convert.ToInt64(_sessionManagement.GetUserLoggedId())); var roleName = user.Role.Name; var items = GetGradesByRole(roleName, user).ToList(); toReturn.Grades = new SelectList(items, "Id", "Name"); if (items.Any()) { var first = items.First(); List <AcademicGrade> sList; if (roleName.Equals("Maestro")) { sList = _academicGradeRepository .Filter(x => x.Grade.Id == first.Id && x.SectionTeacher.User.Id == user.Id) .ToList(); sList.AddRange(_academicCourseRepository.Filter(x => x.Teacher != null && x.Teacher.User.Id == user.Id).Select(y => y.AcademicGrade).ToList()); } else { sList = _academicGradeRepository.Filter( x => x.Grade.Id == first.Id).ToList(); } toReturn.AcademicGrades = new SelectList( sList.DistinctBy(x => x.Section), "Id", "Section"); if (sList.Any()) { var first2 = sList.First(); var sList2 = _studentRepository.Filter( x => x.MyGrade.Id == first2.Id).ToList(); toReturn.Personals = new SelectList( sList2, "Id", "FullName"); } else { toReturn.Personals = new SelectList(list, "Value", "Text"); } } else { toReturn.AcademicGrades = new SelectList(list, "Value", "Text"); } return(toReturn); }
public async Task <ActionResult> RegisterNotifyAsync(NotificationRegisterModel model) { if (model == null) { return(BadRequest(model)); } else { var result = await _notificationService.SendNotification(model.DeviceToken); } return(Json(model)); }
public async Task <IHttpActionResult> Register(NotificationRegisterModel model) { var tags = new List <string> { model.Platform }; if (!string.IsNullOrWhiteSpace(model.UserId)) { tags.Add($"user:{model.UserId}"); } Trace.TraceInformation($"Registering notification: {JsonConvert.SerializeObject(model)}"); var result = await _pushNotificationService.Register(model.Platform, model.RegisterId, model.Key, tags); Trace.TraceInformation($"Registration result: {JsonConvert.SerializeObject(result)}"); return(Ok(result.RegistrationId)); }
public Guid AddNotification(NotificationRegisterModel model) { try { var result = new Notifications() { EmailTo = model.EmailTo, PageName = model.PageName, Send = false, SubId1 = model.SubId1, SubId2 = model.SubId2, SubId3 = model.SubId3, Subject = model.Subject, }; unitOfwork.NotificationRepo.Insert(result); unitOfwork.Save(); return(result.Id); } catch (Exception) { throw; } }
private NotificationSelectListsModel LoadAcademicGradesFromList1(NotificationRegisterModel model, NotificationSelectListsModel toReturn) { var user = _userRepository.GetById(Convert.ToInt64(_sessionManagement.GetUserLoggedId())); var roleName = user.Role.Name; List <AcademicGrade> sList; if (roleName.Equals("Maestro")) { sList = _academicGradeRepository.Filter(x => x.SectionTeacher != null && x.SectionTeacher.User.Id == user.Id && x.Grade.Id == model.Id1) .ToList(); } else { sList = _academicGradeRepository.Filter( x => x.Grade.Id == model.Id1).ToList(); } toReturn.AcademicGrades = new SelectList( sList, "Id", "Section"); return(toReturn); }
private NotificationSelectListsModel LoadAcademicCourses(NotificationRegisterModel model, NotificationSelectListsModel toReturn) { var list = new List <SelectListItem> { new SelectListItem { Value = "-1", Text = "N/A" } }; var user = _userRepository.GetById(Convert.ToInt64(_sessionManagement.GetUserLoggedId())); var roleName = user.Role.Name; List <AcademicGrade> academicGrades; if (roleName.Equals("Director")) { academicGrades = GetAcademicGradesByDirectorCourse(user); } else if (roleName.Equals("Maestro")) { academicGrades = GetAcademicGradesByTeacherCourse(user); } else { academicGrades = GetAcademicGradesByAdmin(); } var grades = academicGrades.Select(x => x.Grade).Distinct().ToList(); toReturn.Grades = new SelectList(grades, "Id", "Name"); if (academicGrades.Any()) { var first = grades.First(); var sList = academicGrades.Where(x => x.Grade.Id == first.Id).ToList(); toReturn.AcademicGrades = new SelectList( sList, "Id", "Section"); if (sList.Any()) { List <AcademicCourse> sList2; var first2 = sList.First(); if (roleName.Equals("Maestro")) { sList2 = _academicCourseRepository.Filter( x => x.AcademicGrade.Id == first2.Id && x.Teacher != null && x.Teacher.User.Id == user.Id).ToList(); } else { sList2 = _academicCourseRepository.Filter( x => x.AcademicGrade.Id == first2.Id).ToList(); } toReturn.AcademicCourses = new SelectList( sList2, "Id", "Course.Name"); } else { toReturn.AcademicCourses = new SelectList(list, "Value", "Text"); } } else { toReturn.AcademicGrades = new SelectList(list, "Value", "Text"); } return(toReturn); }