コード例 #1
0
        private OrderQuoteFilter ConvertFilterOrderQuote(Contact_OrderQuoteFilterDTO Contact_OrderQuoteFilterDTO)
        {
            OrderQuoteFilter OrderQuoteFilter = new OrderQuoteFilter();

            OrderQuoteFilter.Selects   = OrderQuoteSelect.ALL;
            OrderQuoteFilter.Skip      = Contact_OrderQuoteFilterDTO.Skip;
            OrderQuoteFilter.Take      = Contact_OrderQuoteFilterDTO.Take;
            OrderQuoteFilter.OrderBy   = Contact_OrderQuoteFilterDTO.OrderBy;
            OrderQuoteFilter.OrderType = Contact_OrderQuoteFilterDTO.OrderType;

            OrderQuoteFilter.Id                        = Contact_OrderQuoteFilterDTO.Id;
            OrderQuoteFilter.Subject                   = Contact_OrderQuoteFilterDTO.Subject;
            OrderQuoteFilter.NationId                  = Contact_OrderQuoteFilterDTO.NationId;
            OrderQuoteFilter.ProvinceId                = Contact_OrderQuoteFilterDTO.ProvinceId;
            OrderQuoteFilter.DistrictId                = Contact_OrderQuoteFilterDTO.DistrictId;
            OrderQuoteFilter.Address                   = Contact_OrderQuoteFilterDTO.Address;
            OrderQuoteFilter.InvoiceAddress            = Contact_OrderQuoteFilterDTO.InvoiceAddress;
            OrderQuoteFilter.InvoiceProvinceId         = Contact_OrderQuoteFilterDTO.InvoiceProvinceId;
            OrderQuoteFilter.InvoiceDistrictId         = Contact_OrderQuoteFilterDTO.InvoiceDistrictId;
            OrderQuoteFilter.InvoiceNationId           = Contact_OrderQuoteFilterDTO.InvoiceNationId;
            OrderQuoteFilter.ZIPCode                   = Contact_OrderQuoteFilterDTO.ZIPCode;
            OrderQuoteFilter.InvoiceZIPCode            = Contact_OrderQuoteFilterDTO.InvoiceZIPCode;
            OrderQuoteFilter.AppUserId                 = Contact_OrderQuoteFilterDTO.AppUserId;
            OrderQuoteFilter.ContactId                 = Contact_OrderQuoteFilterDTO.ContactId;
            OrderQuoteFilter.CompanyId                 = Contact_OrderQuoteFilterDTO.CompanyId;
            OrderQuoteFilter.OpportunityId             = Contact_OrderQuoteFilterDTO.OpportunityId;
            OrderQuoteFilter.OrderQuoteStatusId        = Contact_OrderQuoteFilterDTO.OrderQuoteStatusId;
            OrderQuoteFilter.SubTotal                  = Contact_OrderQuoteFilterDTO.SubTotal;
            OrderQuoteFilter.Total                     = Contact_OrderQuoteFilterDTO.Total;
            OrderQuoteFilter.TotalTaxAmount            = Contact_OrderQuoteFilterDTO.TotalTaxAmount;
            OrderQuoteFilter.GeneralDiscountPercentage = Contact_OrderQuoteFilterDTO.GeneralDiscountPercentage;
            OrderQuoteFilter.GeneralDiscountAmount     = Contact_OrderQuoteFilterDTO.GeneralDiscountAmount;
            OrderQuoteFilter.CreatedAt                 = Contact_OrderQuoteFilterDTO.CreatedAt;
            return(OrderQuoteFilter);
        }
コード例 #2
0
        public async Task <OrderQuoteFilter> ToFilter(OrderQuoteFilter filter)
        {
            if (filter.OrFilter == null)
            {
                filter.OrFilter = new List <OrderQuoteFilter>();
            }
            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)
            {
                OrderQuoteFilter subFilter = new OrderQuoteFilter();
                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);
                    }
                    if (FilterPermissionDefinition.Name == nameof(CurrentContext.UserId) && FilterPermissionDefinition.IdFilter != null)
                    {
                        if (FilterPermissionDefinition.IdFilter.Equal.HasValue && FilterPermissionDefinition.IdFilter.Equal.Value == CurrentUserEnum.IS.Id)
                        {
                            if (subFilter.AppUserId == null)
                            {
                                subFilter.AppUserId = new IdFilter {
                                }
                            }
                            ;
                            subFilter.AppUserId.Equal = CurrentContext.UserId;
                        }
                        if (FilterPermissionDefinition.IdFilter.Equal.HasValue && FilterPermissionDefinition.IdFilter.Equal.Value == CurrentUserEnum.ISNT.Id)
                        {
                            if (subFilter.AppUserId == null)
                            {
                                subFilter.AppUserId = new IdFilter {
                                }
                            }
                            ;
                            subFilter.AppUserId.NotEqual = CurrentContext.UserId;
                        }
                    }
                }
            }
            return(filter);
        }
    }
}
コード例 #3
0
        public async Task <ActionResult <int> > CountOrderQuote([FromBody] Contact_OrderQuoteFilterDTO Contact_OrderQuoteFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            OrderQuoteFilter OrderQuoteFilter = ConvertFilterOrderQuote(Contact_OrderQuoteFilterDTO);

            OrderQuoteFilter = await OrderQuoteService.ToFilter(OrderQuoteFilter);

            int count = await OrderQuoteService.Count(OrderQuoteFilter);

            return(count);
        }
コード例 #4
0
        public async Task <bool> ValidateId(OrderQuote OrderQuote)
        {
            OrderQuoteFilter OrderQuoteFilter = new OrderQuoteFilter
            {
                Skip = 0,
                Take = 10,
                Id   = new IdFilter {
                    Equal = OrderQuote.Id
                },
                Selects = OrderQuoteSelect.Id
            };

            int count = await UOW.OrderQuoteRepository.Count(OrderQuoteFilter);

            if (count == 0)
            {
                OrderQuote.AddError(nameof(OrderQuoteValidator), nameof(OrderQuote.Id), ErrorCode.IdNotExisted);
            }
            return(count == 1);
        }
コード例 #5
0
        public async Task <ActionResult <List <Contact_OrderQuoteDTO> > > ListOrderQuote([FromBody] Contact_OrderQuoteFilterDTO Contact_OrderQuoteFilterDTO)
        {
            if (UnAuthorization)
            {
                return(Forbid());
            }
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            OrderQuoteFilter OrderQuoteFilter = ConvertFilterOrderQuote(Contact_OrderQuoteFilterDTO);

            OrderQuoteFilter = await OrderQuoteService.ToFilter(OrderQuoteFilter);

            List <OrderQuote> OrderQuotes = await OrderQuoteService.List(OrderQuoteFilter);

            List <Contact_OrderQuoteDTO> Contact_OrderQuoteDTOs = OrderQuotes
                                                                  .Select(c => new Contact_OrderQuoteDTO(c)).ToList();

            return(Contact_OrderQuoteDTOs);
        }
コード例 #6
0
        public async Task <List <OrderQuote> > List(OrderQuoteFilter OrderQuoteFilter)
        {
            try
            {
                List <OrderQuote> OrderQuotes = await UOW.OrderQuoteRepository.List(OrderQuoteFilter);

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

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

                    throw new MessageException(ex.InnerException);
                }
            }
        }
コード例 #7
0
        public async Task <int> Count(OrderQuoteFilter OrderQuoteFilter)
        {
            try
            {
                int result = await UOW.OrderQuoteRepository.Count(OrderQuoteFilter);

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

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

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