private TheoryDetail BuildTheoryDetail(TheoryResource entity)
        {
            var name     = $"{entity.Teacher.FirstName} {entity.Teacher.LastName}";
            var data     = _fileHelper.GetFileData(entity.File);
            var content  = _fileHelper.GetFileContentType(entity.File);
            var fileName = _fileHelper.GetFileName(entity.File);

            return(new TheoryDetail(entity.ResourceId, entity.TeacherId, name, entity.Title, entity.Description, entity.DateCreated, entity.DateModified, entity.IsDownloadable, entity.IsPublic, entity.File.FileId, content, data, fileName, entity.Topic, entity.GradeLevel));
        }
        private TheoryResource BuildTheoryResource(TheoryCreate model)
        {
            var entity = new TheoryResource();

            entity.Title          = model.Title;
            entity.Description    = model.Description;
            entity.DateCreated    = DateTimeOffset.Now;
            entity.IsDownloadable = model.IsDownloadable;
            entity.IsPublic       = model.IsPublic;
            entity.TeacherId      = model.TeacherId;
            entity.File           = _fileHelper.BuildResourceFile(model.File);
            entity.Topic          = model.Topic;
            entity.GradeLevel     = model.GradeLevel;

            return(entity);
        }
        private void UpdateTheoryResourceEntity(TheoryEdit model, TheoryResource entity, out bool wasFileChanged)
        {
            wasFileChanged        = false;
            entity.Title          = model.Title;
            entity.Description    = model.Description;
            entity.DateModified   = DateTimeOffset.Now;
            entity.IsDownloadable = model.IsDownloadable;
            entity.IsPublic       = model.IsPublic;
            entity.Topic          = model.Topic;
            entity.GradeLevel     = model.GradeLevel;

            if (model.File != null)
            {
                entity.File    = _fileHelper.BuildResourceFile(model.File);
                wasFileChanged = true;
            }
        }