public BaseResponseModel Post(UpdateExamDetailsRequestModel model)
        {
            if (User.Identity?.Name == null)
            {
                // Not logged in
                return(ErrorCodes.CreateSimpleResponse(ErrorCodes.NotLoggedIn));
            }

            var exam = _examServices.GetObject(model.Id);

            if (exam == null)
            {
                // Exam not exists
                return(ErrorCodes.CreateSimpleResponse(ErrorCodes.ExamNotExist));
            }

            if (exam.Creator != User.Identity?.Name)
            {
                return(ErrorCodes.CreateSimpleResponse(ErrorCodes.ExamNotPermitToEdit));
            }

            var duration = model.Duration.Hour * 3600 + model.Duration.Minute * 60 + model.Duration.Second;

            exam.Name             = model.Name;
            exam.Description      = model.Description;
            exam.Duration         = duration;
            exam.StartTime        = model.StartTime;
            exam.OpenBook         = model.OpenBook;
            exam.MaximumTakersNum = model.MaximumTakersNum;

            _examServices.SaveObject(exam);

            return(ErrorCodes.CreateSimpleResponse(ErrorCodes.Success));
        }
        public BaseResponseModel Get(int eid)
        {
            var e = _services.GetObject(eid);

            if (e != null)
            {
                return(new ExamDetailsResponseModel()
                {
                    Code = 0,
                    Description = e.Description,
                    Duration = e.Duration,
                    Name = e.Name,
                    StartTime = e.StartTime,
                    OpenBook = e.OpenBook,
                    MaxTakers = e.MaximumTakersNum,
                    QuestionCount = _services.GetQuestionCount(eid)
                });
            }

            return(ErrorCodes.CreateSimpleResponse(ErrorCodes.ExamNotExist));
        }