Exemple #1
0
        /// <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));
        }
Exemple #2
0
        /// <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));
        }
Exemple #3
0
        /// <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);
        }
Exemple #4
0
        /// <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));
        }
Exemple #5
0
        /// <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));
        }
Exemple #6
0
        /// <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);
        }
Exemple #7
0
        /// <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));
        }