Ejemplo n.º 1
0
        public List <MealMenuListItemView> GetByFilter(MealMenuFilterView filter, int pageSize, int pageIndex, string orderByField, bool orderByAsc, out int totalCount)
        {
            var query = Repository.Query <MealMenu>();

            if (filter.MealTypeId > 0)
            {
                query = query.Where(d => d.MealType == filter.MealTypeId);
            }
            if (filter.RecordStatusId > 0)
            {
                query = query.Where(d => d.RecordStatus == filter.RecordStatusId);
            }
            if (filter.StartDate.HasValue)
            {
                query = query.Where(d => d.ValidDate >= filter.StartDate);
            }
            if (filter.EndDate.HasValue)
            {
                query = query.Where(d => d.ValidDate <= filter.EndDate);
            }
            if (filter.MenuId.HasValue)
            {
                query = query.Where(d => new[] { filter.MenuId.Value }.Contains(d.Menu.Id));
            }


            totalCount = query.Count();

            switch (orderByField)
            {
            case "Id":
                query = orderByAsc ? query.OrderBy(c => c.Id) : query.OrderByDescending(c => c.Id);
                break;

            case "MealType":
                query = orderByAsc ? query.OrderBy(c => c.MealType) : query.OrderByDescending(c => c.MealType);
                break;

            case "ValidDate":
                query = orderByAsc ? query.OrderBy(c => c.ValidDate) : query.OrderByDescending(c => c.ValidDate);
                break;

            case "ModifiedAt":
                query = orderByAsc ? query.OrderBy(c => c.ModifiedAt) : query.OrderByDescending(c => c.ModifiedAt);
                break;

            default:
                query = orderByAsc ? query.OrderBy(c => new { c.Id }) : query.OrderByDescending(c => new { c.Id });
                break;
            }

            if (pageSize > 0)
            {
                query = query.Skip((pageIndex - 1) * pageSize).Take(pageSize);
            }

            var mealMenuList = query.AsEnumerable().Select(d => d.ToView <MealMenuListItemView>()).ToList();

            return(mealMenuList);
        }
Ejemplo n.º 2
0
        public List <MealMenuListItemView> GetByFilter1(MealMenuFilterView filter, int pageSize, int pageIndex, string orderByField, bool orderByAsc, out int totalCount)
        {
            var query1 = Repository.Query <MealMenu>();

            //var menuss = { filter.MenuId.Value }
            var menu = filter.MenuId;

            if (filter.MenuId == null)
            {
                menu = 0;
            }
            var query = from schools in Repository.Query <School>()
                        join mmo in Repository.Query <MealMenuOrder>() on schools.Id equals mmo.School.Id
                        join mmoi in Repository.Query <MealMenuOrderItem>() on mmo.Id equals mmoi.MealMenuOrder.Id
                        join mm in Repository.Query <MealMenu>() on mmoi.MealMenu.Id equals mm.Id
                        join m in Repository.Query <Menu>() on mm.Menu.Id equals m.Id
                        where (mm.ValidDate >= filter.StartDate && mm.ValidDate <= filter.EndDate) && mm.MealType == filter.MealTypeId &&
                        mm.RecordStatus == (long)RecordStatuses.Active && schools.Menu == menu && mmoi.RecordStatus == (long)RecordStatuses.Active
                        select
                        new
            {
                schoolName         = schools.Name,
                totalCount         = mmoi.TotalCount,
                menuName           = m.Name,
                menuID             = m.Id,
                MealMenuId         = mm.Id,
                validDate          = mm.ValidDate,
                menuTypeId         = m.MenuType,
                breakfast          = schools.BreakfastOVSType,
                FServiceType       = schools.FoodServiceType,
                SType              = schools.SchoolType,
                mealType           = mm.MealType,
                LunchOVS           = schools.LunchOVSType,
                ModifiedAt         = mm.ModifiedAt,
                Status             = mm.RecordStatus,
                Menusid            = mm.Menu.Id,
                AdditionalFruit    = m.AdditionalFruit,
                AdditionalVeg      = m.AdditionalVeg,
                CreatedAt          = m.CreatedAt,
                CreatedBy          = m.CreatedBy,
                CreatedByFullName  = m.CreatedByFullName,
                MenuType           = m.MenuType,
                ModifiedAt1        = m.ModifiedAt,
                ModifiedBy         = m.ModifiedBy,
                ModifiedByFullName = m.ModifiedByFullName,
                ModifiedReason     = m.ModifiedReason,
                Name         = m.Name,
                RecordStatus = m.RecordStatus,
                SchoolType   = m.SchoolType
            };
            var queryResuls = query.AsEnumerable().Distinct().ToList();

            var query2 = Repository.Query <Menu>();

            //if (filter.MealTypeId > 0)
            //    query = query.Where(d => d.MealType == filter.MealTypeId);
            //if (filter.MenuId > 0)
            //    query = query.Where(d => d.Menu.Id == filter.MenuId);
            //if (filter.RecordStatusId > 0)
            //    query = query.Where(d => d.RecordStatus == filter.RecordStatusId);
            //if (filter.StartDate.HasValue)
            //    query = query.Where(d => d.ValidDate >= filter.StartDate);
            //if (filter.EndDate.HasValue)
            //    query = query.Where(d => d.ValidDate <= filter.EndDate);
            //if (filter.MenuId.HasValue)
            //    query = query.Where(d => new[]{filter.MenuId.Value}.Contains(d.menuID));


            totalCount = query.Count();

            switch (orderByField)
            {
            case "Id":
                query = orderByAsc ? query.OrderBy(c => c.MealMenuId) : query.OrderByDescending(c => c.MealMenuId);
                break;

            case "MealType":
                query = orderByAsc ? query.OrderBy(c => c.mealType) : query.OrderByDescending(c => c.mealType);
                break;

            case "ValidDate":
                query = orderByAsc ? query.OrderBy(c => c.validDate) : query.OrderByDescending(c => c.validDate);
                break;

            case "ModifiedAt":
                query = orderByAsc ? query.OrderBy(c => c.ModifiedAt) : query.OrderByDescending(c => c.ModifiedAt);
                break;

            default:
                query = orderByAsc ? query.OrderBy(c => new { c.MealMenuId }) : query.OrderByDescending(c => new { c.MealMenuId });
                break;
            }

            if (pageSize > 0)
            {
                query = query.Skip((pageIndex - 1) * pageSize).Take(pageSize);
            }
            List <Menu> menus = new List <Menu>();

            var mealMenuList = query.AsEnumerable().Select(m => new MealMenuListItemView
            {
                Id           = m.MealMenuId,
                MealType     = Lookups.GetItem <MealTypes>(m.mealType),
                ValidDate    = m.validDate,
                RecordStatus = Lookups.GetItem <RecordStatuses>(m.Status),
                Menu         = new MenuView
                {
                    Id = m.menuID,
                    AdditionalFruit   = m.AdditionalFruit,
                    AdditionalVeg     = m.AdditionalVeg,
                    CreatedAt         = m.CreatedAt,
                    CreatedBy         = m.CreatedBy,
                    CreatedByFullName = m.CreatedByFullName,
                    MenuType          = Lookups.MenuTypeList.FirstOrDefault(k => k.Id == m.MenuType),
                    // Foods = Lookups.GetItem <FoodTypes>(m.Foods),
                    //MenuType = new GeneralItemView { Text =  ,
                    //    Value = Lookups.GetItem<MenuTypes>(m.MenuType).Value , Id =
                    //    Lookups.GetItem<MenuTypes>(m.MenuType).Id
                    //},
                    ModifiedAt         = m.ModifiedAt1,
                    ModifiedBy         = m.ModifiedBy,
                    ModifiedByFullName = m.ModifiedByFullName,
                    ModifiedReason     = m.ModifiedReason,
                    Name         = m.Name,
                    RecordStatus = Lookups.GetItem <RecordStatuses>(m.Status),
                    SchoolType   = Lookups.GetItem <MenuSchoolTypes>(m.SchoolType)
                }
            }).ToList();

            return(mealMenuList);
        }