public IActionResult UpdateClass(ClassStudentVM _class)
        {
            var _classToUpdate = new Class();

            ClaimsPrincipal currentUser = User;
            var             claims      = currentUser.Claims;
            var             userEmail   = "";

            foreach (var c in claims)
            {
                userEmail = c.Value;
            }
            var newUser = new User();

            newUser.Email = userEmail;
            var userId = _userDataAccess.GetUserId(newUser);

            _class.Genre = _classDataAccess.SearchClass(_class.ClassId, GetCurrentStudioId()).Genre;

            _classToUpdate.Id = _class.ClassId;

            if (_class.PricePerHour != 0)
            {
                _classToUpdate.PricePerHour = _class.PricePerHour;
            }

            var classes = _classDataAccess.GetAllClasses(GetCurrentStudioId());

            foreach (var c in classes)
            {
                var shedule = _classDataAccess.GetClassShedule(c.Id);

                if ((c.Genre == _class.Genre) && (c.Level == _class.Level))
                {
                    string classError = "There is already a class with the same genre and level!";
                    return(RedirectToAction("Classes", new { classError }));
                }

                foreach (var day in _class.SheduleDays)
                {
                    foreach (var s in shedule)
                    {
                        if (day.Equals(s.Day) && _class.Hour == s.Hour)
                        {
                            string classError = "There is already a class on the same day and hour!";
                            return(RedirectToAction("Classes", new { classError }));
                        }
                    }
                }
            }

            if (_class.Level != null)
            {
                _classToUpdate.Level = _class.Level;
            }

            if (_class.ClassType != null)
            {
                _classToUpdate.ClassType = _class.ClassType;
            }

            _classDataAccess.UpdateClass(_classToUpdate, userId);

            if (_class.SheduleDays != null)
            {
                var classShedule = _classDataAccess.GetClassShedule(_class.ClassId);

                if (classShedule.Count > 1)
                {
                    for (int day = 0; day <= _class.SheduleDays.Count - 1; day++)
                    {
                        _classDataAccess.UpdateShedule(_class.SheduleDays[day], _class.Hour, _class.ClassId, userId, classShedule[day].Id);
                    }
                }
                else
                {
                    for (int day = 0; day < _class.SheduleDays.Count - 1; day++)
                    {
                        _classDataAccess.UpdateShedule(_class.SheduleDays[day], _class.Hour, _class.ClassId, userId, classShedule[0].Id);
                        if (_class.Hour != null)
                        {
                            _classDataAccess.AddDayToShedule(_class.SheduleDays[day + 1], _class.ClassId, _class.Hour, GetCurrentStudioId());
                        }
                        else
                        {
                            _classDataAccess.AddDayToShedule(_class.SheduleDays[day + 1], _class.ClassId, "18:30-19:30", GetCurrentStudioId());
                        }
                    }
                }
            }

            if (_class.InstructorsIds != null)
            {
                foreach (var id in _class.InstructorsIds)
                {
                    _classDataAccess.AddInstructorToClass(id, _class.ClassId);
                }
            }

            if (_class.StudentsIds != null)
            {
                foreach (var id in _class.StudentsIds)
                {
                    _classDataAccess.AddStudentToClass(id, _class.ClassId);
                }
            }

            return(RedirectToAction("Classes"));
        }