/// <summary> /// Save and update agent details in database /// </summary> /// <param name="agentDetails">object containing agent details</param> public int SaveAndUpdateAgent(AgentDTO agentDetails) { agentdetail agentEntity = new agentdetail(); AutoMapper.Mapper.Map(agentDetails, agentEntity); if (agentEntity.Agent_Id > 0) { ESalesUnityContainer.Container.Resolve<IGenericRepository<agentdetail>>().Update(agentEntity); } else { //Save agent details ESalesUnityContainer.Container.Resolve<IGenericRepository<agentdetail>>().Save(agentEntity); //Gets list of materials from database IList<MaterialTypeDTO> listMaterial = ESalesUnityContainer.Container.Resolve<IMaterialTypeService>() .GetMaterialTypeList(false); //Loops through list of materials and create mapping between agent and material foreach (var material in listMaterial) { AgentMaterialPercentageDTO agentMaterialPercentageDetails = new AgentMaterialPercentageDTO(); agentMaterialPercentageDetails.AMP_Agent_Id = agentEntity.Agent_Id; agentMaterialPercentageDetails.AMP_MaterialType_Id = material.MaterialType_Id; agentMaterialPercentageDetails.AMP_IsActive = true; agentMaterialPercentageDetails.AMP_CreatedBy = agentEntity.Agent_CreatedBy; AgentMaterialPercentageService agentMatPercentageService = new AgentMaterialPercentageService(); //Save agent material mapping agentMatPercentageService.SaveAgentMaterialPercentage(agentMaterialPercentageDetails); } } return agentEntity.Agent_Id; }
/// <summary> /// Delete agent details by agent Id /// </summary> /// <param name="agentID">Agent Id</param> public void DeleteAgent(int agentId) { using (TransactionScope transactionScope = new TransactionScope()) { AgentMaterialPercentageService agentMatPercentageService = new AgentMaterialPercentageService(); IList<AgentMaterialPercentageDTO> lstAgentMaterialPercentage = agentMatPercentageService.GetAgentMaterialPercentByAgentId(agentId); foreach (AgentMaterialPercentageDTO item in lstAgentMaterialPercentage) { AgentMaterialPercentageDTO agentMaterialPercentage = agentMatPercentageService .GetAgentMaterialPercentageByAMPId(item.AMP_Id); agentMaterialPercentage.AMP_IsDeleted = true; agentMatPercentageService.UpdateAgentPercentage(agentMaterialPercentage); } AgentDTO agentDetails = GetAgentByAgentId(agentId); agentDetails.Agent_IsDeleted = true; agentdetail agentEntity = new agentdetail(); AutoMapper.Mapper.Map(agentDetails, agentEntity); ESalesUnityContainer.Container.Resolve<IGenericRepository<agentdetail>>().Update(agentEntity); //Commit transaction transactionScope.Complete(); } }
/// <summary> /// Delete Material Type by materialTypeId /// </summary> /// <param name="materialTypeId">Int32:materialTypeId</param> public void DeleteMaterialType(int materialTypeId) { using (TransactionScope transactionScope = new TransactionScope()) { MaterialTypeDTO materialTypeDetails = new MaterialTypeDTO(); materialTypeDetails = ESalesUnityContainer.Container.Resolve<IMaterialTypeService>() .GetMaterialTypeById(materialTypeId); materialTypeDetails.MaterialType_IsDeleted = true; UpdateMaterialType(materialTypeDetails); AgentMaterialPercentageService agentMatPercentageService = new AgentMaterialPercentageService(); IList<AgentMaterialPercentageDTO> lstAgentMaterialPercentage = agentMatPercentageService .GetAgentMaterialPercentByMaterialTypeId(materialTypeId); foreach (var percent in lstAgentMaterialPercentage) { AgentMaterialPercentageDTO agentMaterialPercentage = agentMatPercentageService .GetAgentMaterialPercentageByAMPId(percent.AMP_Id); agentMaterialPercentage.AMP_IsDeleted = true; ESalesUnityContainer.Container.Resolve<IAgentMaterialPercentageService>() .UpdateAgentPercentage(agentMaterialPercentage); } transactionScope.Complete(); } }