public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitable <IMessageActivity> item) { var message = await item; var paramValue = message.Text; var result = await service.QueryAsync(paramValue.ToString(), context.CancellationToken); var queryIntent = result.Intents.FirstOrDefault(); ReservationManagement management = new ReservationManagement(); List <string> roomNameList = management.GetAvailableReservation("1시"); if (roomNameList.Count > 0) { string meetingRoomName; //사용자의 입력에 meetingRooom entity가 존재하는지만 체크 var availableMeetingRoom = string.Join(", ", roomNameList.ToArray()); await context.PostAsync($"사용가능한 회의실은 {availableMeetingRoom} 입니다."); //context.Wait(this.MessageReceivedAsync); context.Done <object>(null); } else { await context.PostAsync($"해당 시간에 사용 가능한 회의실이 없습니다."); context.Done <object>(null); } }
/** * k00233238 * * Mark Hester (Reservations) */ private void ReservationButton_Click(object sender, EventArgs e) { Form ReservationIndexForm = new ReservationManagement(this, _storage); this.Hide(); ReservationIndexForm.Show(); }
// GET: api/Reservation public IHttpActionResult Get() { try { var reservationManager = new ReservationManagement(); apiResponse = new ApiResponse(); var reservations = reservationManager.RetrieveAll(); apiResponse.Data = reservations; return(Ok(apiResponse)); } catch (BussinessException bex) { return(InternalServerError(new Exception(bex.AppMessage.Message))); } }
public IHttpActionResult Post(Reservation reservation) { try { var reservationManager = new ReservationManagement(); Reservation reservationFound = reservationManager.Create(reservation); apiResponse = new ApiResponse(); apiResponse.Data = reservationFound; return(Ok(apiResponse)); } catch (BussinessException bex) { return(InternalServerError(new Exception(bex.AppMessage.Message))); } }
public async Task <IHttpActionResult> SendFacturaAsync(ReservationInvoice reservationInvoice) { try { var reservationManager = new ReservationManagement(); await reservationManager.SendInvoiceAsync(reservationInvoice); apiResponse = new ApiResponse(); return(Ok(apiResponse)); } catch (BussinessException bex) { return(InternalServerError(new Exception(bex.AppMessage.Message))); } }
static Reservation GetReservation() { Console.WriteLine("Please enter a reservationID"); var reservationID = ValidateUserInput.ValidateInputInt(Console.ReadLine()); using (var db = new RentCDb()) { while (!db.Reservations.Any(r => r.ReservationID == reservationID)) { Console.WriteLine("Please enter a valid reservationID"); reservationID = ValidateUserInput.ValidateInputInt(Console.ReadLine()); } var reservation = db.Reservations.Find(reservationID); ReservationManagement.DisplayReservationInfo(reservation); return(reservation); } }
public void AddReservationsHavingUnpayedThrowsException() { Reservation r1 = new Reservation() { ReservationDate = DateTime.Now.AddMonths(-1) }; Reservation r2 = new Reservation() { ReservationDate = DateTime.Now }; using (IUnitOfWork unitOfWork = GetContext()) { using (ReservationManagement reservationManagement = new ReservationManagement(unitOfWork, TestHelper.GetGenericPrincipalAdmin(), Mapper.Instance)) { reservationManagement.Add(r1); Assert.Throws <BussinesException>(() => reservationManagement.Add(r2)); } } }
public async Task <IHttpActionResult> Post3Async(Reservation reservation) { try { var qrCodeManager = new QRCodeManagement(); var userManager = new UserManagement(); var reservationManager = new ReservationManagement(); // State is user email var user = new User() { Correo = reservation.State }; var userFound = userManager.RetrieveByCorreo(user); var subReservationCreated = reservationManager.CreateSubreservation(reservation, userFound); // Build QR Code QRCode code = new QRCode() { Id = userFound.Id, Value = "none", State = "none", FK_SubReservation = subReservationCreated.FkSubreservation }; QRCode qrcode = qrCodeManager.Create(code, "INVITADO_ENA"); // Send Email await qrCodeManager.SendEmail(user, qrcode.Value); apiResponse = new ApiResponse(); return(Ok(apiResponse)); } catch (BussinessException bex) { return(InternalServerError(new Exception(bex.AppMessage.Message))); } }
public static void DisplayScreen() { Reservation reservation = new Reservation(); Console.Write("Car Plate:"); var carPlate = Console.ReadLine(); var carID = ReservationManagement.ValidateCar(carPlate); reservation.CarID = carID; Console.Write("Client ID:"); var clientID = ValidateUserInput.ValidateInputInt(Console.ReadLine()); reservation.CostumerID = ReservationManagement.ValidateClient(clientID); Console.Write("Start Date(mm.dd.yyyy):"); var startDate = ValidateUserInput.ValidateInputDate(Console.ReadLine()); Console.Write("End Date(mm.dd.yyyy):"); var endDate = ValidateUserInput.ValidateInputDate(Console.ReadLine()); reservation.StartDate = ReservationManagement.ValidateDates(startDate, endDate).Item1; reservation.EndDate = ReservationManagement.ValidateDates(startDate, endDate).Item2; Console.Write("Location:"); var location = Console.ReadLine(); reservation.LocationID = ReservationManagement.ValidateCarLocation(carID, location); List <Nullable <DateTime> > carReserved = ReservationManagement.IsCarAvailabe(carID, startDate, endDate); if (carReserved.Count() > 0) { Console.WriteLine("Car is not available on: " + carReserved); ReservationManagement.DisplayReservationInfo(reservation); } using (var db = new RentCDb()) { Car car = db.Cars.Find(reservation.CarID); var price = car.PricePerDay * (decimal)((endDate - startDate).TotalDays); decimal totalPrice; Console.WriteLine("The car is available for " + car.PricePerDay + "/day"); Console.Write("Do you have a cupone code?\nIf yes enter it, if no type NO: "); var ans = Console.ReadLine(); if (ans.ToUpper() == "NO") { totalPrice = price; } else { var customerCupon = Console.ReadLine(); var cupon = db.Coupons.FirstOrDefault(c => c.CouponCode == customerCupon); if (cupon != null) { Console.WriteLine("Discount: " + cupon.Discount + ": " + cupon.Description); totalPrice = price - (cupon.Discount * price); } totalPrice = price; } Console.WriteLine("Total price: " + totalPrice); Console.WriteLine("Save the reservation? Type YES to save \nNO to go back to main menu: "); ans = Console.ReadLine(); if (ans == "NO") { MenuPage.SelectOption(); } else { reservation.ReservStatsID = 1; db.Reservations.Add(reservation); db.SaveChanges(); } } }
public ReservationManagementController() { this.reservationManagement = new ReservationManagement(); }
public ReservationManagementBLL() { _management = new ReservationManagement(); }
public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitable <IMessageActivity> item) { var message = await item; var paramValue = message.Text; var result = await service.QueryAsync(paramValue.ToString(), context.CancellationToken); var queryIntent = result.Intents.FirstOrDefault(); if (!"None".Equals(queryIntent.Intent, StringComparison.InvariantCultureIgnoreCase) && !"MS.MeetingRoom.Book".Equals(queryIntent.Intent, StringComparison.InvariantCultureIgnoreCase)) { /* * Intent가 None값이라면.. 질의에 대한 대답으로 판단. * 새로운 Intent라면 시나리오 변경. */ QueryResult queryResult = new QueryResult(false) { NewIntent = queryIntent.Intent }; await context.PostAsync("진행중인 회의실 예약을 취소합니다."); context.Done <object>(message); } else { //회의실정보 있나 확인 if (meetingRoom.Hour == null) { // Entity에서 Hour값 가져온다. 있다면.. if (!AskHour(context, result)) { //시간정보가 없다 받아야 한다. await context.PostAsync("몇시부터 사용하실 건가요?"); context.Wait(this.MessageReceivedAsync); } } if (meetingRoom.Hour != null) { //먼저 가능한 회의실을 찾아서 알려준다. ReservationManagement management = new ReservationManagement(); List <string> roomNameList = management.GetAvailableReservation(meetingRoom.Hour); if (roomNameList.Count > 0) { string meetingRoomName; //사용자의 입력에 meetingRooom entity가 존재하는지만 체크 if (!GetUserInputMeetingRoomEntity(context, result, out meetingRoomName)) { //회의실정보를 입력하지 않았다...받아야 한다. var availableMeetingRoom = string.Join(", ", roomNameList.ToArray()); await context.PostAsync($"사용가능한 회의실은 {availableMeetingRoom} 입니다. 어떤 회의실을 예약할까요?"); context.Wait(this.MessageReceivedAsync); } else if (roomNameList.Contains(meetingRoomName)) { meetingRoom.MeetingRoomName = meetingRoomName; } } else { meetingRoom.Hour = null; await context.PostAsync("사용가능한 회의실이 없습니다. 다른 시간을 입력해주세요."); context.Wait(this.MessageReceivedAsync); } } //회의실정보 있나 확인 if (meetingRoom.Hour != null && meetingRoom.MeetingRoomName != null) { //회의실 예약 ReservationManagement management = new ReservationManagement(); management.SaveMeetingRoom(meetingRoom.Hour, meetingRoom.MeetingRoomName); await context.PostAsync($"{meetingRoom.MeetingRoomName} 회의실 {meetingRoom.Hour}에 예약 되었습니다."); context.Done <object>(meetingRoom); } } }
public static void UpdateRental() { // Reservation reservation = GetReservation(); Console.WriteLine("Please enter a reservationID"); var reservationID = ValidateUserInput.ValidateInputInt(Console.ReadLine()); using (var db = new RentCDb()) { while (!db.Reservations.Any(r => r.ReservationID == reservationID)) { Console.WriteLine("Please enter a valid reservationID"); reservationID = ValidateUserInput.ValidateInputInt(Console.ReadLine()); } var reservation = db.Reservations.Find(reservationID); ReservationManagement.DisplayReservationInfo(reservation); Options: var ans = UpdateCarRentalOptions(); switch (ans) { case "1": Console.WriteLine("Please enter a new car Plate"); var carPlate = Console.ReadLine(); var carID = ReservationManagement.ValidateCar(carPlate); reservation.CarID = carID; db.SaveChanges(); break; case "2": Console.WriteLine("Please enter a Client ID:"); var clientID = ReservationManagement.ValidateClient (ValidateUserInput.ValidateInputInt(Console.ReadLine())); reservation.CostumerID = clientID; db.SaveChanges(); break; case "3": Console.WriteLine("Please enter Start Date (mm.dd.yyy):"); var enteredStartDate = ValidateUserInput.ValidateInputDate(Console.ReadLine()); var validStartDate = ReservationManagement.ValidateDates(enteredStartDate, reservation.EndDate).Item1; reservation.StartDate = validStartDate; db.SaveChanges(); break; case "4": Console.WriteLine("Please enter End Date (mm.dd.yyy):"); var enteredEndDate = ValidateUserInput.ValidateInputDate(Console.ReadLine()); var validEndDate = ReservationManagement.ValidateDates(reservation.StartDate, enteredEndDate).Item2; reservation.EndDate = validEndDate; db.SaveChanges(); break; case "5": Console.WriteLine("Please enter a new location: "); var enteredLocation = Console.ReadLine(); var newLocation = ReservationManagement.ValidateCarLocation(reservation.CarID, enteredLocation); reservation.LocationID = newLocation; db.SaveChanges(); break; default: Console.WriteLine("Option not available"); goto Options; } Console.WriteLine("New Reservation Data:"); ReservationManagement.DisplayReservationInfo(reservation); Console.WriteLine("Would you like to modify something else? \n" + "If yes, type YES if no type NO to go back to main menu"); ans = Console.ReadLine(); if (ans.ToUpper() == "NO") { MenuPage.SelectOption(); } else if (ans.ToUpper() == "YES") { goto Options; } db.SaveChanges(); } }
public ReservationController() { reservationManagement = new ReservationManagement(); }