public async Task <IActionResult> AddNewFolder(int remoteId, [FromBody] AddFolderFormData data) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } using (var context = _contextFactory.CreateContext()) { var remote = await context.BackupRemotes.FindAsync(remoteId); if (remote == null) { return(NotFound()); } var backupFolder = new BackupFolder(data.Path, remote) { Name = data.Name, RemoteBaseFolder = data.RemoteFolder, SyncTime = TimeValue.Parse(data.SyncTime), SyncTimeSpan = TimeSpan.Parse(data.SyncTimeSpan) }; await context.BackupFolders.AddAsync(backupFolder); await context.SaveChangesAsync(); await _mediator.Publish(new FolderCreatedNotification(backupFolder)); return(Created(Request.Path.ToString() + "/" + backupFolder.BackupFolderId, backupFolder)); } }
public async Task <IActionResult> EditBackupFolder(int remoteId, int id, [FromBody] AddFolderFormData data) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } using (var context = _contextFactory.CreateContext()) { var folder = await context.BackupFolders.FindAsync(id); if (folder == null) { return(NotFound()); } if (folder.BackupRemoteId != remoteId) { return(NotFound()); } folder.Name = data.Name; folder.RemoteBaseFolder = data.RemoteFolder; folder.SyncTime = TimeValue.Parse(data.SyncTime); folder.SyncTimeSpan = TimeSpan.Parse(data.SyncTimeSpan); await context.SaveChangesAsync(); await _mediator.Publish(new FolderChangedNotification(folder)); return(Created(Request.Path.ToString() + "/" + folder.BackupFolderId, folder)); } }