Exemplo n.º 1
0
        //public IList<RoomTypeSearchResultDTO> getRoomTypeBySearchCriteria(RoomTypeSearchCriteriaDTO searchCriteria, PagingInformation pageInfo)
        //{
        //    IList<string> hotelCodeList = userAccountService.GetUserMappedHotelCodes(searchCriteria.UserName);
        //    if (hotelCodeList != null && hotelCodeList.Any())
        //    {
        //        List<RoomType_Code> roomtypeList = (from grtc in roomtypeRepo.GetAll()
        //                                            where hotelCodeList.Contains(grtc.Hotel_Code)
        //                                            select grtc).ToList();

        //        //Hotel Name
        //        if (!string.IsNullOrWhiteSpace(searchCriteria.HotelName))
        //        {
        //            roomtypeList = roomtypeList.Where(p => p.Hotel_Code == searchCriteria.HotelName).ToList();
        //        }

        //        pageInfo.RecordsTotal = roomtypeList.Count();

        //        //Setup Order, the order that passed in like "columnname asc, columnname desc"
        //        //if (pageInfo.OrderColumn.Contains("UpgradeType"))
        //        //{
        //        //    pageInfo.OrderColumn = pageInfo.OrderColumn.Replace("UpgradeType", "AddOnYn");
        //        //}

        //        if (!string.IsNullOrWhiteSpace(pageInfo.OrderColumn))
        //        {
        //            string orderString = pageInfo.OrderColumn.TrimEnd(',');
        //            roomtypeList = roomtypeList.AsQueryable().OrderBy(orderString).ToList();
        //        }
        //        else
        //        {
        //            roomtypeList = roomtypeList.AsQueryable().OrderByDescending(p => p.id).ToList();
        //        }
        //        //var ordercolumns = query.OrderBy(p)

        //        //Setup paging
        //        if (pageInfo.PageSize == -1 && pageInfo.StartIndex == -1)
        //        {

        //        }
        //        else
        //        {
        //            roomtypeList = roomtypeList.AsQueryable().Skip(pageInfo.StartIndex).Take(pageInfo.PageSize).ToList();
        //        }
        //        //Get column that we need
        //        var list = roomtypeList.AsQueryable().Select(x => new RoomTypeSearchResultDTO()
        //        {
        //            id = x.id,
        //            Hotel_Code = x.Hotel_Code,
        //            RoomCode = x.RoomCode,
        //            RoomDescription = x.RoomDescription,
        //            RoomLongDescription = x.RoomLongDescription,
        //            PriceDesc = x.PriceDesc,
        //            PerNightCharge = x.PerNightCharge,
        //            IsActive = x.IsActive,
        //            AddOnYN = x.AddOnYN,
        //            ImageYN = x.ImageYN,
        //            UpgradeType = x.AddOnYN=="Y"? "Add-on": "Room",
        //        }).ToList();

        //        return list;
        //    }
        //    else
        //        return null;
        //}

        public IList <RoomTypeSearchResultDTO> getRoomTypeBySearchCriteria(RoomTypeSearchCriteriaDTO searchCriteria, PagingInformation pageInfo)
        {
            IList <RoomTypeSearchResultDTO> list = roomtypeRepo.GetRateTypeBySearchCriteria(searchCriteria, pageInfo);

            var query = list.AsEnumerable();

            //Get all rateTypes
            pageInfo.RecordsTotal = query.Count();

            if (!string.IsNullOrWhiteSpace(pageInfo.OrderColumn))
            {
                var orderString = pageInfo.OrderColumn.TrimEnd(',');
                query = query.OrderBy(orderString);
            }
            else
            {
                query = query.OrderByDescending(p => p.id);
            }

            //Setup paging
            if (pageInfo.PageSize == -1 && pageInfo.StartIndex == -1)
            {
            }
            else
            {
                query = query.Skip(pageInfo.StartIndex).Take(pageInfo.PageSize);
            }

            return(query.ToList());
        }
Exemplo n.º 2
0
        public byte[] GenerateRoomTypeExcelBySearchCriteria(RoomTypeSearchCriteriaDTO searchCriteria, PagingInformation pageInfo)
        {
            //For excel export, we need to export all records.
            //So set the pageindex and pagesize to -1
            pageInfo.StartIndex = -1;
            pageInfo.PageSize   = -1;

            var list = getRoomTypeBySearchCriteria(searchCriteria, pageInfo);

            //Get excel export list
            var excelList = mapper.Map <IList <RoomTypeExportExcelModel> >(list);

            return(excelList.ToExcelContent());
        }
        public IList <RoomTypeSearchResultDTO> GetRateTypeBySearchCriteria(RoomTypeSearchCriteriaDTO searchCriteria, PagingInformation pageInfo)
        {
            List <RoomTypeSearchResultDTO> list = new List <RoomTypeSearchResultDTO>();

            try
            {
                string query    = @" select distinct id = r.ID, 
                    Hotel_Code = r.Hotel_Code,
                    RoomCode = r.RoomCode, 
                    RoomDescription= r.RoomDescription, 
                    RoomLongDescription= r.RoomLongDescription,
                    r.UpgradeType,-- = case when r.AddOnYN ='Y' then  'Add-on' else 'Room' end,
                    t.UpgradeTypeDisplayName,
                    AddOnYN= Case when r.UpgradeType like '%Room%' then 'Y' else 'N'end, --r.AddOnYN,
                    ImageYN= r.ImageYN,
                    TotalRoom=r.TotalRoom,
                    Threshold= r.Threshold,
                    PriceDesc = r.PriceDesc,
                    PerNightCharge=r.PerNightCharge,
                    IsActive = r.IsActive,
                    DateFormat = h.DateFormat 
                    from RoomType_Code r with(nolock)
                    INNER JOIN eUpgradeTransactionCode t WITH ( NOLOCK ) ON r.Hotel_Code = t.HotelCode AND r.UpgradeType = t.UpgradeType
                    join Hotels h with (nolock) on r.Hotel_Code = h.Hotel_Code
                    join Hotels_Languages hl with (nolock) on r.Hotel_Code = hl.hotel_code and r.languageid = hl.LanguageID and hl.sortorder = 1";
                var    subquery = "";
                //Hotel Name
                if (!string.IsNullOrWhiteSpace(searchCriteria.HotelName))
                {
                    subquery += string.Format("h.Hotel_Code = '{0}' and ", searchCriteria.HotelName);
                }
                else
                {
                    //Based on user hotel mapping to get back hotel list, then only show those hotels
                    subquery += string.Format(@"exists (select HotelCode from ConciergeHotelAccessMapping hm with (nolock)
	                    Where hm.ActiveYN = 1 and hm.HotelCode = r.Hotel_Code and hm.ConciergeID = N'{0}') and "    , searchCriteria.UserName);
                }

                if (!string.IsNullOrEmpty(subquery))
                {
                    subquery = subquery.Substring(0, subquery.Length - " and ".Length);
                    query   += " and (" + subquery + ")";
                }
                list = this.DataContext.Database.SqlQuery <RoomTypeSearchResultDTO>(query).ToList();

                // add filter feature for the upgrade types page
                if (null != pageInfo)
                {
                    var filterValue = pageInfo.FilterValue.ToLower();
                    if (!string.IsNullOrWhiteSpace(filterValue) && !string.IsNullOrEmpty(filterValue))
                    {
                        list = list.Where(x =>
                                          (x.Hotel_Code ?? "").ToLower().Contains(filterValue) ||
                                          (x.RoomCode ?? "").ToLower().Contains(filterValue) ||
                                          (x.RoomDescription ?? "").ToLower().Contains(filterValue) ||
                                          (x.RoomLongDescription ?? "").ToLower().Contains(filterValue) ||
                                          (x.UpgradeTypeDisplayName ?? "").ToLower().Contains(filterValue) ||
                                          (x.ImageYN.ToLower() ?? "").Contains(filterValue) ||
                                          (x.PriceDesc ?? "").ToLower().Contains(filterValue)
                                          ).ToList();
                    }
                }
            }
            catch (Exception ex)
            {
                var error = ex.Message;
            }
            return(list);
        }