public AvailabilityResponse ProcessAvailability(HotelAvailabilityResponse response) { var result = new AvailabilityResponse(); result.CheckIn = response.CheckIn; result.CheckOut = response.CheckOut; var availableHotels = new List <AvailableHotel>(); foreach (var hotels in response.AvailableHotels) { var hotel = new AvailableHotel(); hotel.Code = hotels.Code; var rooms = new List <AvailableRoom>(); foreach (var room in hotels.AvailableRooms) { var data = new AvailableRoom(); data.Id = room.Id; data.Code = room.Code; data.Price = room.Price; data.NewPrice = _pricingService.CalculatePrice(response.CheckIn, response.CheckOut, room.Price); rooms.Add(data); } hotel.AvailableRooms = rooms; availableHotels.Add(hotel); } result.AvailableHotels = availableHotels; return(result); }
/// <summary> /// This gives search results /// </summary> /// <returns></returns> public JsonResult GetRooms(BookingDetails bookingDetails) { // BookingDetails bookingDetails = new BookingDetails { CityId = 1, GuestId = "1", CheckinDate = "6/5/2013", CheckoutDate = "6/12/2013", NumberOfAdults = 2 }; SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString); SqlCommand cmd = new SqlCommand("sp_get_availability", conn); cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@BranchID", bookingDetails.CityId); cmd.Parameters.AddWithValue("@FromDate", bookingDetails.CheckinDate); cmd.Parameters.AddWithValue("@ToDate", bookingDetails.CheckoutDate); cmd.Parameters.AddWithValue("@IncludePartner", 0); SqlParameter param = new SqlParameter("@RtnValue", SqlDbType.Int); param.Direction = ParameterDirection.ReturnValue; cmd.Parameters.Add(param); SqlDataAdapter adpter = new SqlDataAdapter(cmd); DataSet dataSet = new DataSet(); adpter.Fill(dataSet); if ((int)cmd.Parameters["@RtnValue"].Value != 0) { return(null); } if (dataSet == null || dataSet.Tables == null || dataSet.Tables.Count == 0 || dataSet.Tables[0].Rows == null || dataSet.Tables[0].Rows.Count == 0) { return(null); } var availableRooms = new List <AvailableRoom>(); foreach (DataRow dataRow in dataSet.Tables[0].Rows) { AvailableRoom availableRoom = new AvailableRoom(); availableRoom.Id = dataRow["RoomTypeID"].ToString(); availableRoom.Name = dataRow["TypeName"].ToString(); availableRoom.Description = dataRow["facilities"].ToString(); availableRooms.Add(availableRoom); } return(Json(availableRooms, JsonRequestBehavior.AllowGet)); }
public IActionResult CreateNewRoom(RoomViewModel roominfo) { Room room = new Room(); room.RoomName = roominfo.roomnameVM; room.RoomCapacity = roominfo.roomcapacityVM; dbc.Room.Add(room); dbc.SaveChanges(); ModelState.Clear(); var availableroom = dbc.Room.LastOrDefault(); AvailableRoom available = new AvailableRoom(); available.RoomID = availableroom.RoomID; available.RoomName = availableroom.RoomName; available.Available = availableroom.RoomCapacity; dbc.AvailableRoom.Add(available); dbc.SaveChanges(); return(RedirectToAction("RoomList")); }
public override async Task ListRooms(ListRoomsRequest request, IServerStreamWriter <AvailableRoom> responseStream, ServerCallContext context) { if (_chatRooms.IsEmpty) { //await responseStream.WriteAsync(new AvailableRoom()); return; } var keys = _chatRooms.Keys; for (int i = 0; i < keys.Count; i++) { var item = new AvailableRoom(); var room = keys.ElementAt(i); var participants = _chatRooms[room]; item.RoomName = room.Name; item.Participants = String.Join(",", participants.Take(5)); //send them slowly, theres no need to rush this, after all //the concurrent dictionary is subject to locks await responseStream.WriteAsync(item); } }
private void AddRow(int rowHeight, AvailableRoom room) { Button connectButton = new Button() { Content = room.Name, Width = 100, Height = rowHeight, HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, Margin = new Thickness(0, currentHeight, 0, 0) }; connectButton.Click += delegate { JoinRoomCommand(room); }; AddElement(connectButton); Label infoLabel = new Label() { Content = string.Format("{0}/{1}", room.UserCount, room.MaxUsers), Width = 100, Height = rowHeight, HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, Margin = new Thickness(100, currentHeight, 0, 0) }; AddElement(infoLabel); infoLabel = new Label() { Content = room.RequiresPassword ? "Requires Password" : "No Password", Width = 125, Height = rowHeight, HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, Margin = new Thickness(200, currentHeight, 0, 0) }; AddElement(infoLabel); }
public void Add(int confId, string roomName, int capacity, string street, string city, string postalCode, DateTime beginDate, DateTime endDate) { AvailableRoom ar = new AvailableRoom(); ar.ConferenceId = confId; ar.RoomName = roomName; ar.Capacity = capacity; ar.BeginDate = beginDate; ar.EndDate = endDate; int aId = -1; foreach (Address a in _context.Addresses) { if (a.City == city && a.Street == street && a.PostalCode == postalCode) { aId = a.AddressId; break; } } if (aId == -1) { Address a = new Address(); a.City = city; a.Street = street; a.PostalCode = postalCode; _context.Addresses.Add(a); _context.SaveChanges(); aId = a.AddressId; } ar.AddressId = aId; _context.AvailableRooms.Add(ar); _context.SaveChanges(); }