/// <summary> /// Updates a business event entity /// </summary> /// <param name="id"></param> /// <param name="request"></param> /// <returns></returns> public IntegrationEvent UpdateBusinessEvent(string id, CreateBusinessEventViewModel request) { Guid entityId = new Guid(id); var businessEvent = _integrationEventRepository.GetOne(entityId); if (businessEvent == null) { throw new EntityDoesNotExistException("No business event exists for the specified id"); } var namedIntegrationEvent = _integrationEventRepository.Find(null, d => d.Name.ToLower() == request.Name.ToLower() && d.Id != entityId)?.Items?.FirstOrDefault(); if (namedIntegrationEvent != null && namedIntegrationEvent.Id != entityId) { throw new EntityAlreadyExistsException("Business event already exists"); } businessEvent.Name = request.Name; businessEvent.Description = request.Description; businessEvent.EntityType = request.EntityType; businessEvent.PayloadSchema = request.PayloadSchema; businessEvent.Name = request.Name; return(businessEvent); }
public async Task <IActionResult> PutBusinessEvent(string id, [FromBody] CreateBusinessEventViewModel request) { try { IntegrationEvent businessEvent = _integrationEventManager.UpdateBusinessEvent(id, request); return(await base.PutEntity(id, businessEvent)); } catch (Exception ex) { return(ex.GetActionResult()); } }
public async Task <IActionResult> PostBusinessEvent([FromBody] CreateBusinessEventViewModel request) { try { IntegrationEvent businessEvent = _integrationEventManager.AddBusinessEvent(request); return(await base.PostEntity(businessEvent)); } catch (Exception ex) { return(ex.GetActionResult()); } }
/// <summary> /// Takes a business event and returns it for addition /// </summary> /// <param name="createBusinessEventView"></param> /// <returns>The business event to be added</returns> public IntegrationEvent AddBusinessEvent(CreateBusinessEventViewModel createBusinessEventView) { var existingEvent = _integrationEventRepository.Find(null, d => d.Name.ToLower() == createBusinessEventView.Name.ToLower())?.Items?.FirstOrDefault(); if (existingEvent != null) { throw new EntityAlreadyExistsException("Business event already exists"); } IntegrationEvent newEvent = createBusinessEventView.Map(createBusinessEventView); //assign request to schedule entity return(newEvent); }