/// <summary> /// Get a administrator by their login email and password. /// </summary> /// <returns>The administrator</returns> public async Task <Domain.Models.Admins> GetAdminByLoginAsync(string email, string password) { Entities.Admins item = await _dbContext.Admins .FirstOrDefaultAsync(a => a.Email == email && a.Password == password); return(Mapper.MapAdmins(item)); }
/// <summary> /// Get a administrator by ID. /// </summary> /// <param int="adminId">The ID of the administrator</param> public async Task <Domain.Models.Admins> GetAdminByIdAsync(int adminId) { Entities.Admins item = await _dbContext.Admins .FirstOrDefaultAsync(a => a.Id == adminId); return(Mapper.MapAdmins(item)); }
/// <summary> /// Delete a administrator by ID. /// </summary> /// <param int="adminId">The ID of the administrator</param> public async void DeleteAdminAsync(int adminId) { _logger.LogInformation("Deleting administrator with ID {adminId}", adminId); Entities.Admins entity = await _dbContext.Admins.FindAsync(adminId); _dbContext.Admins.Remove(entity); }
/// <summary> /// Get an admin by their login email. /// </summary> /// <returns>The admin</returns> public async Task <Domain.Models.Admins> GetAdminByEmailAsync(string email) { Entities.Admins item = await _dbContext.Admins .FirstOrDefaultAsync(a => a.Email == email); //if (item is null) //{ // throw new ArgumentException("User does not exist"); //} return(Mapper.MapAdmins(item)); }
/// <summary> /// Change password of admin. /// </summary> /// <param int="adminId">The id of the admin to change</param> /// <param string="password">The new password</param> /// <returns>The admin with new password</returns> public async Task <Domain.Models.Admins> UpdateAdminPasswordAsync(int adminId, string password) { _logger.LogInformation("Updating admin with ID {ticketId} with new password {password}", adminId, password); Entities.Admins currentEntity = await _dbContext.Admins.FindAsync(adminId); var newEntity = currentEntity; newEntity.Password = password; _dbContext.Entry(currentEntity).CurrentValues.SetValues(newEntity); return(Mapper.MapAdmins(newEntity)); }
/// <summary> /// Update an admin's info. /// </summary> /// <param name="admin">The administrator with changed values</param> public async Task <Domain.Models.Admins> UpdateAdminAsync(int adminId, Domain.Models.Admins admin) { _logger.LogInformation("Updating administrator with ID {adminId}", adminId); Entities.Admins currentEntity = await _dbContext.Admins.FindAsync(adminId); var newEntity = Mapper.MapAdmins(admin); newEntity.Id = adminId; _dbContext.Entry(currentEntity).CurrentValues.SetValues(newEntity); return(admin); }
/// <summary> /// Reassign a ticket to a different admin. /// </summary> /// <param int="ticketId">The id of the ticket to change</param> /// <param int="adminId">The id of the admin</param> /// <returns>The reassigned ticket</returns> public async Task <Domain.Models.Tickets> ReassignTicketAsync(int ticketId, int adminId) { _logger.LogInformation("Updating ticket with ID {ticketId}", ticketId); Entities.Tickets currentEntity = await _dbContext.Tickets.FindAsync(ticketId); var newEntity = currentEntity; Entities.Admins admin = await _dbContext.Admins.FindAsync(adminId); newEntity.DatetimeModified = DateTime.Now; newEntity.AdminId = adminId; newEntity.AdminAssignedName = admin.FirstName + " " + admin.LastName; _dbContext.Entry(currentEntity).CurrentValues.SetValues(newEntity); return(Mapper.MapTickets(newEntity)); }