public async Task <ResponseStatus> AudioUpdatesAvailable(NotificationRequest request, ServerCallContext context) { logger.LogInformation($"New examination audio update available! Action: {request.Action}. Name: {Path.GetFileNameWithoutExtension(request.FileName)}. Start updating."); try { switch (request.Action) { case NotificationAction.Add: { var centralGazooFtpConfiguration = new FtpConfigurationModel { Host = request.FtpIp, Port = request.FtpPort, Login = request.FtpLogin, Password = request.FtpPassword }; await remoteFileService.DownloadFileAsync(centralGazooFtpConfiguration, request.FileName); break; } case NotificationAction.Delete: localFileService.DeleteFile(CreateFilePath(request.FileName)); break; case NotificationAction.Update: localFileService.RenameFile(CreateFilePath(request.OldFileName), CreateFilePath(request.FileName)); break; default: break; } logger.LogInformation($"Updating examination audio: {Path.GetFileNameWithoutExtension(request.FileName)} finished successfully!"); return(new ResponseStatus() { NotificationStatus = NotificationStatus.Successful }); } catch (RpcException ex) { logger.LogError(ex, $"Error was occured while updating examination audio file: {Path.GetFileNameWithoutExtension(request.FileName)}."); return(new ResponseStatus() { NotificationStatus = NotificationStatus.Failure }); } catch (Exception ex) { logger.LogError(ex, $"Error was occured while updating examination audio file: {Path.GetFileNameWithoutExtension(request.FileName)}."); return(new ResponseStatus() { NotificationStatus = NotificationStatus.Failure }); } }
public Ftp(FtpConfigurationModel ftpConfigurationModel) { _ftpConfigurationModel = ftpConfigurationModel; }