Esempio n. 1
0
        public PortalFileServiceResponse GetPortalMessageFiles(string portalMessageId, ReadingOptions readingOptions)
        {
            var result = new PortalFileServiceResponse();

            result.PortalMessageFiles = PortalMessageFilesReader.GetPortalMessageFiles(portalMessageId, readingOptions);
            return(result);
        }
        /// <summary>
        /// Get portal message files.
        /// </summary>
        /// <param name="PortalMessageId">Portal message uniqueidentifier.</param>
        /// <param name="readingOptions">Readin message options <see cref="ReadingOptions"/>.</param>
        /// <returns>Container with Portal message files collection <see cref="PortalFileServiceResponse"/>.</returns>
        public IEnumerable <PortalMessageFileDTO> GetPortalMessageFiles(string portalMessageId, ReadingOptions readingOptions)
        {
            var options = GetPageableOptions(readingOptions);
            var portalMessageFileSelect = GetPortalMessageFilesSelect(portalMessageId).ToPageable(options);
            var files = new List <PortalMessageFileDTO>();

            using (DBExecutor dbExec = userConnection.EnsureDBConnection()) {
                using (IDataReader reader = portalMessageFileSelect.ExecuteReader(dbExec)) {
                    var canReadData = false;
                    while (reader.Read() && ((canReadData || CheckIfUserCanReadFiles(reader.GetColumnValue <Guid>("EntitySchemaUId"),
                                                                                     reader.GetColumnValue <Guid>("EntityId"), out canReadData))))
                    {
                        files.Add(CreatePortalMessageDTO(reader));
                    }
                }
            }
            return(files);
        }