Пример #1
0
        /// <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;
        }
Пример #2
0
        /// <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();
            }
        }