/// <summary> /// Creates the agentCategory. /// </summary> /// <param name="agentCategoryDetails">The agentCategory details.</param> /// <returns></returns> public async Task <CSSResponse> CreateAgentCategory(CreateAgentCategory agentCategoryDetails) { var agentCategories = await _repository.AgentCategories.GetAgentCategoriesByName(new AgentCategoryNameDetails { Name = agentCategoryDetails.Name }); if (agentCategories?.Count > 0) { return(new CSSResponse($"Agent Category with name '{agentCategoryDetails.Name}' already exists.", HttpStatusCode.Conflict)); } var agentCategoryRequest = _mapper.Map <AgentCategory>(agentCategoryDetails); _repository.AgentCategories.CreateAgentCategory(agentCategoryRequest); await _repository.SaveAsync(); await _bus.SendCommand <CreateAgentCategoryCommand>(MassTransitConstants.AgentCategoryCreateCommandRouteKey, new { agentCategoryRequest.Id, agentCategoryRequest.Name, agentCategoryType = agentCategoryRequest.DataTypeId, agentCategoryRequest.DataTypeMinValue, agentCategoryRequest.DataTypeMaxValue, agentCategoryRequest.ModifiedDate, }); return(new CSSResponse(new AgentCategoryIdDetails { AgentCategoryId = agentCategoryRequest.Id }, HttpStatusCode.Created)); }
public async Task <IActionResult> CreateAgentCategory([FromBody] CreateAgentCategory agentCategoryDetails) { var result = await _agentCategoryService.CreateAgentCategory(agentCategoryDetails); return(StatusCode((int)result.Code, result.Value)); }