Esempio n. 1
0
        public async Task <OpportunityFilter> ToFilter(OpportunityFilter filter)
        {
            if (filter.OrFilter == null)
            {
                filter.OrFilter = new List <OpportunityFilter>();
            }
            if (CurrentContext.Filters == null || CurrentContext.Filters.Count == 0)
            {
                return(filter);
            }
            List <Organization> Organizations = await OrganizationService.List(new OrganizationFilter
            {
                Skip      = 0,
                Take      = int.MaxValue,
                Selects   = OrganizationSelect.ALL,
                OrderBy   = OrganizationOrder.Id,
                OrderType = OrderType.ASC
            });

            foreach (var currentFilter in CurrentContext.Filters)
            {
                OpportunityFilter subFilter = new OpportunityFilter();
                filter.OrFilter.Add(subFilter);
                List <FilterPermissionDefinition> FilterPermissionDefinitions = currentFilter.Value;
                foreach (FilterPermissionDefinition FilterPermissionDefinition in FilterPermissionDefinitions)
                {
                    if (FilterPermissionDefinition.Name == nameof(subFilter.AppUserId))
                    {
                        subFilter.AppUserId = FilterBuilder.Merge(subFilter.AppUserId, FilterPermissionDefinition.IdFilter);
                    }
                }
            }
            return(filter);
        }
Esempio n. 2
0
        private OpportunityFilter ConvertFilterOpportunity(Contact_OpportunityFilterDTO Contact_OpportunityFilterDTO)
        {
            OpportunityFilter OpportunityFilter = new OpportunityFilter();

            OpportunityFilter.Selects   = OpportunitySelect.ALL;
            OpportunityFilter.Skip      = Contact_OpportunityFilterDTO.Skip;
            OpportunityFilter.Take      = Contact_OpportunityFilterDTO.Take;
            OpportunityFilter.OrderBy   = Contact_OpportunityFilterDTO.OrderBy;
            OpportunityFilter.OrderType = Contact_OpportunityFilterDTO.OrderType;

            OpportunityFilter.Id                      = Contact_OpportunityFilterDTO.Id;
            OpportunityFilter.Name                    = Contact_OpportunityFilterDTO.Name;
            OpportunityFilter.CompanyId               = Contact_OpportunityFilterDTO.CompanyId;
            OpportunityFilter.CustomerLeadId          = Contact_OpportunityFilterDTO.CustomerLeadId;
            OpportunityFilter.ClosingDate             = Contact_OpportunityFilterDTO.ClosingDate;
            OpportunityFilter.SaleStageId             = Contact_OpportunityFilterDTO.SaleStageId;
            OpportunityFilter.ProbabilityId           = Contact_OpportunityFilterDTO.ProbabilityId;
            OpportunityFilter.PotentialResultId       = Contact_OpportunityFilterDTO.PotentialResultId;
            OpportunityFilter.LeadSourceId            = Contact_OpportunityFilterDTO.LeadSourceId;
            OpportunityFilter.AppUserId               = Contact_OpportunityFilterDTO.AppUserId;
            OpportunityFilter.CurrencyId              = Contact_OpportunityFilterDTO.CurrencyId;
            OpportunityFilter.Amount                  = Contact_OpportunityFilterDTO.Amount;
            OpportunityFilter.ForecastAmount          = Contact_OpportunityFilterDTO.ForecastAmount;
            OpportunityFilter.Description             = Contact_OpportunityFilterDTO.Description;
            OpportunityFilter.OpportunityResultTypeId = Contact_OpportunityFilterDTO.OpportunityResultTypeId;
            OpportunityFilter.CreatorId               = Contact_OpportunityFilterDTO.CreatorId;
            OpportunityFilter.ContactId               = Contact_OpportunityFilterDTO.ContactId;
            OpportunityFilter.CreatedAt               = Contact_OpportunityFilterDTO.CreatedAt;
            OpportunityFilter.UpdatedAt               = Contact_OpportunityFilterDTO.UpdatedAt;
            return(OpportunityFilter);
        }
        private OpportunityFilter ConvertFilterDTOToFilterEntity(OpportunityReport_OpportunityReportFilterDTO OpportunityReport_OpportunityReportFilterDTO)
        {
            OpportunityFilter OpportunityFilter = new OpportunityFilter();

            OpportunityFilter.Selects   = OpportunitySelect.ALL;
            OpportunityFilter.Skip      = 0;
            OpportunityFilter.Take      = OpportunityReport_OpportunityReportFilterDTO.Take;
            OpportunityFilter.OrderType = OpportunityReport_OpportunityReportFilterDTO.OrderType;

            OpportunityFilter.Name          = OpportunityReport_OpportunityReportFilterDTO.OpportunityName;
            OpportunityFilter.Amount        = OpportunityReport_OpportunityReportFilterDTO.OpportunityAmount;
            OpportunityFilter.CompanyId     = OpportunityReport_OpportunityReportFilterDTO.OpportunityCompanyId;
            OpportunityFilter.SaleStageId   = OpportunityReport_OpportunityReportFilterDTO.OpportunitySaleStageId;
            OpportunityFilter.ProbabilityId = OpportunityReport_OpportunityReportFilterDTO.OpportunityProbabilityId;
            OpportunityFilter.ClosingDate   = OpportunityReport_OpportunityReportFilterDTO.OpportunityClosingDate;
            OpportunityFilter.CreatedAt     = OpportunityReport_OpportunityReportFilterDTO.OpportunityCreatedAt;

            return(OpportunityFilter);
        }
Esempio n. 4
0
        public async Task <ActionResult <int> > CountOpportunity([FromBody] Contact_OpportunityFilterDTO Contact_OpportunityFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            OpportunityFilter OpportunityFilter = ConvertFilterOpportunity(Contact_OpportunityFilterDTO);

            OpportunityFilter = await OpportunityService.ToFilter(OpportunityFilter);

            int count = await OpportunityService.Count(OpportunityFilter);

            return(count);
        }
Esempio n. 5
0
        public async Task <bool> ValidateId(Opportunity Opportunity)
        {
            OpportunityFilter OpportunityFilter = new OpportunityFilter
            {
                Skip = 0,
                Take = 10,
                Id   = new IdFilter {
                    Equal = Opportunity.Id
                },
                Selects = OpportunitySelect.Id
            };

            int count = await UOW.OpportunityRepository.Count(OpportunityFilter);

            if (count == 0)
            {
                Opportunity.AddError(nameof(OpportunityValidator), nameof(Opportunity.Id), ErrorCode.IdNotExisted);
            }
            return(count == 1);
        }
        public async Task <ActionResult <List <ContractReport_OpportunityDTO> > > FilterListOpportunity([FromBody] ContractReport_OpportunityFilterDTO ContractReport_OpportunityFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            OpportunityFilter OpportunityFilter = new OpportunityFilter();

            OpportunityFilter.Skip              = 0;
            OpportunityFilter.Take              = 20;
            OpportunityFilter.OrderBy           = OpportunityOrder.Id;
            OpportunityFilter.OrderType         = OrderType.ASC;
            OpportunityFilter.Selects           = OpportunitySelect.ALL;
            OpportunityFilter.Id                = ContractReport_OpportunityFilterDTO.Id;
            OpportunityFilter.Name              = ContractReport_OpportunityFilterDTO.Name;
            OpportunityFilter.CompanyId         = ContractReport_OpportunityFilterDTO.CompanyId;
            OpportunityFilter.CustomerLeadId    = ContractReport_OpportunityFilterDTO.CustomerLeadId;
            OpportunityFilter.ClosingDate       = ContractReport_OpportunityFilterDTO.ClosingDate;
            OpportunityFilter.SaleStageId       = ContractReport_OpportunityFilterDTO.SaleStageId;
            OpportunityFilter.ProbabilityId     = ContractReport_OpportunityFilterDTO.ProbabilityId;
            OpportunityFilter.PotentialResultId = ContractReport_OpportunityFilterDTO.PotentialResultId;
            OpportunityFilter.LeadSourceId      = ContractReport_OpportunityFilterDTO.LeadSourceId;
            OpportunityFilter.AppUserId         = ContractReport_OpportunityFilterDTO.AppUserId;
            OpportunityFilter.Amount            = ContractReport_OpportunityFilterDTO.Amount;
            OpportunityFilter.ForecastAmount    = ContractReport_OpportunityFilterDTO.ForecastAmount;
            OpportunityFilter.Description       = ContractReport_OpportunityFilterDTO.Description;
            OpportunityFilter.CreatorId         = ContractReport_OpportunityFilterDTO.CreatorId;

            List <Opportunity> Opportunities = await OpportunityService.List(OpportunityFilter);

            List <ContractReport_OpportunityDTO> ContractReport_OpportunityDTOs = Opportunities
                                                                                  .Select(x => new ContractReport_OpportunityDTO(x)).ToList();

            return(ContractReport_OpportunityDTOs);
        }
Esempio n. 7
0
        public async Task <ActionResult <List <Contact_OpportunityDTO> > > ListOpportunity([FromBody] Contact_OpportunityFilterDTO Contact_OpportunityFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            OpportunityFilter OpportunityFilter = ConvertFilterOpportunity(Contact_OpportunityFilterDTO);

            OpportunityFilter = await OpportunityService.ToFilter(OpportunityFilter);

            List <Opportunity> Opportunities = await OpportunityService.List(OpportunityFilter);

            List <Contact_OpportunityDTO> Contact_OpportunityDTOs = Opportunities
                                                                    .Select(c => new Contact_OpportunityDTO(c)).ToList();

            return(Contact_OpportunityDTOs);
        }
Esempio n. 8
0
        public async Task <bool> ValidateOpportunity(CustomerLead CustomerLead)
        {
            if (CustomerLead.OpportunityId.HasValue == false)
            {
                CustomerLead.AddError(nameof(CustomerLeadValidator), nameof(CustomerLead.Opportunity), ErrorCode.OpportunityEmpty);
            }
            else
            {
                OpportunityFilter OpportunityFilter = new OpportunityFilter
                {
                    Id = new IdFilter {
                        Equal = CustomerLead.OpportunityId
                    }
                };

                var count = await UOW.OpportunityRepository.Count(OpportunityFilter);

                if (count == 0)
                {
                    CustomerLead.AddError(nameof(CustomerLeadValidator), nameof(CustomerLead.Opportunity), ErrorCode.OpportunityNotExisted);
                }
            }
            return(CustomerLead.IsValidated);
        }
Esempio n. 9
0
        public async Task <List <Opportunity> > List(OpportunityFilter OpportunityFilter)
        {
            try
            {
                List <Opportunity> Opportunitys = await UOW.OpportunityRepository.List(OpportunityFilter);

                return(Opportunitys);
            }
            catch (Exception ex)
            {
                if (ex.InnerException == null)
                {
                    await Logging.CreateSystemLog(ex, nameof(OpportunityService));

                    throw new MessageException(ex);
                }
                else
                {
                    await Logging.CreateSystemLog(ex.InnerException, nameof(OpportunityService));

                    throw new MessageException(ex.InnerException);
                }
            }
        }
Esempio n. 10
0
        public async Task <int> Count(OpportunityFilter OpportunityFilter)
        {
            try
            {
                int result = await UOW.OpportunityRepository.Count(OpportunityFilter);

                return(result);
            }
            catch (Exception ex)
            {
                if (ex.InnerException == null)
                {
                    await Logging.CreateSystemLog(ex, nameof(OpportunityService));

                    throw new MessageException(ex);
                }
                else
                {
                    await Logging.CreateSystemLog(ex.InnerException, nameof(OpportunityService));

                    throw new MessageException(ex.InnerException);
                }
            }
        }