public async Task SaveAsync(RoomScriptGroup group) { using (var database = new Database("ConnectionString")) { if (group.Id == Guid.Empty) { group.Id = Guid.NewGuid(); await database.InsertAsync(group); } else { await database.UpdateAsync(group); } } }
public async Task DeleteAsync(RoomScriptGroup group) { var scripts = await _roomScriptRepository.GetAsync(group.Id); using (var database = new Database("ConnectionString")) { using (var transaction = database.GetTransaction()) { foreach (var script in scripts) { await database.DeleteAsync(script); } await database.DeleteAsync(group); transaction.Complete(); } } }
public async Task<RoomScriptGroup> Create(string roomId, [FromBody] RoomScriptGroup group) { var rooms = await _roomRepository.GetAsync(); var room = rooms.SingleOrDefault(r => r.Id.Equals(new Guid(roomId))); if (room == null) { return null; } group = new RoomScriptGroup { Name = group.Name, Icon = string.Empty, RoomId = room.Id }; await _repository.SaveAsync(group); return group; }
public async Task <IHttpActionResult> Save([FromBody] RoomScriptGroup group) { if (group == null || group.Id == Guid.Empty) { return(NotFound()); } var existing = await _repository.GetAsync(group.Id); if (existing == null) { return(NotFound()); } existing.Icon = group.Icon; existing.Name = group.Name; existing.SortOrder = group.SortOrder; await _repository.SaveAsync(existing); return(Ok()); }
public async Task <RoomScriptGroup> Create(string roomId, [FromBody] RoomScriptGroup group) { var rooms = await _roomRepository.GetAsync(); var room = rooms.SingleOrDefault(r => r.Id.Equals(new Guid(roomId))); if (room == null) { return(null); } group = new RoomScriptGroup { Name = group.Name, Icon = string.Empty, RoomId = room.Id }; await _repository.SaveAsync(group); return(group); }