public JsonResult Editnews(NewsViewModel newsViewModel) { try { var token = _tokenValidator.Validate(HttpContext); if (!token.Success) { return(Json(new ReturnData <string> { Success = false, NotAuthenticated = true, Message = $"Unauthorized:-{token.Message}", })); } if (token.Role == Role.Student || token.Role == Role.Applicant) { return(Json(new ReturnData <string> { Success = false, NotAuthenticated = true, Message = "Sorry, you are not authorized to perform this action", })); } var news = _context.PortalNews.FirstOrDefault(p => p.Id == newsViewModel.Id); if (news == null) { return(Json(new ReturnData <string> { Success = false, Message = "Could not find the news" })); } news.NewsBody = newsViewModel.NewsBody; news.ExpiryDate = newsViewModel.ExpiryDate; news.NewsStatus = newsViewModel.NewsStatus; news.NewsTitle = newsViewModel.NewsTitle; news.PortalNewsTypeId = newsViewModel.PortalNewsTypeId; news.TargetAudience = newsViewModel.TargetAudience; news.TargetGroups = newsViewModel.TargetGroups; _context.Update(news); _context.SaveChanges(); return(Json(new ReturnData <string> { Success = true, Message = "Successful" })); } catch (Exception ex) { return(Json(new ReturnData <string> { Success = false, Message = "An error occurred,please retry : " + ex.Message })); } }
public JsonResult EditEventsType(PortalEventTypes portalEventTypes) { try { var token = _tokenValidator.Validate(HttpContext); if (!token.Success) { return(Json(new ReturnData <string> { Success = false, NotAuthenticated = true, Message = $"Unauthorized:-{token.Message}", })); } if (token.Role != Role.Admin) { return(Json(new ReturnData <string> { Success = false, NotAuthenticated = true, Message = "Sorry, you are not authorized to access this page", })); } var eventTypes = _context.PortalEventTypes.FirstOrDefault(t => t.Id == portalEventTypes.Id); if (eventTypes == null) { return(Json(new ReturnData <string> { Success = false, Message = "Could not find event type" })); } eventTypes.EventTypeName = portalEventTypes.EventTypeName; _context.Update(eventTypes); _context.SaveChanges(); return(Json(new ReturnData <string> { Success = true, Message = "Event updated successfully" })); } catch (Exception ex) { return(Json(new ReturnData <string> { Success = false, Message = "Server Error, Please try again", Error = new Error(ex) })); } }
public JsonResult EditUserGroup(UserGroupViewModel request, string groupName) { try { var token = _tokenValidator.Validate(HttpContext); if (!token.Success) { return(Json(new ReturnData <string> { Success = false, NotAuthenticated = true, Message = $"Unauthorized:-{token.Message}", })); } if (token.Role != Role.Admin) { return(Json(new ReturnData <string> { Success = false, NotAuthenticated = true, Message = "Sorry, you are not authorized to perform this action", })); } var userGroup = _context.UserGroups.FirstOrDefault(g => g.GroupName == groupName); if (userGroup == null) { return(Json(new ReturnData <string> { Success = false, Message = "Could not find the usergroup" })); } userGroup.GroupName = request.GroupName; userGroup.Role = request.Role; userGroup.IsDefault = request.IsDefault; userGroup.Status = request.Status; userGroup.AllowedPrivileges = request.Privileges; _context.Update(userGroup); _context.SaveChanges(); return(Json(new ReturnData <string> { Success = true, Message = "Group updated successfully" })); } catch (Exception ex) { return(Json(new ReturnData <string> { Success = false, Message = "An error occurred,please retry : " + ex.Message, Error = new Error(ex) })); } }
public JsonResult EditUserGroupPrivilege(UserGroupPrivilegeViewModel request) { try { var token = _tokenValidator.Validate(HttpContext); if (!token.Success) { return(Json(new ReturnData <string> { Success = false, NotAuthenticated = true, Message = $"Unauthorized:-{token.Message}", })); } var privileges = _context.UserGroupPrivileges.FirstOrDefault(p => p.Id == request.Id); if (privileges == null) { return(Json(new ReturnData <string> { Success = false, Message = "Could not find the privilege" })); } privileges.Action = request.Action; privileges.PrivilegeName = request.PrivilegeName; privileges.Role = request.Role; _context.Update(privileges); _context.SaveChanges(); return(Json(new ReturnData <string> { Success = true, Message = "Successful" })); } catch (Exception ex) { return(Json(new ReturnData <string> { Success = false, Message = "Server Error, Please try again", Error = new Error(ex) })); } }
public JsonResult ResetPassword(RegisterViewModel request) { request.Password = request.Password ?? ""; var requiredFields = new List <Tuple <string, string, DataType> > { Tuple.Create("username", request.RegNumber, DataType.Default), }; var validUserInputs = _validateService.Validate(requiredFields); if (!validUserInputs.Valid) { return(Json(new ReturnData <string> { Message = validUserInputs.Errors, Success = validUserInputs.Valid })); } try { var registeredUser = _context.Users.FirstOrDefault(u => (u.UserName.ToUpper().Equals(request.RegNumber.ToUpper())) || (u.Code.ToString() == request.RegNumber) || (u.Id.ToString() == request.RegNumber)); if (registeredUser == null) { return(Json(new ReturnData <string> { Success = false, Message = "Username not found" })); } if (string.IsNullOrEmpty(registeredUser.UserName)) { return(Json(new ReturnData <string> { Success = false, Message = "Username not found" })); } registeredUser.PasswordHash = registeredUser.PasswordHash ?? ""; var hashedNewPassword = SecurePasswordHasher.Hash(request.Password); if (hashedNewPassword.ToUpper().Equals(registeredUser.PasswordHash.ToUpper())) { return(Json(new ReturnData <string> { Success = false, Message = "Kindly use a different password from the previous" })); } var userResetPassword = new UserResetPassword(); if ((request.Role == Role.Admin) || (request.Role == Role.All)) { userResetPassword = _context.UserResetPasswords.FirstOrDefault(u => u.UserId == registeredUser.Id && u.Status == false); registeredUser.PasswordHash = SecurePasswordHasher.Hash(request.Password); registeredUser.EmailConfirmed = true; registeredUser.Status = true; if (userResetPassword != null) { userResetPassword.Status = true; _context.Update(userResetPassword); } _context.Update(registeredUser); _context.SaveChanges(); return(Json(new ReturnData <string> { Success = true, Message = "Password reset successful" })); } userResetPassword = new UserResetPassword { UserId = registeredUser.Id, ResetCode = Guid.NewGuid().ToString(), DateCreated = DateTime.Now, Status = false }; var success = false; var userGroup = _context.UserGroups.FirstOrDefault(u => u.Id == registeredUser.UserGroupsId); mailMethod = MailSendMethod.PasswordReset; var subject = "Reset Account Password"; if (userGroup?.Role == Role.Student) { var classStatus = _context.Settings.FirstOrDefault()?.ClassStatus; var result = _unisolApiProxy.CheckStudentExists(request.RegNumber, classStatus).Result; var jdata = new ProcessJsonReturnResults <UserDetails>(result).UnisolApiData; var emailContent = new MailsViewModel { UserCode = request.RegNumber, Firstname = jdata.Data.Names, Code = userResetPassword.ResetCode, Email = registeredUser.Email, MailMethod = mailMethod, PortalUrl = request.PortalUrl, Subject = subject }; success = emailSender.SendEmail(emailContent); } if (userGroup?.Role == Role.Staff) { var result = _unisolApiProxy.CheckEmployeeExists(request.RegNumber).Result; var jdata = JsonConvert.DeserializeObject <ReturnData <HrpEmployee> >(result); var emailContent = new MailsViewModel { UserCode = request.RegNumber, Firstname = jdata.Data.Names, PortalUrl = request.PortalUrl, Code = userResetPassword.ResetCode, Email = registeredUser.Email, MailMethod = mailMethod, Subject = subject }; success = emailSender.SendEmail(emailContent); } if (success) { registeredUser.Code = userResetPassword.ResetCode; _context.SaveChanges(); var email = registeredUser.Email.Split('@'); return(Json(new ReturnData <bool> { Success = true, Message = $"We have sent a link to reset your password, please check your email ({email[0].Substring(0, 1)}*****{email[0].Substring(email[0].Length - 2)}@{email[1]})." })); } return(Json(new ReturnData <bool> { Success = false, Message = "There was a problem while trying reset your password, please contact admin" })); } catch (Exception ex) { return(Json(new ReturnData <string> { Success = false, Message = "Something went wrong, please try again after sometime.", Error = new Error(ex) })); } }