Beispiel #1
0
        public List <RDnDO2Model> GetDo2s(DateTime dt, SortState sortOrder)
        {
            if (dt == null)
            {
                dt = DateTime.Now;
            }

            var sql =
                @"SELECT RD.ID as RdId, DRD.ID as DrdId, DO.ID as Do2Id,
    A.FULL_AWB_NUMBER as FullAwbNumber, A.TECHNOLOGY as AwbTech, 
    RD.OPERATION_DATE as RdDate, ABS(RD.PIECES) as Pieces, ABS(RD.WEIGHT) as Weight
FROM DOCUSR.DOC_AWB_RECEIPT_DISPATCH RD
    INNER JOIN DOCUSR.DOC_AWB A ON A.ID = RD.DOC_ID
    LEFT JOIN DOCUSR.DOC_DO_RECEIPT_DISPATCH DRD ON DRD.AWB_REC_DISP_ID = RD.ID
    LEFT JOIN DOCUSR.DOC_DO_DO2 DO ON DO.REC_DISP_ID = DRD.ID
WHERE 
    A.TECHNOLOGY IN ('IMP', 'TRN')	
    AND A.IS_CUSTOMS_CONTROLLED = 1 
    AND A.IS_PREVENT_SVH_STORAGE = 0
    AND TO_CHAR(RD.OPERATION_DATE, 'DD-MM-YY') = :strDt
    AND RD.STATUS = 'Approved'
    AND RD.OPERATION_TYPE IN ('CLNT', 'EXP', 'DWW', 'DAA', 'DREX', 'ZTK', 'ZTKLOCK')
    AND DO.ID IS NULL ";

            using (var db = new OracleConnection(connectionString))
            {
                //var do1Id = "DO1-938595";
                //var res = db.Query<Do2Model>("SELECT ID, DOC_ID, STATUS, DO2_NUMBER as Do2Number, DO2_DATE FROM DOCUSR.DOC_DO_DO2 WHERE DOC_ID = :do1Id", new { do1Id }).ToList();

                var strDt = dt.ToString("dd-MM-yy");
                //var strDt = "22-04-21";

                //var res = db.Query<RDnDO2Model>(sql, new { strDt }).OrderBy(x => x.FullAwbNumber).ToList();
                var res = db.Query <RDnDO2Model>(sql, new { strDt });

                res = sortOrder switch
                {
                    SortState.AwbNumberDesc => res.OrderByDescending(x => x.FullAwbNumber),
                    SortState.AwbTechAsc => res.OrderBy(x => x.AwbTech),
                    SortState.AwbTechDesc => res.OrderByDescending(x => x.AwbTech),
                    _ => res.OrderBy(x => x.FullAwbNumber), // AwbNumberAsc
                };
                return(res.ToList());
            }
        }
Beispiel #2
0
        public WebAPI.DTO.IPagedResponse <FavoriteDTO> GetFavorites(int userId, int page, SortState sortOrder, bool isPagedRequestNeeded)
        {
            int pageSize       = 8;
            var favorites      = favoriteRepository.GetAllFavouritesOfByUserId(userId);
            var count          = favorites.Count();
            var pageNumber     = (int)Math.Ceiling(count / (double)pageSize);
            var favoriteSerial = mapper.Map <IEnumerable <FavoriteDTO> >(favorites.Where(s => s.ContentType == ContentType.Serial).Select(i => (_serialRepository.GetSerialById(i.ContentId))));
            var favoriteMovie  = mapper.Map <IEnumerable <FavoriteDTO> >(favorites.Where(s => s.ContentType == ContentType.Movie).Select(i => (_movieRepository.GetMovieById(i.ContentId))));

            foreach (var item in favoriteMovie)
            {
                item.ContentType = ContentType.Movie;
            }
            IEnumerable <FavoriteDTO> union = favoriteSerial.Union(favoriteMovie);

            union = sortOrder switch
            {
                SortState.NameDesc => union.OrderByDescending(s => s.Name),
                SortState.RatingAsc => union.OrderBy(s => s.Rating),
                SortState.RatingDesc => union.OrderByDescending(s => s.Rating),
                SortState.YearAsc => union.OrderBy(s => s.Year),
                SortState.YearDesc => union.OrderByDescending(s => s.Year),
                _ => union.OrderBy(s => s.Name),
            };
            List <FavoriteDTO> items;

            if (isPagedRequestNeeded)
            {
                items = union.Skip((page - 1) * pageSize).Take(pageSize).ToList();
            }
            else
            {
                items = union.ToList();
            }

            WebAPI.DTO.IPagedResponse <FavoriteDTO> pagedResponse = new WebAPI.DTO.IPagedResponse <FavoriteDTO>
            {
                PageNumber = pageNumber,
                PageSize   = pageSize,
                TotalCount = count,
                Data       = items
            };
            return(pagedResponse);
        }
        public ActionResult Index(int?coach, string name, SortState sortOrder = SortState.NameAsc)
        {
            ViewBag.Title = "Visitors info";
            //IQueryable<GymVisitor> users = db.GymVisitors.Include(p => p.CoachId);
            IQueryable <GymVisitor> users = db.GymVisitors.Where(p => p.CoachId != null);

            ViewData["NameSort"] = sortOrder == SortState.NameAsc ? SortState.NameDesc : SortState.NameAsc;
            users = sortOrder switch
            {
                SortState.NameDesc => users.OrderByDescending(s => s.LastName),
                SortState.CompanyAsc => users.OrderBy(s => s.LastName),
                SortState.CompanyDesc => users.OrderByDescending(s => s.LastName),
                _ => users.OrderBy(s => s.LastName),
            };

            if (coach != null && coach != 0)
            {
                users = users.Where(p => p.CoachId == coach);
            }
            if (!String.IsNullOrEmpty(name))
            {
                users = users.Where(p => p.LastName.Contains(name));
            }

            List <GymCoach> coaches = db.GymCoaches.ToList();

            // устанавливаем начальный элемент, который позволит выбрать всех
            coaches.Insert(0, new GymCoach {
                Id = 0, LastName = "All"
            });


            InfoVIewModel viewModel = new InfoVIewModel
            {
                GymVisitors = users.ToList(),
                Coaches     = new SelectList(coaches, "Id", "LastName"),
                SecondName  = name,
                GymCoaches  = coaches
            };


            return(View(viewModel));
        }