Exemple #1
0
        /// <summary>
        ///  The business implementation when the IAgentCategoryCreateFailed occurs
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public async Task Consume(ConsumeContext <IAgentCategoryCreateFailed> context)
        {
            AgentCategoryIdDetails agentCategoryIdDetails = new AgentCategoryIdDetails
            {
                AgentCategoryId = context.Message.Id
            };

            UpdateAgentCategory updateAgentCategory = new UpdateAgentCategory
            {
                Name             = context.Message.Name,
                DataTypeId       = context.Message.AgentCategoryType,
                DataTypeMinValue = context.Message.DataTypeMinValue,
                DataTypeMaxValue = context.Message.DataTypeMaxValue,
                ModifiedDate     = context.Message.ModifiedDate,
                IsDeleted        = true,
                IsUpdateRevert   = true
            };

            await _agentCategoryService.UpdateAgentCategory(agentCategoryIdDetails, updateAgentCategory);
        }
Exemple #2
0
        public async Task <IActionResult> UpdateAgentCategory(int agentCategoryId, [FromBody] UpdateAgentCategory agentCategoryDetails)
        {
            var result = await _agentCategoryService.UpdateAgentCategory(new AgentCategoryIdDetails { AgentCategoryId = agentCategoryId }, agentCategoryDetails);

            return(StatusCode((int)result.Code, result.Value));
        }
Exemple #3
0
        /// <summary>
        /// Reverts the agent category.
        /// </summary>
        /// <param name="agentCategoryIdDetails">The agent category identifier details.</param>
        /// <param name="agentCategoryDetails">The agent category details.</param>
        /// <returns></returns>
        public async Task <CSSResponse> RevertAgentCategory(AgentCategoryIdDetails agentCategoryIdDetails, UpdateAgentCategory agentCategoryDetails)
        {
            var agentCategory = await _repository.AgentCategories.GetAgentCategory(agentCategoryIdDetails);

            if (agentCategory == null)
            {
                return(new CSSResponse(HttpStatusCode.NotFound));
            }

            var agentCategories = await _repository.AgentCategories.GetAgentCategoriesByName(new AgentCategoryNameDetails { Name = agentCategoryDetails.Name });

            if (agentCategories?.Count > 0 && agentCategories.IndexOf(agentCategoryIdDetails.AgentCategoryId) == -1)
            {
                return(new CSSResponse($"Client with name '{agentCategoryDetails.Name}' already exists.", HttpStatusCode.Conflict));
            }

            var agentCategoryRequest = _mapper.Map(agentCategoryDetails, agentCategory);

            agentCategoryRequest.ModifiedDate = agentCategoryDetails.ModifiedDate;
            _repository.AgentCategories.UpdateAgentCategory(agentCategoryRequest);

            await _repository.SaveAsync();

            return(new CSSResponse(HttpStatusCode.NoContent));
        }
Exemple #4
0
        /// <summary>
        /// Updates the agentCategory.
        /// </summary>
        /// <param name="agentCategoryIdDetails">The agentCategory identifier details.</param>
        /// <param name="agentCategoryDetails">The agentCategory details.</param>
        /// <returns></returns>
        public async Task <CSSResponse> UpdateAgentCategory(AgentCategoryIdDetails agentCategoryIdDetails, UpdateAgentCategory agentCategoryDetails)
        {
            var agentCategory = await _repository.AgentCategories.GetAgentCategory(agentCategoryIdDetails);

            if (agentCategory == null)
            {
                return(new CSSResponse(HttpStatusCode.NotFound));
            }

            var agentCategories = await _repository.AgentCategories.GetAgentCategoriesByName(new AgentCategoryNameDetails { Name = agentCategoryDetails.Name });

            if (agentCategories?.Count > 0 && agentCategories.IndexOf(agentCategoryIdDetails.AgentCategoryId) == -1)
            {
                return(new CSSResponse($"Agent Category with name '{agentCategoryDetails.Name}' already exists.", HttpStatusCode.Conflict));
            }

            var agentCategoryDetailsPreUpdate = new AgentCategory
            {
                Name             = agentCategory.Name,
                DataTypeId       = agentCategory.DataTypeId,
                DataTypeMinValue = agentCategory.DataTypeMinValue,
                DataTypeMaxValue = agentCategory.DataTypeMaxValue,
                ModifiedBy       = agentCategory.ModifiedBy,
                IsDeleted        = agentCategory.IsDeleted,
                ModifiedDate     = agentCategory.ModifiedDate
            };

            var agentCategoryRequest = _mapper.Map(agentCategoryDetails, agentCategory);

            _repository.AgentCategories.UpdateAgentCategory(agentCategoryRequest);

            await _repository.SaveAsync();

            if (!agentCategoryDetails.IsUpdateRevert)
            {
                await _bus.SendCommand <UpdateAgentCategoryCommand>(
                    MassTransitConstants.AgentCategoryUpdateCommandRouteKey,
                    new
                {
                    agentCategoryRequest.Id,
                    NameOldValue = agentCategoryDetailsPreUpdate.Name,
                    AgentCategoryTypeOldValue = agentCategoryDetailsPreUpdate.DataTypeId,
                    DataTypeMinValueOldValue  = agentCategoryDetailsPreUpdate.DataTypeMinValue,
                    DataTypeMaxValueOldValue  = agentCategoryDetailsPreUpdate.DataTypeMaxValue,
                    ModifiedByOldValue        = agentCategoryDetailsPreUpdate.ModifiedBy,
                    ModifiedDateOldValue      = agentCategoryDetailsPreUpdate.ModifiedDate,
                    IsDeletedOldValue         = agentCategoryDetailsPreUpdate.IsDeleted,
                    NameNewValue = agentCategoryRequest.Name,
                    AgentCategoryTypeNewValue = agentCategoryRequest.DataTypeId,
                    DataTypeMinValueNewValue  = agentCategoryRequest.DataTypeMinValue,
                    DataTypeMaxValueNewValue  = agentCategoryRequest.DataTypeMaxValue,
                    ModifiedByNewValue        = agentCategoryRequest.ModifiedBy,
                    ModifiedDateNewValue      = agentCategoryRequest.ModifiedDate,
                    IsDeletedNewValue         = agentCategoryRequest.IsDeleted
                });
            }
            return(new CSSResponse(HttpStatusCode.NoContent));
        }