コード例 #1
0
        internal static IEnumerable <Expression <Func <PackSchedule, PackScheduleSummaryReturn> > > SplitSelectSummary()
        {
            var productionLocationKey = LocationProjectors.SelectLocationKey();
            var workTypeKey           = WorkTypeProjectors.SelectWorkTypeKey();
            var productKey            = ProductProjectors.SelectProductKey();
            var company = CustomerProjectors.SelectCompanyHeader();

            return(new[]
            {
                SelectBaseParameters().Merge(p => new PackScheduleSummaryReturn
                {
                    DateCreated = p.DateCreated,
                    ScheduledProductionDate = p.ScheduledProductionDate,
                    ProductionDeadline = p.ProductionDeadline,
                    OrderNumber = p.OrderNumber
                }).ExpandAll(),
                Projector <PackSchedule> .To(p => new PackScheduleSummaryReturn
                {
                    WorkTypeKeyReturn = workTypeKey.Invoke(p.WorkType),
                    ChileProductKeyReturn = productKey.Invoke(p.ChileProduct.Product),
                    ChileProductName = p.ChileProduct.Product.Name,
                }),
                Projector <PackSchedule> .To(p => new PackScheduleSummaryReturn
                {
                    ProductionLocationKeyReturn = productionLocationKey.Invoke(p.ProductionLineLocation),
                    Customer = new[] { p.Customer }.Where(c => c != null).Select(c => company.Invoke(c)).FirstOrDefault(),
                })
            });
        }
コード例 #2
0
        internal static Expression <Func <PackSchedule, CompanyHeaderReturn> > SelectCustomerHeader()
        {
            var customer = CustomerProjectors.SelectCompanyHeader();

            return(p => new[] { p.Customer }.Where(c => c != null).Select(c => customer.Invoke(c)).FirstOrDefault());
        }