public async Task UpdateEmployee(int id, CreateOrUpdateEmployeeRequest request)
        {
            if (request.Experience < 0 || request.Salary <= 0)
            {
                throw new ArgumentException();
            }
            if (request.PositionId != 2)
            {
                var tr = await context.Trainers.Where(c => c.EmployeeId == id).ToListAsync();

                if (tr.Count != 0)
                {
                    var man = new TrainerManager(context);
                    await man.DeleteTrainer(tr[0].TrainerId);
                }
            }
            var emp = await context.Employees.FindAsync(id);

            emp.Name       = request.Name;
            emp.PositionId = request.PositionId;
            emp.Experience = request.Experience;
            emp.Salary     = request.Salary;
            emp.GymId      = request.GymId;
            await context.SaveChangesAsync();
        }
        public async Task AddEmployee(CreateOrUpdateEmployeeRequest request)
        {
            if (request.Experience < 0 || request.Salary <= 0)
            {
                throw new ArgumentException();
            }
            var emp = new Employee {
                Name       = request.Name,
                PositionId = request.PositionId,
                Experience = request.Experience,
                Salary     = request.Salary,
                GymId      = request.GymId
            };
            await context.Employees.AddAsync(emp);

            await context.SaveChangesAsync();
        }