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()); } }
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)); }