예제 #1
0
        public async Task <IActionResult> DownloadFile(SnapshotRoute route)
        {
            FileData data = await GetFile(route);

            string fileName = FileData.GetFileName(_snapshot.Name, data.ContentType);

            return(File(data.Bytes, data.ContentType, fileName));
        }
예제 #2
0
        /// <summary>
        /// Initialize field _snapshot.
        /// </summary>
        /// <param name="route">User name, project name and snapshot name.</param>
        private async Task Init(SnapshotRoute route)
        {
            var request = new HandlerData <SnapshotRoute, ProjectSnapshot>
            {
                Data = route
            };

            _snapshot = await _mediator.Send(request);
        }
예제 #3
0
        /// <summary>
        /// Get snapshot file.
        /// </summary>
        /// <param name="route">User name, project name and snapshot name.</param>

        private async Task <FileData> GetFile(SnapshotRoute route)
        {
            await Init(route);

            var request = new HandlerData <ProjectSnapshot, FileData>
            {
                Data = _snapshot
            };

            return(await _mediator.Send(request));
        }
예제 #4
0
        /// <summary>
        /// Show snapshot file.
        /// </summary>
        /// <param name="route">User name, project name and snapshot name.</param>

        public async Task <IActionResult> ShowFile(SnapshotRoute route)
        {
            FileData data = await GetFile(route);

            return(File(data.Bytes, data.ContentType));
        }