/// <summary> /// Updates the <see cref="ConceptEvent"/>. /// </summary> /// <returns>Updated <see cref="ConceptEvent"/>.</returns> /// <param name="ev">The new <see cref="ConceptEvent"/> state.</param> /// <exception cref="ArgumentException"/> /// <exception cref="LeafRPCException"/> /// <exception cref="DbException"/> public async Task <ConceptEvent> UpdateAsync(ConceptEvent ev) { ThrowIfInvalid(ev); try { var updated = await svc.UpdateAsync(ev); if (updated != null) { log.LogInformation("Updated ConceptEvent:{@ConceptEvent}", updated); } else { log.LogInformation("Could not update ConceptEvent:{@ConceptEvent}, not found", ev); } return(updated); } catch (DbException de) { log.LogInformation("Failed to update ConceptEvent. ConceptEvent:{@ConceptEvent} Code:{Code} Error:{Error}", ev, de.ErrorCode, de.Message); de.MapThrow(); throw; } }
/// <summary> /// Creates a new <see cref="ConceptEvent"/>. /// </summary> /// <returns>Created <see cref="ConceptEvent"/>.</returns> /// <param name="ev"><see cref="ConceptEvent"/>.</param> /// <exception cref="ArgumentException"/> /// <exception cref="LeafRPCException"/> /// <exception cref="DbException"/> public async Task <ConceptEvent> CreateAsync(ConceptEvent ev) { ThrowIfInvalid(ev); try { var created = await svc.CreateAsync(ev); log.LogInformation("Created ConceptEvent:{@ConceptEvent}", created); return(created); } catch (DbException de) { log.LogError("Failed to create ConceptEvent. ConceptEvent:{@ConceptEvent}. Code:{Code} Error:{Error}", ev, de.ErrorCode, de.Message); de.MapThrow(); throw; } }
void ThrowIfInvalid(ConceptEvent ev) { Ensure.NotNull(ev, nameof(ev)); Ensure.NotNullOrWhitespace(ev.UiDisplayEventName, nameof(ev.UiDisplayEventName)); }