public User GetUser(DefaultUserManager userManager = null) { if (userManager == null) { userManager = HostConstObject.Container.Resolve <DefaultUserManager>(); } var user = userManager.FindById(Id); if (user == null) { user = new User { UserType = UserType, UserName = UserName, Email = Email, PhoneNumber = PhoneNumber, LockoutEnabled = false, DynamicToken = DynamicToken, MobileDevice = MobileDevice }; } else { user.UserType = UserType; user.UserName = UserName; user.Email = Email; user.PhoneNumber = PhoneNumber; user.DynamicToken = DynamicToken; user.MobileDevice = MobileDevice; } return(user); }
public void HandleEvent(PermissionChangeEventData eventData) { bool isRemoveAll = eventData.UserId == "*"; var permissionCacheKey = DefaultUserManager.getPermissionKey(eventData.UserId); var permissionCache = _cacheManager.GetCache <string, List <PermissionItem> >(); if (isRemoveAll && eventData.ResourceKey == "*") { //TODO according to ResourceKey to remove permissionCache.Remove(); } if (eventData.ResourceKey == "*") { permissionCache.Remove(permissionCacheKey); return; } var userPermissionList = permissionCache.Get(permissionCacheKey, (key) => { return(new List <PermissionItem>() { }); }); userPermissionList.RemoveAll(p => p.ResourceKey == eventData.ResourceKey); permissionCache.Put(permissionCacheKey, userPermissionList); }
public ActionResult AssignTicket(int?ticketId, string userId, bool add) { if (!ticketId.HasValue || string.IsNullOrEmpty(userId) || !ModelState.IsValid) { return(RedirectToAction(nameof(TicketsController.AllTickets))); } else { Ticket ticket = DbContext.Tickets .FirstOrDefault(p => p.Id == ticketId && !p.Project.Archived); ApplicationUser user = DbContext.Users .FirstOrDefault(p => p.Id == userId); if (add) { History history = HistoryService.Create(DefaultUserManager.FindById(User.Identity.GetUserId()), ticket, "Assignee", ticket.AssignedTo == null ? "None" : ticket.AssignedTo.Email, user.Email); NotificationService.Create(ticket, $"Ticket assigned to ${user.Email}"); DbContext.Histories.Add(history); ticket.AssignedTo = user; NotificationService.Create(ticket, $"This Ticket is assigned to you ->> ${ticket.AssignedTo.Email}"); } else { ticket.AssignedTo = null; } DbContext.SaveChanges(); return(RedirectToAction(nameof(UsersController.AllUsersForTickets), "Users")); } }
public UserController(DefaultUserManager userManager, IUserContainer userContainer, ISignals signals) { UserManager = userManager; _signals = signals; _userContainer = userContainer; Logger = NullLogger.Instance; }
public ActionResult DeleteTicket(int?ticketId) { if (!ticketId.HasValue) { return(RedirectToAction(nameof(TicketsController.AllTickets))); } else { string userId = User.Identity.GetUserId(); ApplicationUser user = DefaultUserManager.FindById(userId); Ticket ticket = DbContext.Tickets .FirstOrDefault(p => p.Id == ticketId && !p.Project.Archived); if (User.IsInRole(Admin) || User.IsInRole(ProjectManager)) { DbContext.Tickets.Remove(ticket); DbContext.SaveChanges(); return(RedirectToAction(nameof(TicketsController.AllTickets))); } else if (User.IsInRole(Submitter)) { if (ticket.CreatedBy == user) { DbContext.Tickets.Remove(ticket); DbContext.SaveChanges(); return(RedirectToAction(nameof(TicketsController.AllTickets))); } else { return(RedirectToAction(nameof(TicketsController.AllTickets))); } } else if (User.IsInRole(Developer)) { if (ticket.AssignedTo == user) { DbContext.Tickets.Remove(ticket); DbContext.SaveChanges(); return(RedirectToAction(nameof(TicketsController.AllTickets))); } else { return(RedirectToAction(nameof(TicketsController.AllTickets))); } } else { return(RedirectToAction(nameof(TicketsController.AllTickets))); } } }
public UserService(DefaultUserManager userManager, DefaultRoleManager roleManager, IUserContainer userContainer, ISignals signals) { _userManager = userManager; _roleManager = roleManager; _userContainer = userContainer; _signals = signals; Logger = NullLogger.Instance; }
private void InitializeAuthentication() { var auth = new ApplicationAuthentication(); var context = new ICIdentityDbContext(ConnectionFactory.Create(ConnectionFactory.GetConnectionString(typeof(ICIdentityDbContext).Name))); auth.AddProviders(new AspNetIdentityAuthenticationProvider(DefaultUserManager.Create(new UserStore <IdentityUser>(context)))); GlobalContainer.AddInstance(auth); }
public ActionResult CreateTicket(TicketViewModel model) { string userId = User.Identity.GetUserId(); if (string.IsNullOrEmpty(userId)) { return(View(model)); } else { if (!ModelState.IsValid) { List <Project> projects = DbContext.Projects .Where(p => p.Users.Any(q => q.Id == userId) && !p.Archived) .Select(p => p) .ToList(); SelectList projectList = new SelectList(projects, "Id", "Name"); ViewData["projects"] = projectList; SelectList typeList = new SelectList(DbContext.TicketTypes, "Id", "Name"); ViewData["types"] = typeList; SelectList priorityList = new SelectList(DbContext.TicketPriorities, "Id", "Name"); ViewData["priorities"] = priorityList; return(View(model)); } int projectId = model.ProjectId; int priorityId = Convert.ToInt32(model.PriorityId); int typeId = model.TypeId; Ticket ticket = new Ticket() { Title = model.Title, Description = model.Description, Project = DbContext.Projects.Where(p => p.Id == projectId && !p.Archived).FirstOrDefault(), Priority = DbContext.TicketPriorities.Where(p => p.Id == priorityId).FirstOrDefault(), Type = DbContext.TicketTypes.Where(p => p.Id == typeId).FirstOrDefault(), Status = DbContext.TicketStatuses.Where(p => p.Name == "Open").FirstOrDefault(), CreatedBy = DefaultUserManager.FindById(User.Identity.GetUserId()) }; DbContext.Tickets.Add(ticket); DbContext.SaveChanges(); return(RedirectToAction(nameof(TicketsController.MyTickets))); } }
public SecurityController(IMemberService memberService, DefaultUserManager userManager, IUserContainer userContainer, ISecurityService securityService, ICurrencyService currencyService, ISmsService smsService, ISignals signals, IAccessToken accessToken) { _memberService = memberService; _userManager = userManager; _userContainer = userContainer; _securityService = securityService; _currencyService = currencyService; _smsService = smsService; _signals = signals; _accessToken = accessToken; }
public MemberService(ICurrencyService currencyService, IStorageFileService storageFileService, DefaultUserManager userManager, IUserContainer userContainer, ICacheManager cacheManager, ISignals signals) { _currencyService = currencyService; _storageFileService = storageFileService; _userManager = userManager; _userContainer = userContainer; _cacheManager = cacheManager; _signals = signals; Logger = NullLogger.Instance; }
public ActionResult RolesPost(UserManagerRolesViewModel model, string id) { if (!ModelState.IsValid) { return(RedirectToAction(nameof(HomeController.Index), "Home")); } if (string.IsNullOrEmpty(id)) { return(RedirectToAction(nameof(HomeController.Index), "Home")); } else { if (model.Admin == true) { DefaultUserManager.AddToRole(id, Admin); } else { DefaultUserManager.RemoveFromRole(id, Admin); } if (model.ProjectManager == true) { DefaultUserManager.AddToRole(id, ProjectManager); } else { DefaultUserManager.RemoveFromRole(id, ProjectManager); } if (model.Developer == true) { DefaultUserManager.AddToRole(id, Developer); } else { DefaultUserManager.RemoveFromRole(id, Developer); } if (model.Submitter == true) { DefaultUserManager.AddToRole(id, Submitter); } else { DefaultUserManager.RemoveFromRole(id, Submitter); } return(RedirectToAction(nameof(UsersController.UserManager), "Users")); } }
public PartnerController(IMemberService memberService, DefaultUserManager userManager, IFileService fileService, IStorageFileService storageFileService, ISmsService smsService, ICurrencyService currencyService, ISignals signals, IUserContainer userContainer, IWalletService walletService, IConfigService configService) { _memberService = memberService; _userManager = userManager; _fileService = fileService; _storageFileService = storageFileService; _smsService = smsService; _currencyService = currencyService; _signals = signals; _userContainer = userContainer; _walletService = walletService; _configService = configService; }
protected override void Dispose(bool disposing) { if (disposing) { if (_userManager != null) { _userManager.Dispose(); _userManager = null; } if (_signInManager != null) { _signInManager.Dispose(); _signInManager = null; } } base.Dispose(disposing); }
public ActionResult Roles(UserManagerRolesViewModel model, string id) { if (string.IsNullOrEmpty(id)) { return(RedirectToAction(nameof(HomeController.Index), "Home")); } else { model.Admin = DefaultUserManager.IsInRole(id, Admin) ? true : false; model.ProjectManager = DefaultUserManager.IsInRole(id, ProjectManager) ? true : false; model.Developer = DefaultUserManager.IsInRole(id, Developer) ? true : false; model.Submitter = DefaultUserManager.IsInRole(id, Submitter) ? true : false; model.Id = id; return(PartialView("_Roles", model)); } }
public ActionResult Index() { Models.ApplicationUser user = DefaultUserManager.FindById(User.Identity.GetUserId()); HomeTicketAndProjectsViewModel model = new HomeTicketAndProjectsViewModel(); if (User.IsInRole(Submitter)) { model.Tickets = user.CreatedTickets; model.Projects = user.Projects; } else if (User.IsInRole(Developer)) { model.Tickets = user.AssignedTickets; model.Projects = user.Projects; } else { model.Tickets = DbContext.Tickets.Select(p => p).ToList(); model.Projects = DbContext.Projects.Where(p => !p.Archived).Select(p => p).ToList(); } return(View(model)); }
public PartialViewResult Layout() { Models.ApplicationUser user = DefaultUserManager.FindByEmailAsync(User.Identity.Name).Result; HomeTicketAndProjectsViewModel model = new HomeTicketAndProjectsViewModel(); if (User.IsInRole(Submitter)) { model.Tickets = user.CreatedTickets.Where(p => !p.Project.Archived).Select(p => p).ToList(); model.Projects = user.Projects.Where(p => !p.Archived).Select(p => p).ToList(); } else if (User.IsInRole(Developer)) { model.Tickets = user.AssignedTickets.Where(p => !p.Project.Archived).Select(p => p).ToList(); model.Projects = user.Projects.Where(p => !p.Archived).Select(p => p).ToList(); } else { model.Tickets = DbContext.Tickets.Where(q => !q.Project.Archived).Select(p => p).ToList(); model.Projects = DbContext.Projects.Where(p => !p.Archived).Select(p => p).ToList(); } return(PartialView("_LayoutTicketsAndProjects", model)); }
public Startup(DataService dataService, DefaultUserManager userManager) : base(dataService) { UserManager = userManager; }
public DefaultPushService(DefaultUserManager userManager) { _userManager = userManager; Logger = NullLogger.Instance; }
public ActionResult EditTicket(TicketViewModel model, int?ticketId) { string userId = User.Identity.GetUserId(); if (!ModelState.IsValid || !ticketId.HasValue) { List <Project> projects = DbContext.Projects .Where(p => p.Users.Any(q => q.Id == userId) && !p.Archived) .Select(p => p) .ToList(); SelectList projectList = new SelectList(projects, "Id", "Name"); ViewData["projects"] = projectList; SelectList typeList = new SelectList(DbContext.TicketTypes, "Id", "Name"); ViewData["types"] = typeList; SelectList priorityList = new SelectList(DbContext.TicketPriorities, "Id", "Name"); ViewData["priorities"] = priorityList; SelectList statusList = new SelectList(DbContext.TicketStatuses, "Id", "Name"); ViewData["statuses"] = statusList; return(View(model)); } else { Ticket ticket = DbContext.Tickets .FirstOrDefault(p => p.Id == ticketId && !p.Project.Archived); if (ticket.Title != model.Title) { History history = HistoryService.Create(DefaultUserManager.FindById(User.Identity.GetUserId()), ticket, "Title", ticket.Title, model.Title); NotificationService.Create(ticket, $"Ticket title changed to {model.Title}"); DbContext.Histories.Add(history); ticket.Title = model.Title; } ; if (ticket.Description != model.Description) { History history = HistoryService.Create(DefaultUserManager.FindById(User.Identity.GetUserId()), ticket, "Description", ticket.Description, model.Description); NotificationService.Create(ticket, $"Ticket description changed to {model.Description}"); DbContext.Histories.Add(history); ticket.Description = model.Description; } ; Project project = DbContext.Projects.FirstOrDefault(p => p.Id == model.ProjectId && !p.Archived); if (ticket.Project != project) { History history = HistoryService.Create(DefaultUserManager.FindById(User.Identity.GetUserId()), ticket, "Project", ticket.Project.Name, project.Name); NotificationService.Create(ticket, $"Ticket Project changed to {project.Name}"); DbContext.Histories.Add(history); ticket.Project = project; } ; TicketType type = DbContext.TicketTypes.FirstOrDefault(p => p.Id == model.TypeId); if (ticket.Type != type) { History history = HistoryService.Create(DefaultUserManager.FindById(User.Identity.GetUserId()), ticket, "Type", ticket.Type.Name, type.Name); NotificationService.Create(ticket, $"Ticket type changed to {type.Name}"); DbContext.Histories.Add(history); ticket.Type = type; } ; int priorityId = Convert.ToInt32(model.PriorityId); TicketPriority priority = DbContext.TicketPriorities.FirstOrDefault(p => p.Id == priorityId); if (ticket.Priority != priority) { History history = HistoryService.Create(DefaultUserManager.FindById(User.Identity.GetUserId()), ticket, "Priority", ticket.Priority.Name, priority.Name); NotificationService.Create(ticket, $"Ticket priority changed to {priority.Name}"); DbContext.Histories.Add(history); ticket.Priority = priority; } ; TicketStatus status = DbContext.TicketStatuses.FirstOrDefault(p => p.Id == model.StatusId); if (User.IsInRole(Admin) || User.IsInRole(ProjectManager)) { if (ticket.Status != status) { History history = HistoryService.Create(DefaultUserManager.FindById(User.Identity.GetUserId()), ticket, "Status", ticket.Status.Name, status.Name); NotificationService.Create(ticket, $"Ticket status changed to {status.Name}"); DbContext.Histories.Add(history); ticket.Status = status; } ; } else { History history = HistoryService.Create(DefaultUserManager.FindById(User.Identity.GetUserId()), ticket, "Status", ticket.Status.Name, "Open"); NotificationService.Create(ticket, $"Ticket status changed to Open"); DbContext.Histories.Add(history); ticket.Status = DbContext.TicketStatuses.FirstOrDefault(p => p.Name == "Open"); }; ticket.DateUpdated = DateTime.Now; DbContext.SaveChanges(); return(RedirectToAction(nameof(TicketsController.AllTickets))); } }
public ActionResult EditTicket(int?ticketId) { string userId = User.Identity.GetUserId(); if (!ticketId.HasValue && string.IsNullOrEmpty(userId)) { return(RedirectToAction(nameof(TicketsController.AllTickets))); } else { Ticket ticket = DbContext.Tickets .FirstOrDefault(p => p.Id == ticketId && !p.Project.Archived); TicketViewModel model = new TicketViewModel { Id = ticket.Id, Title = ticket.Title, Description = ticket.Description, Project = ticket.Project, Type = ticket.Type, Priority = ticket.Priority, Status = ticket.Status, AssignedTo = ticket.AssignedTo, }; List <Project> projects = DbContext.Projects .Where(p => p.Users.Any(q => q.Id == userId) && !p.Archived) .Select(p => p) .ToList(); SelectList projectList = new SelectList(projects, "Id", "Name"); ViewData["projects"] = projectList; SelectList typeList = new SelectList(DbContext.TicketTypes, "Id", "Name"); ViewData["types"] = typeList; SelectList priorityList = new SelectList(DbContext.TicketPriorities, "Id", "Name"); ViewData["priorities"] = priorityList; SelectList statusList = new SelectList(DbContext.TicketStatuses, "Id", "Name"); ViewData["statuses"] = statusList; ApplicationUser user = DefaultUserManager.FindById(userId); if (User.IsInRole(Admin) || User.IsInRole(ProjectManager)) { return(View(model)); } else if (User.IsInRole(Submitter)) { if (ticket.CreatedBy == user) { return(View(model)); } else { return(RedirectToAction(nameof(TicketsController.AllTickets))); } } else if (User.IsInRole(Developer)) { if (ticket.AssignedTo == user) { return(View(model)); } else { return(RedirectToAction(nameof(TicketsController.AllTickets))); } } else { return(RedirectToAction(nameof(TicketsController.AllTickets))); } } }
public ActionResult AddComment(CommentViewModel model, int ticketId) { if (!ModelState.IsValid) { return(RedirectToAction(nameof(TicketsController.Details), "Tickets", new { ticketId })); } ApplicationUser user = DefaultUserManager.FindById(User.Identity.GetUserId()); Ticket ticket = DbContext.Tickets.FirstOrDefault(p => p.Id == ticketId && !p.Project.Archived); Comment comment = new Comment() { Title = model.Title, CreatedBy = user, Ticket = ticket }; if (User.IsInRole(Admin) || User.IsInRole(ProjectManager)) { NotificationService.Create(ticket, $"Ticket comment added ->> {comment.Title}"); DbContext.Comments.Add(comment); DbContext.SaveChanges(); return(RedirectToAction(nameof(TicketsController.Details), "Tickets", new { ticketId = model.Id })); } else if (User.IsInRole(Submitter)) { if (ticket.CreatedBy == user) { NotificationService.Create(ticket, $"Ticket comment added ->> {comment.Title}"); DbContext.Comments.Add(comment); DbContext.SaveChanges(); return(RedirectToAction(nameof(TicketsController.Details), "Tickets", new { ticketId = model.Id })); } else { return(RedirectToAction(nameof(TicketsController.AllTickets))); } } else if (User.IsInRole(Developer)) { if (ticket.AssignedTo == user) { NotificationService.Create(ticket, $"Ticket comment added ->> {comment.Title}"); DbContext.Comments.Add(comment); DbContext.SaveChanges(); return(RedirectToAction(nameof(TicketsController.Details), "Tickets", new { ticketId = model.Id })); } else { return(RedirectToAction(nameof(TicketsController.AllTickets))); } } else { return(RedirectToAction(nameof(TicketsController.Details), "Tickets", new { ticketId = model.Id })); } }
public MenuController(DataService dataService, UserService userService, DefaultUserManager userManager) { DataService = dataService; UserService = userService; UserManager = userManager; }
public UserService(DataService dataService, ApplicationSettingsCore appSettings, DefaultUserManager userManager) { DataService = dataService; ApplicationSettings = appSettings; UserManager = userManager; }
public ResetPassword(UserService userService, ApplicationSettingsCore appSettings, DefaultUserManager userManager) { UserService = userService; AppSettings = appSettings; UserManager = userManager; }
public ActionResult AddAttachment(AttachmentViewModel model, int ticketId) { if (ModelState.IsValid) { if (!Directory.Exists(FileHelper.MappedUploadFolder)) { Directory.CreateDirectory(FileHelper.MappedUploadFolder); } string fileName = model.file.FileName; string fullPathWithName = FileHelper.MappedUploadFolder + fileName; model.file.SaveAs(fullPathWithName); Attachment attachment = new Attachment() { FileUrl = FileHelper.UploadFolder + fileName, FileName = fileName, CreatedBy = DefaultUserManager.FindById(User.Identity.GetUserId()), Ticket = DbContext.Tickets.FirstOrDefault(p => p.Id == ticketId) }; ApplicationUser user = DefaultUserManager.FindById(User.Identity.GetUserId()); Ticket ticket = DbContext.Tickets.FirstOrDefault(p => p.Id == ticketId && !p.Project.Archived); if (User.IsInRole(Admin) || User.IsInRole(ProjectManager)) { NotificationService.Create(ticket, $"Ticket attachment added ->> {attachment.FileName}"); DbContext.Attachments.Add(attachment); DbContext.SaveChanges(); return(RedirectToAction(nameof(TicketsController.Details), "Tickets", new { ticketId = model.Id })); } else if (User.IsInRole(Submitter)) { if (ticket.CreatedBy == user) { NotificationService.Create(ticket, $"Ticket attachment added ->> {attachment.FileName}"); DbContext.Attachments.Add(attachment); DbContext.SaveChanges(); return(RedirectToAction(nameof(TicketsController.Details), "Tickets", new { ticketId = model.Id })); } else { return(RedirectToAction(nameof(TicketsController.AllTickets))); } } else if (User.IsInRole(Developer)) { if (ticket.AssignedTo == user) { NotificationService.Create(ticket, $"Ticket attachment added ->> {attachment.FileName}"); DbContext.Attachments.Add(attachment); DbContext.SaveChanges(); return(RedirectToAction(nameof(TicketsController.Details), "Tickets", new { ticketId = model.Id })); } else { return(RedirectToAction(nameof(TicketsController.AllTickets))); } } else { return(RedirectToAction(nameof(TicketsController.Details), "Tickets", new { ticketId = model.Id })); } } else { return(RedirectToAction(nameof(TicketsController.Details), "Tickets", new { ticketId = model.Id })); } }
public AccountController(DefaultUserManager userManager, DefaultSignInManager signInManager) { UserManager = userManager; SignInManager = signInManager; }