public static LodgingListModel GetHotels(string hotelName, string userkey) { using (var dc = new TurismoDataContext()) { var key = Guid.Empty; Guid.TryParse(userkey, out key); var hotels = dc.Alojamientos.Where(p => p.ACTIVO == true && p.ALTACONFIRMADA == 1 && p.CODIGOBLOQUEO == 0 && p.NOMBRE.Contains(hotelName)); List <LodgingModel> lodgings = new List <LodgingModel>(); foreach (var hotel in hotels) { LodgingModel lodging = new LodgingModel { LodgingName = hotel.NOMBRE, LodgingId = hotel.IDALOJ.ToString() }; lodgings.Add(lodging); } var lodgingsmodel = new LodgingListModel { Lodgings = lodgings }; return(lodgingsmodel); } }
public ActionResult SearchHotels(SearchLodgingRequestModel searchLodgingRequestModel) { SessionData.UserCredential = Manager.GetCredential(Session["userkey"].ToString()); if (SessionData.UserCredential.Username == null) { return(View("Home")); } //searchLodgingRequestModel.DestinationType = string.IsNullOrEmpty(searchLodgingRequestModel.DestinationId) ? "NoEspecificado" : "Ciudad"; if (searchLodgingRequestModel.Rooms != null) { foreach (var room in searchLodgingRequestModel.Rooms) { switch (room.RoomTypeCode) { case "single": room.RoomType = RoomType.Single; break; case "doble": room.RoomType = RoomType.Double; break; case "triple": room.RoomType = RoomType.Triple; break; case "cuadruple": room.RoomType = RoomType.Quad; break; case "": break; } } } var results = Manager.SearchHotels(searchLodgingRequestModel, SessionData.UserCredential); if (results != null) { var model = new LodgingListModel(); model.Lodgings = results.Lodgings; if (searchLodgingRequestModel.DisplayType == "tar") { model.DisplayType = "tar"; } else { model.DisplayType = "det"; } return(Json(model, JsonRequestBehavior.AllowGet)); } else { return(null); } }
public LodgingListModel SearchHotel(string hotelName) { var result = new LodgingListModel(); var lodgings = new List <LodgingModel>(); using (var dc = new TurismoDataContext()) { lodgings = dc.Alojamientos.Where(a => a.NOMBRE.Contains(hotelName) && a.ACTIVO == true).Select(a => new LodgingModel() { LodgingName = a.NOMBRE, LodgingId = a.IDALOJ.ToString(), DestinationId = a.IDCIUDAD.ToString(), }).ToList(); } result.Lodgings = lodgings; return(result); }
public ActionResult InternationalSearchResults(SearchLodgingRequestModel searchLodgingRequest) { //SessionData.UserCredential = Manager.GetCredential(searchLodgingRequest.UserKey); //int room1 = 0, room2 = 0, room3 = 0, room4 = 0, room5 = 0, room6 = 0, adultCount = 0, bedCount = 0; if (searchLodgingRequest.Rooms == null || searchLodgingRequest.Rooms.Count() == 0) { searchLodgingRequest.Rooms = new List <SearchLodgingModel> { new SearchLodgingModel { Count = 1, RoomTypeCode = "NMO.HTL.RMT.SGL" } }; } if (searchLodgingRequest.Rooms != null) { foreach (var room in searchLodgingRequest.Rooms) { switch (room.RoomTypeCode) { case "NMO.HTL.RMT.SGL": room.RoomType = RoomType.Single; //room1 = 1; //adultCount = 1; //bedCount = 1; break; case "NMO.HTL.RMT.DBL.TSU": room.RoomType = RoomType.DSU; //room1 = 1; //adultCount = 1; //bedCount = 1; break; case "NMO.HTL.RMT.DBL": room.RoomType = RoomType.Double; //room2 = 1; //adultCount = 2; //bedCount = 1; break; case "NMO.HTL.RMT.DBL.TWN": room.RoomType = RoomType.Twin; //room2 = 1; //adultCount = 2; //bedCount = 2; break; case "NMO.HTL.RMT.TPL": room.RoomType = RoomType.Triple; //room3 = 1; //adultCount = 3; //bedCount = 3; break; case "NMO.HTL.RMT.QUA": room.RoomType = RoomType.Quad; //room4 = 1; //adultCount = 4; //bedCount = 4; break; case "NMO.HTL.RMT.PEN": room.RoomType = RoomType.Quintuple; //room5 = 1; //adultCount = 5; //bedCount = 5; break; case "NMO.HTL.RMT.HEX": room.RoomType = RoomType.Sextuple; //room6 = 1; //adultCount = 6; //bedCount = 6; break; } } } var results = Manager.SearchLodging(searchLodgingRequest, SessionData.UserCredential); var model = new LodgingListModel(); //model.Lodgings = results.Lodgings.Where(l => l.Vacancies.Where(v => v.VacancyAdults == adultCount && v.VacancyBeds == bedCount).Count() > 0).ToList(); //model.Lodgings.ForEach(l => l.Vacancies = l.Vacancies.Where(v => v.VacancyAdults == adultCount && v.VacancyBeds == bedCount).ToList()); model.Lodgings = results.Lodgings; return(View(model)); }
public ActionResult NationalSearchResults(SearchLodgingRequestModel searchLodgingRequestModel) { SessionData.UserCredential = Manager.GetCredential(searchLodgingRequestModel.UserKey); if (SessionData.User.UserId == Guid.Empty) { SessionData.User = ServiceManager.GetUser(searchLodgingRequestModel.UserKey); } int adultCount = 0, bedCount = 0; if (searchLodgingRequestModel.Rooms == null || searchLodgingRequestModel.Rooms.Count() == 0) { searchLodgingRequestModel.Rooms = new List <SearchLodgingModel> { //new SearchLodgingModel{ // Count = 1, // RoomTypeCode = "1 - Single" //} //new SearchLodgingModel{ // Count = 1, // RoomTypeCode = "1 - DSU" //}, new SearchLodgingModel { Count = 1, RoomTypeCode = "2 - Double" } //new SearchLodgingModel{ // Count = 1, // RoomTypeCode = "1 - Twin" //}, //new SearchLodgingModel{ // Count = 1, // RoomTypeCode = "1 - Triple" //}, //new SearchLodgingModel{ // Count = 1, // RoomTypeCode = "1 - Quad" //} }; } foreach (var room in searchLodgingRequestModel.Rooms) { switch (room.RoomTypeCode) { case "1 - Single": room.RoomType = RoomType.Single; adultCount += 1; bedCount += 1; break; case "1 - DSU": room.RoomType = RoomType.DSU; adultCount += 1; bedCount += 1; break; case "2 - Double": room.RoomType = RoomType.Double; adultCount += 2; bedCount += 1; break; case "2 - Twin": room.RoomType = RoomType.Twin; adultCount += 2; bedCount += 2; break; case "3 - Triple": room.RoomType = RoomType.Triple; adultCount += 3; bedCount += 3; break; case "4 - Quad": room.RoomType = RoomType.Quad; adultCount += 4; bedCount += 4; break; } } searchLodgingRequestModel.DestinationType = string.IsNullOrEmpty(searchLodgingRequestModel.DestinationId) ? "NoEspecificado" : "Ciudad"; var results = Manager.SearchLodging(searchLodgingRequestModel, SessionData.UserCredential); var model = new LodgingListModel(); model.Lodgings = results.Lodgings.Where(l => l.Vacancies.Where(v => v.VacancyAdults == adultCount && v.VacancyBeds == bedCount).Count() > 0).ToList(); model.Lodgings.ForEach(l => l.Vacancies = l.Vacancies.Where(v => v.VacancyAdults == adultCount && v.VacancyBeds == bedCount).ToList()); if (searchLodgingRequestModel.DisplayType == "tar") { model.DisplayType = "tar"; } else if (searchLodgingRequestModel.DisplayType == "det") { model.DisplayType = "det"; } ModelState.Clear(); return(View(model)); }
public LodgingListModel SearchLodging(SearchLodgingRequestModel searchLodgingRequestModel, Credential userCredential) { SessionData.SearchType = SearchType.National; var results = new LodgingListModel(); var lodgings = new List <LodgingModel>(); var petition = new PeticionBuscarAlojamientos(); CompletePetition(petition, userCredential); if (!string.IsNullOrEmpty(searchLodgingRequestModel.DestinationId)) { petition.IdDestino = Guid.Parse(searchLodgingRequestModel.DestinationId); } petition.TipoDestino = (TipoDestino)Enum.Parse(typeof(TipoDestino), searchLodgingRequestModel.DestinationType); petition.FechaInicio = searchLodgingRequestModel.Checkin; petition.FechaFin = searchLodgingRequestModel.Checkout; foreach (var room in searchLodgingRequestModel.Rooms) { switch (room.RoomType) { case RoomType.Single: case RoomType.DSU: petition.Habitacion1 = petition.Habitacion1 ?? 0 + room.Count; break; case RoomType.Double: case RoomType.Twin: petition.Habitacion2 = petition.Habitacion2 ?? 0 + room.Count; break; case RoomType.Triple: petition.Habitacion3 = petition.Habitacion3 ?? 0 + room.Count; break; case RoomType.Quad: petition.Habitacion4 = petition.Habitacion4 ?? 0 + room.Count; break; } } if (!string.IsNullOrEmpty(searchLodgingRequestModel.Order)) { petition.Orden = (OrdenAlojamientos)Enum.Parse(typeof(OrdenAlojamientos), searchLodgingRequestModel.Order); } if (!string.IsNullOrEmpty(searchLodgingRequestModel.Nationality)) { petition.Nacionalidad = searchLodgingRequestModel.Nationality; } if (!string.IsNullOrEmpty(searchLodgingRequestModel.LodgingName) && searchLodgingRequestModel.LodgingName != "{}") { petition.NombreAlojamiento = searchLodgingRequestModel.LodgingName; } var petitionResults = _service.BuscarAlojamientosEInfo(petition); if (petitionResults.Estado == EstadoRespuesta.Ok) { foreach (var lodging in petitionResults.AlojamientosDisponibles) { if (searchLodgingRequestModel.LodgingName == "{}" || lodging.Nombre.ToLower().Contains((searchLodgingRequestModel.LodgingName ?? string.Empty).ToLower())) { var lodgingModel = new LodgingModel { LodgingId = lodging.IdAlojamiento.ToString(), LodgingName = lodging.Nombre, LodgingDescription = lodging.Alojamiento.Descripcion, LodgingLocation = lodging.Alojamiento.Direccion, LodgingCity = lodging.Destino.NombreDestino, LodgingPhone = lodging.Alojamiento.Telefono, LodgingServices = lodging.Alojamiento.Amenidades, LodgingCategory = GetCategory(lodging.Alojamiento.Categoria), LodgingPhoto = lodging.Alojamiento.FotoAlojamientoUrl, LodgingPrice = CalculateTotalPrice(lodging, petition.Habitacion1 ?? 0, petition.Habitacion2 ?? 0, petition.Habitacion3 ?? 0, petition.Habitacion4 ?? 0, 0, 0), LodgingUnderPetition = lodging.Alojamiento.BajoPeticion, LodgingCancelationPolitic = lodging.Alojamiento.PoliticasCancelacion }; var currency = "$"; switch (lodging.Moneda.GetValueOrDefault()) { case Moneda.ARS: currency = "$"; break; case Moneda.EUR: currency = "€"; break; case Moneda.USD: currency = "U$S"; break; } lodgingModel.LodgingCurrency = currency; lodgingModel.LodgingCurrencyCode = MapCurrencyToNPS(lodging.Moneda.GetValueOrDefault()); var vacancies = new List <VacancyModel>(); var vacancyGroups = lodging.Alojamiento.Unidades.GroupBy(u => u.IdUnidad); foreach (var group in vacancyGroups) { var vacancy = group.Select(v => new VacancyModel { LodgingId = lodgingModel.LodgingId, LodgingName = lodgingModel.LodgingName, LodgingCurrency = lodgingModel.LodgingCurrency, VacancySelected = false, VacancyId = v.IdUnidad.ToString(), VacancyName = v.NombreUnidad, VacancyAdults = v.Personas, VacancyBeds = v.Camas, VacancyCount = v.Disponibles, //VacancyPrice = Decimal.Round(v.MontoPorUnidad, 0), VacancyCheckin = searchLodgingRequestModel.Checkin, VacancyCheckout = searchLodgingRequestModel.Checkout, VacancyDates = group.Select(vg => vg.Fecha).ToList(), Available = true, ConfirmedVacancyPrice = v.MontoPorUnidadRaCdTr, Rooms = new List <RoomModel> { new RoomModel { RoomId = v.IdUnidad.ToString(), RoomName = v.NombreUnidad, RoomAdults = v.Personas, RoomBeds = v.Camas, RoomCount = v.Disponibles } } }).First(); vacancies.Add(vacancy); } lodgingModel.Vacancies = vacancies; lodgings.Add(lodgingModel); } } } results.Lodgings = lodgings; return(results); }
//public LodgingListModel SearchLodging(string destinationId, string destinationType, string lodgingType, // DateTime checkin, DateTime checkout, // int room1, int room2, int room3, int room4, int room5, int room6, string order, CheckArgentina.Models.Credential userCredential) //{ public LodgingListModel SearchLodging(SearchLodgingRequestModel searchLodgingRequestModel, Credential userCredential) { SessionData.SearchType = SearchType.International; var results = new LodgingListModel(); var lodgings = new List <LodgingModel>(); var rqHotelAvail = new WSHCEV_main.HotelRoomPricedInventorySearchRQ(); var x = new System.Xml.Serialization.XmlSerializer(rqHotelAvail.GetType()); var sw = new System.IO.StringWriter(); var xw = new System.Xml.XmlTextWriter(sw); var wsRnd = new ServicioPruebaHeredado(); var roomTypes = CacheData.NemoRoomTypes; try { rqHotelAvail.Source = new WSHCEV_main.Source(); rqHotelAvail.Source.PricingSurferConfiguration = new WSHCEV_main.PricingSurferConfiguration(); rqHotelAvail.Source.PricingSurferConfiguration.PreferedLanguage = new WSHCEV_main.PreferedLanguage(); rqHotelAvail.Source.PricingSurferConfiguration.PreferedCurrency = new WSHCEV_main.PreferedCurrency(); rqHotelAvail.Source.PricingSurferConfiguration.ResponseSet = new WSHCEV_main.ResponseSet(); rqHotelAvail.Source.PricingSurferConfiguration.ResponseSet.SortingCriteria = new WSHCEV_main.SortingCriteria(); rqHotelAvail.Source.PricingSurferConfiguration.ContractId = 10273; // 10857; rqHotelAvail.Source.PricingSurferConfiguration.PreferedLanguage.LanguageCode = "es"; rqHotelAvail.Source.PricingSurferConfiguration.PreferedCurrency.CurrencyCode = "USD"; rqHotelAvail.Source.PricingSurferConfiguration.ResponseSet.FirstItem = 1; rqHotelAvail.Source.PricingSurferConfiguration.ResponseSet.ItemsPerPage = 10000; rqHotelAvail.Source.PricingSurferConfiguration.ResponseSet.SortingCriteria.ItemsCount = 1; rqHotelAvail.Source.PricingSurferConfiguration.ResponseSet.SortingCriteria.SortField = new WSHCEV_main.SortField[] { new WSHCEV_main.SortField { Sequence = 1, OrderBy = "ASC", SortFieldName = "name" } }; rqHotelAvail.Details = new WSHCEV_main.HotelRoomPricedInventorySearchRQDetails(); rqHotelAvail.Details.Criterion = new WSHCEV_main.HotelRoomPricedInventorySearchRQDetailsCriterion(); rqHotelAvail.Details.Criterion.Stay = new WSHCEV_main.Stay(); rqHotelAvail.Details.Criterion.Availability = "NMO.HTL.AVB.ALL"; rqHotelAvail.Details.Criterion.Stay.DestinationDetails = new WSHCEV_main.DestinationDetails(); rqHotelAvail.Details.Criterion.Stay.DestinationDetails.Destination = new WSHCEV_main.Destination[] { new WSHCEV_main.Destination { Sequence = 1, DestinationCode = searchLodgingRequestModel.DestinationId, DestinationType = "NMO.HTL.DST.CTY" } }; rqHotelAvail.Details.Criterion.Stay.DestinationDetails.ItemsCount = 1; rqHotelAvail.Details.Criterion.Stay.CheckIn = searchLodgingRequestModel.Checkin; rqHotelAvail.Details.Criterion.Stay.CheckOut = searchLodgingRequestModel.Checkout; rqHotelAvail.Details.Criterion.Stay.Rooms = new WSHCEV_main.AvailRequestRooms(); uint i = 1; var requestRooms = searchLodgingRequestModel.Rooms.Select(r => new WSHCEV_main.AvailRequestRoom { Sequence = i++, RoomType = r.RoomTypeCode, Guests = new WSHCEV_main.Guests { Guest = GetRequestGuests(r.ChildrenAges, GetAdultsByRoomType(r.RoomType)).ToArray() } }); rqHotelAvail.Details.Criterion.Stay.Rooms.Room = requestRooms.ToArray(); xw.Formatting = System.Xml.Formatting.None; x.Serialize(xw, rqHotelAvail); wsRnd.Timeout = 30000; var response = wsRnd.HotelAvail(sw.ToString()); var sr = new StringReader(response); x = new System.Xml.Serialization.XmlSerializer(typeof(WSHCEV_main.HotelRoomPricedInventorySearchRS)); var lodgingListRS = (WSHCEV_main.HotelRoomPricedInventorySearchRS)x.Deserialize(sr); sr.Close(); if (lodgingListRS != null && lodgingListRS.Item is WSHCEV_main.HotelRoomPricedInventorySearchRSDetails && ((WSHCEV_main.HotelRoomPricedInventorySearchRSDetails)lodgingListRS.Item).TinyHotels != null) { lodgings = ((WSHCEV_main.HotelRoomPricedInventorySearchRSDetails)lodgingListRS.Item).TinyHotels .Where(l => l.Rates.Count(r => r.Offer == WSHCEV_main.BooleanEnum.False) > 0).Select(l => new LodgingModel { LodgingId = l.Code, LodgingName = l.Name, LodgingDescription = "", LodgingCategory = (int)l.Rating.Value, LodgingCurrency = l.Rates.First().RatePrices.First().Currency, //"U$S" LodgingCurrencyCode = MapCurrencyToNPS(l.Rates.First().RatePrices.First().Currency), LodgingPrice = (decimal)l.Rates.First().RatePrices.First().Value, LodgingSupplierId = l.SupplierID, Vacancies = l.Rates.Where(r => r.Offer == WSHCEV_main.BooleanEnum.False).Select(r => new VacancyModel { LodgingId = l.Code, LodgingName = l.Name, LodgingCurrency = r.RatePrices.First().Currency, VacancyId = r.RateID, VacancyName = r.Rooms.First().Value + " / " + r.Boards.First().Value, VacancyPrice = (decimal)(r.RatePrices.First().Value / (searchLodgingRequestModel.Checkout - searchLodgingRequestModel.Checkin).TotalDays), VacancyCheckin = searchLodgingRequestModel.Checkin, VacancyCheckout = searchLodgingRequestModel.Checkout, VacancyDates = GetDatesBetween(searchLodgingRequestModel.Checkin, searchLodgingRequestModel.Checkout), VacancyCount = 99, Rooms = r.Rooms.Select(rr => new RoomModel { RoomId = rr.RoomID.ToString(), RoomName = rr.Value, RoomCount = 1 }).ToList() }).ToList() }).ToList(); } } catch (Exception ex) { } results.Lodgings = lodgings; return(results); }
public LodgingListModel SearchHotels(SearchLodgingRequestModel searchLodgingRequestModel, Credential userCredential) { var lodgings = new List <LodgingModel>(); var results = new LodgingListModel(); var petition = new PeticionBuscarAlojamientos(); CompletePetition(petition, userCredential); if (!string.IsNullOrEmpty(searchLodgingRequestModel.DestinationId)) { petition.IdDestino = Guid.Parse(searchLodgingRequestModel.DestinationId); } //petition.TipoDestino = (TipoDestino)Enum.Parse(typeof(TipoDestino), searchLodgingRequestModel.DestinationType); using (var dc = new TurismoDataContext()) { var ciudad = dc.Ciudads.Where(c => c.IDCIUDAD.ToString() == searchLodgingRequestModel.DestinationId).ToArray(); if (ciudad.Length != 0) { petition.TipoDestino = (TipoDestino)Enum.Parse(typeof(TipoDestino), "Ciudad"); } else { petition.TipoDestino = (TipoDestino)Enum.Parse(typeof(TipoDestino), "Provincia"); } } petition.FechaInicio = searchLodgingRequestModel.Checkin; petition.FechaFin = searchLodgingRequestModel.Checkout; petition.desayuno = searchLodgingRequestModel.Breakfast; petition.tarifaReembolsable = searchLodgingRequestModel.Tarifa; if (searchLodgingRequestModel.Rooms == null) { petition.Habitacion1 = petition.Habitacion1 ?? 0; petition.Habitacion2 = petition.Habitacion2 ?? 0; petition.Habitacion3 = petition.Habitacion3 ?? 0; petition.Habitacion4 = petition.Habitacion4 ?? 0 + 1; petition.Habitacion5 = petition.Habitacion5 ?? 0 + 1; petition.Habitacion6 = petition.Habitacion6 ?? 0 + 1; } else { foreach (var room in searchLodgingRequestModel.Rooms) { switch (room.RoomType) { case RoomType.Single: petition.Habitacion1 = (petition.Habitacion1 ?? 0) + 1; break; case RoomType.Double: petition.Habitacion2 = (petition.Habitacion2 ?? 0) + 1; break; case RoomType.Triple: petition.Habitacion3 = (petition.Habitacion3 ?? 0) + 1; break; case RoomType.Quad: petition.Habitacion4 = (petition.Habitacion4 ?? 0) + 1; break; } } } if (!string.IsNullOrEmpty(searchLodgingRequestModel.Order)) { petition.Orden = (OrdenAlojamientos)Enum.Parse(typeof(OrdenAlojamientos), searchLodgingRequestModel.Order); } if (!string.IsNullOrEmpty(searchLodgingRequestModel.Nationality)) { petition.Nacionalidad = searchLodgingRequestModel.Nationality; } if (!string.IsNullOrEmpty(searchLodgingRequestModel.LodgingName) && searchLodgingRequestModel.LodgingName != "{}") { petition.NombreAlojamiento = searchLodgingRequestModel.LodgingName; } var petitionResults = _service.SearchHotels(petition); if (petitionResults.Estado == EstadoRespuesta.Ok) { foreach (var lodging in petitionResults.AlojamientosDisponibles) { if (searchLodgingRequestModel.LodgingName == "{}" || lodging.Nombre.ToLower().Contains((searchLodgingRequestModel.LodgingName ?? string.Empty).ToLower())) { var lodgingModel = new LodgingModel { DestinationId = lodging.Destino.IdDestino.ToString(), LodgingId = lodging.IdAlojamiento.ToString(), LodgingName = lodging.Nombre, LodgingDescription = lodging.Alojamiento.Descripcion, LodgingLocation = lodging.Alojamiento.Direccion, LodgingCity = lodging.Destino.NombreDestino, LodgingPhone = lodging.Alojamiento.Telefono, LodgingPrice = Math.Round(Decimal.Parse(lodging.Tarifa1.ToString()), 0), LodgingServices = lodging.Alojamiento.Amenidades, LodgingCategory = GetCategory(lodging.Alojamiento.Categoria), LodgingUnderPetition = lodging.Alojamiento.BajoPeticion, LodgingCancelationPolitic = lodging.Alojamiento.PoliticasCancelacion, //LodgingBreakfast = searchLodgingRequestModel.Breakfast, //LodgingTarifa = searchLodgingRequestModel.Tarifa }; var currency = "$"; switch (lodging.Moneda.GetValueOrDefault()) { case Moneda.ARS: currency = "$"; break; case Moneda.EUR: currency = "€"; break; case Moneda.USD: currency = "U$S"; break; } lodgingModel.LodgingCurrency = currency; lodgingModel.LodgingCurrencyCode = MapCurrencyToNPS(lodging.Moneda.GetValueOrDefault()); if (lodging.Alojamiento.Unidades != null) { var vacancies = new List <VacancyModel>(); var vacancyGroups = lodging.Alojamiento.Unidades.GroupBy(u => u.IdUnidad); foreach (var group in vacancyGroups) { var vacancy = group.Select(v => new VacancyModel { LodgingId = lodgingModel.LodgingId, LodgingName = lodgingModel.LodgingName, LodgingCurrency = lodgingModel.LodgingCurrency, VacancySelected = false, VacancyId = v.IdUnidad.ToString(), VacancyName = v.NombreUnidad, VacancyAdults = v.Personas, VacancyBeds = v.Camas, VacancyCount = v.Disponibles, VacancyPriceRaCdTr = Decimal.Round(v.MontoPorUnidadRaCdTr, 0), VacancyPriceRaCdTnr = Decimal.Round(v.MontoPorUnidadRaCdTnr, 0), VacancyPriceRaSdTr = Decimal.Round(v.MontoPorUnidadRaSdTr, 0), VacancyPriceRaSdTnr = Decimal.Round(v.MontoPorUnidadRaSdTnr, 0), VacancyPriceExCdTr = Decimal.Round(v.MontoPorUnidadExCdTr, 0), VacancyPriceExCdTnr = Decimal.Round(v.MontoPorUnidadExCdTnr, 0), VacancyPriceExSdTr = Decimal.Round(v.MontoPorUnidadExSdTr, 0), VacancyPriceExSdTnr = Decimal.Round(v.MontoPorUnidadExSdTnr, 0), VacancyPriceMeCdTr = Decimal.Round(v.MontoPorUnidadMeCdTr, 0), VacancyPriceMeCdTnr = Decimal.Round(v.MontoPorUnidadMeCdTnr, 0), VacancyPriceMeSdTr = Decimal.Round(v.MontoPorUnidadMeSdTr, 0), VacancyPriceMeSdTnr = Decimal.Round(v.MontoPorUnidadMeSdTnr, 0), VacancyCheckin = searchLodgingRequestModel.Checkin, VacancyCheckout = searchLodgingRequestModel.Checkout, VacancyDates = group.Select(vg => vg.Fecha).ToList(), //Breakfast = v.Desayuno, //Tarifa = v.Tarifa, Available = true, ConfirmedVacancyPrice = 0, Promociones = v.Promociones.Select(p => new Promociones_Alojamiento { ACTIVO = p.Activo, DESCRIPCION = p.Descripcion1, DESCRIPCION2 = p.Descripcion2, DESCUENTO = p.Descuento, DIASACOBRAR = p.DiasACobrar, DIASRESERVADOS = p.DiasReservados, FECHAFIN = p.FechaFin, FECHAINICIO = p.FechaInicio, IDALOJ = p.LodgingId, IDPROMOCION = p.PromocionId, IDTIPOPUBLICACIONPROMO = p.TipoPromocionId, IDUNIDADPROMO = p.IdUnidadPromo, MINIMONOCHES = p.MinimoNoches, MAXIMONOCHES = p.MaximoNoches, NOMBRE = p.NombrePromocion, SLOGAN = p.Slogan }).Where(p => p.FECHAFIN >= DateTime.Now.Date).ToArray(), Rooms = new List <RoomModel> { new RoomModel { RoomId = v.IdUnidad.ToString(), RoomName = v.NombreUnidad, RoomAdults = v.Personas, RoomBeds = v.Camas, RoomCount = v.Disponibles } } }).First(); vacancies.Add(vacancy); } lodgingModel.Vacancies = vacancies; } lodgings.Add(lodgingModel); } } } results.Lodgings = lodgings; return(results); }