Пример #1
0
        private List <ReportTemplateProjectModel> GetListOfProjectModels()
        {
            var listOfModels       = new List <ReportTemplateProjectModel>();
            var projectsList       = HttpRequestStorage.DatabaseEntities.Projects.Where(x => SelectedModelIDs.Contains(x.ProjectID)).ToList();
            var orderedProjectList = projectsList.OrderBy(p => SelectedModelIDs.IndexOf(p.ProjectID)).ToList();

            orderedProjectList.ForEach(x => listOfModels.Add(new ReportTemplateProjectModel(x)));
            return(listOfModels);
        }
Пример #2
0
        /// <summary>
        /// Because Sharpdocx uses directories for images we need to save the images that can be used with the chosen model into a directory that can be accessed
        /// when the report generates. This allows us to create a helper on the ReportTemplateProjectImage model that can then call Image() and pass in the
        /// same file name (that uses the file resource unique GUID)
        /// </summary>
        private void SaveImageFilesToTempDirectory()
        {
            switch (ReportTemplateModelEnum)
            {
            case ReportTemplateModelEnum.Project:
                var projectsList  = HttpRequestStorage.DatabaseEntities.Projects.Where(x => SelectedModelIDs.Contains(x.ProjectID)).ToList();
                var projectImages = projectsList.SelectMany(x => x.ProjectImages).ToList();
                foreach (var projectImage in projectImages)
                {
                    var imagePath = $"{FullTemplateTempImageDirectory}\\{projectImage.FileResourceInfo.GetFullGuidBasedFilename()}";
                    CorrectImageProblemsAndSaveToDisk(projectImage, imagePath);
                }
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }