Ejemplo n.º 1
0
        /// <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));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> CreateAgentCategory([FromBody] CreateAgentCategory agentCategoryDetails)
        {
            var result = await _agentCategoryService.CreateAgentCategory(agentCategoryDetails);

            return(StatusCode((int)result.Code, result.Value));
        }