/// <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); }
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)); }
/// <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)); }
/// <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)); }