Example #1
0
        public async Task <IActionResult> Post([FromBody] FileTransmissionModel model)
        {
            WorkerLog.Instance.Information($"File data received from {model.Host}");
            var result = await _fileService.AddReceivedFile(model.Id, model.FolderName, model.Name, model.Size, model.Version, model.LastModifiedDate, model.Path, model.Host);

            return(result.WasSuccessful
                        ? NoContent()
                        : StatusCode((int)HttpStatusCode.InternalServerError));
        }
        public async Task SendFile(Recipient recipient, Folder folder, File file)
        {
            var httpClient            = _httpClientFactory.CreateClient("default");
            var endpoint              = $"{recipient.Address}/api/file";
            var fileTransmissionModel = new FileTransmissionModel
            {
                Id = file.Id,
                LastModifiedDate = file.LastModifiedDate,
                Name             = file.Name,
                Path             = file.Path,
                Size             = file.Size,
                Version          = file.Version,
                FolderName       = folder.Name,
                Host             = Environment.MachineName
            };
            var response = await httpClient.PostAsync(endpoint, fileTransmissionModel, throwErrorOnResponseNok : true);

            response.EnsureSuccessStatusCode();
        }