コード例 #1
0
        protected override void GetData()
        {
            UnitOfWork = Container.Resolve <IUnitOfWork>();

            //шеф-монтажи (сохраненные)
            var supervisions = UnitOfWork.Repository <Model.POCOs.Supervision>().Find(x => x.SalesUnit.Project.Manager.IsAppCurrentUser());

            Wrappers = supervisions.Select(supervision => new SupervisionWr(supervision)).ToList();

            //выигранное оборудование со включенным шеф-монтажом
            var salesUnits = UnitOfWork.Repository <SalesUnit>()
                             .Find(x => !x.IsRemoved && x.IsWon && x.Project.Manager.IsAppCurrentUser())       //только выигранное оборудование
                             .Except(supervisions.Select(x => x.SalesUnit))                                    //еще не сохраненное
                             .Where(x => x.ProductsIncluded.Any(pi => pi.Product.ProductBlock.IsSupervision)); //в которое включен шеф-монтаж

            Wrappers.AddRange(salesUnits.Select(x => new SupervisionWr(x)));
        }