/// <summary> /// Removes the agent. /// </summary> /// <param name="agentDetails">The agent details.</param> /// <returns></returns> public bool RemoveAgent(IAgentDTO agentDetails) { return ApplicationDataStore.TerritoryAgentDictionary[agentDetails.Territory].RemoveNode(agentDetails); }
/// <summary> /// Assigns the lead to agent. /// </summary> /// <param name="leadDetails">The lead details.</param> /// <param name="agentDTO">The agent DTO.</param> public void AssignLeadToAgent(ILeadDTO leadDetails, IAgentDTO agentDTO) { ApplicationDataStore.LeadAgentDictionary.Add(leadDetails.ID, agentDTO); }
/// <summary> /// Adds the agent for territory. /// </summary> /// <param name="agentDetails">The agent details.</param> public void AddAgent(IAgentDTO agentDetails) { ApplicationDataStore.TerritoryAgentDictionary[agentDetails.Territory].AddNode(agentDetails); }
/// <summary> /// Creates the operation result. /// </summary> /// <param name="validateLead">The validate lead.</param> /// <param name="assignedAgent">The assigned agent.</param> /// <returns></returns> private OperationResult<IAgentDTO> CreateOperationResult(IValidateLead validateLead, IAgentDTO assignedAgent) { OperationResult<IAgentDTO> result = new OperationResult<IAgentDTO>(); if (validateLead.IsValid) { if (assignedAgent != null)///Create operation result with agent details { result.Result = OperationResultType.Success; result.Data = assignedAgent; result.Message = AgentAssigned; } else///Create operation result for: No Agent available { result.Result = OperationResultType.Failure; result.Message = AgentNotAssigned; } } else///Create operation result for invalid data { result.Result = OperationResultType.Failure; result.Message = validateLead.Message; } return result; }
/// <summary> /// Removes the agent. /// </summary> /// <param name="agentDetails">The agent details.</param> /// <returns></returns> public bool RemoveAgent(IAgentDTO agentDetails) { IAgentDataManager agentDataManager = new LeadDistributionDataFactory().GetAgentDataManager(DataComponentType.InMemoryData); return agentDataManager.RemoveAgent(agentDetails); }
/// <summary> /// Adds the agent for territory. /// </summary> /// <param name="agentDetails">The agent details.</param> public void AddAgent(IAgentDTO agentDetails) { IAgentDataManager agentDataManager = new LeadDistributionDataFactory().GetAgentDataManager(DataComponentType.InMemoryData); agentDataManager.AddAgent(agentDetails); }