public ActionResult Confirmation() { this.ShowPageMessage("Your payment has been submitted."); if (!Current.User.BookmarkReservationID.HasValue) { return(this.RedirectToAction <DefaultController>(c => c.Index())); // no bookmark id, go to default controller index } else { tblReservation Reservation = _ODB.tblReservations.Where(e => e.ID == Current.User.BookmarkReservationID.Value).SingleOrDefault(); if (Reservation == null) { return(this.RedirectToAction <DefaultController>(c => c.Index())); // couldn't find reservation, go to default controller index } else { if (Reservation.tblInvitation.ENumber == Current.User.ENumber) { return(this.RedirectToAction <StudentController>(c => c.Payment(Current.User.BookmarkReservationID.Value))); // redirect student to student payment view } else if (Current.User.IsAdmin || Current.User.IsStaff) { return(this.RedirectToAction <InvitationsController>(c => c.Invitation(Reservation.tblInvitation.ID))); // redirect staff back to Invitation details } else { return(this.RedirectToAction <DefaultController>(c => c.Index())); // unknown role, go to default controller index } } } }
public async Task <IActionResult> Edit(int id, [Bind("resId,carId,cusid,Pick_location,Pick_Date,Return_location,Return_Date,amount")] tblReservation tblReservation) { if (id != tblReservation.resId) { return(NotFound()); } if (ModelState.IsValid) { try { db.Update(tblReservation); await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!tblReservationExists(tblReservation.resId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["carId"] = new SelectList(db.tblCars, "carId", "carId", tblReservation.carId); ViewData["cusid"] = new SelectList(db.tblCustomer, "cusid", "CNIC", tblReservation.cusid); return(View(tblReservation)); }
/// <summary> /// Creates placeholder credit card payment/transaction and sends the user to TouchNet to process the payment /// </summary> /// <param name="ID">Reservation ID</param> /// <returns>Redirect ActionResult</returns> public ActionResult CreditPayment(int ID) { tblReservation Reservation = _ODB.tblReservations.Where(e => e.ID == ID).SingleOrDefault(); if (Reservation != null) { bool HasExistingPayments = Reservation.tblPayments.Where(e => e.Amount > 0).Count() > 0; bool IsStudentPayment = Reservation.tblInvitation.ENumber == Current.User.ENumber; if (Reservation.tblInvitation.ENumber == Current.User.ENumber || Current.User.IsAdmin || Current.User.IsStaff) { if (Reservation.CurrentAmountDue > 0) { if (Reservation.tblEventDate.HasOpenSlots || (Reservation.IsConfirmed && Reservation.CountUnpaidGuests > 0)) { // create placeholder payment to store data on upay postback tblPayment Payment = new tblPayment(); Payment.tblReservation = Reservation; Payment.IsSupplemental = HasExistingPayments; Payment.PaidBy = IsStudentPayment ? "Student" : "Staff"; Payment.PaymentType = DataConstants.PaymentTypes.CreditOrDebitCard; Payment.Amount = 0; // don't set amount until received Payment.PaymentDate = DateTime.Now; _ODB.tblPayments.AddObject(Payment); _ODB.SaveChanges(); Current.User.BookmarkReservationID = Reservation.ID; // remember which reservation we're using so we can return the user to the correct page. // Create a placeholder transaction to store credit card data tblUPayTransaction transaction = Upay.CreateTouchnetTransaction(Payment); SecureAccess.Utilities.Logging.Log(SecureAccess.Utilities.Logging.LogType.Audit, string.Format("Redirecting user {0} to {1} UPay site.", Current.User.Username, Reservation.tblInvitation.tblEvent.MarketplaceSite), SecureAccess.Utilities.Logging.Severity.Information); Upay.PostToTouchnet(transaction, Reservation.CurrentAmountDue, HasExistingPayments, Payment.PaidBy); return(null); } else { this.ShowPageError(string.Format("The selected event date '{0}' no longer has an open slot for event '{1}'. Please select another event date.", Reservation.tblEventDate.DateOfEvent.ToShortDateString(), Reservation.tblEventDate.tblEvent.Name)); } } else { this.ShowPageError(String.Format("You cannot submit a credit card payment. The Current Amount Due is {0}", Reservation.CurrentAmountDue)); } return(this.RedirectToAction <StudentController>(c => c.Reservation(ID))); } else { this.ShowPageError("You are not authorized to submit credit payments for this Reservation"); } } else { this.ShowPageError("Could not find a reservation for the given ID"); } return(this.RedirectToAction <StudentController>(c => c.Index())); }
/// <summary> /// Creates a Reservation given a student's invitation ID and the selected Event Date ID /// </summary> /// <param name="ID">Invitation ID</param> /// <param name="EventDateID">Event Date ID</param> /// <returns>ActionResult</returns> public ActionResult CreateReservation(int ID, int EventDateID) { tblInvitation Invitation = _ODB.tblInvitations.Where(e => e.ID == ID).SingleOrDefault(); tblEventDate EventDate = _ODB.tblEventDates.Where(e => e.ID == EventDateID).SingleOrDefault(); if (Invitation != null && EventDate != null) { if (Invitation.ENumber == Current.User.ENumber || Current.User.IsAdmin || Current.User.IsStaff) { tblReservation existingReservation = _ODB.tblReservations.Where(e => e.InvitationID == Invitation.ID).SingleOrDefault(); if (existingReservation == null) { if (EventDate.HasOpenSlots) { tblReservation Reservation = new tblReservation(); Reservation.tblEventDate = EventDate; Reservation.tblInvitation = Invitation; Reservation.IsCancelled = false; Reservation.IsConfirmed = false; _ODB.tblReservations.AddObject(Reservation); _ODB.SaveChanges(); Logging.Log(Logging.LogType.Audit, string.Format("User {0} created a Reservation with ID {1} for Invitation {2} for EventDate {3}", Current.User.Username, Reservation.ID, Invitation.ID, EventDate.ID)); this.ShowPageMessage("Your event reservation was successfully created!"); return(this.RedirectToAction <StudentController>(c => c.Reservation(Reservation.ID))); } else { this.ShowPageError(string.Format("The selected event date '{0}' no longer has an open slot for event '{1}'. Please select another event date.", existingReservation.tblEventDate.DateOfEvent.ToShortDateString(), existingReservation.tblEventDate.tblEvent.Name)); } } else { this.ShowPageError("A reservation already exists for the selected Invitation. Please update the reservation to change event dates."); } } else { this.ShowPageError("You are not authorized to view create reservations for this Invitation"); } } else { this.ShowPageError("Either the Invitation or the Event Date could not be retrieved given the specified IDs."); } if (Invitation != null) { return(this.RedirectToAction <StudentController>(c => c.Invitation(Invitation.ID))); } else { return(this.RedirectToAction <StudentController>(c => c.Index())); } }
/// <summary> /// Change the event date for a given reservation and new event id /// </summary> /// <param name="ID">Reservation ID</param> /// <param name="EventDateID">Event Date ID</param> /// <returns>ActionResult</returns> public ActionResult ChangeReservation(int ID, int EventDateID) { tblReservation Reservation = _ODB.tblReservations.Where(e => e.ID == ID).SingleOrDefault(); tblInvitation Invitation = Reservation != null ? Reservation.tblInvitation : null; tblEventDate EventDate = _ODB.tblEventDates.Where(e => e.ID == EventDateID).SingleOrDefault(); if (Invitation != null && EventDate != null) { if (Invitation.ENumber == Current.User.ENumber || Current.User.IsAdmin || Current.User.IsStaff) { if (Reservation != null) { if (EventDate.HasOpenSlots) { // delete unpaid guests to avoid conflicts with the number of allowed guests with different event dates, but yet preserve paid guests List <tblGuest> GuestsToDelete = Reservation.tblGuests.Where(e => !e.HasPaid).ToList(); GuestsToDelete.ForEach(e => _ODB.tblGuests.DeleteObject(e)); Reservation.tblEventDate = EventDate; _ODB.SaveChanges(); Logging.Log(Logging.LogType.Audit, string.Format("User {0} Changed the Event Date for Reservation with ID {1} for Invitation {2} for EventDate {3}", Current.User.Username, Reservation.ID, Invitation.ID, EventDate.ID)); this.ShowPageMessage("Your event date for your reservation was successfully changed!"); return(this.RedirectToAction <StudentController>(c => c.Reservation(Reservation.ID))); } else { this.ShowPageError(string.Format("The selected event date '{0}' no longer has an open slot for event '{1}'. Please select another event date.", Reservation.tblEventDate.DateOfEvent.ToShortDateString(), Reservation.tblEventDate.tblEvent.Name)); return(this.RedirectToAction <StudentController>(c => c.Reservation(Reservation.ID))); } } else { this.ShowPageError("A reservation could not be found by the given ID."); } } else { this.ShowPageError("You are not authorized to view create reservations for this Invitation"); } } else { this.ShowPageError("Either the Invitation or the Event Date could not be retrieved given the specified IDs."); } if (Invitation != null) { return(this.RedirectToAction <StudentController>(c => c.Invitation(Invitation.ID))); } else { return(this.RedirectToAction <StudentController>(c => c.Index())); } }
public async Task <IActionResult> Create([Bind("resId,carId,cusid,Pick_location,Pick_Date,Return_location,Return_Date,amount")] tblReservation tblReservation) { if (ModelState.IsValid) { db.Add(tblReservation); await db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["carId"] = new SelectList(db.tblCars, "carId", "carId", tblReservation.carId); ViewData["cusid"] = new SelectList(db.tblCustomer, "cusid", "CNIC", tblReservation.cusid); return(View(tblReservation)); }
/// <summary> /// Student Payment Choice page, caclualtes and displays any pending charges for reservation. Allows student to select Payment Method /// </summary> /// <param name="ID">Reservation ID</param> /// <returns></returns> public ActionResult Payment(int ID) { tblReservation Reservation = _ODB.tblReservations.Where(e => e.ID == ID).SingleOrDefault(); if (Reservation.tblInvitation.ENumber == Current.User.ENumber || Current.User.IsAdmin || Current.User.IsStaff) { ViewBag.MaxNumberGuests = Reservation.tblEventDate.MaxNumberGuests; Logging.Log(Logging.LogType.Audit, string.Format("User {1} with ENumber {0} is viewing Student Payment Page with Reservation ID {2} for event '{3}'", Current.User.ENumber, Current.User.Username, ID, Reservation.tblInvitation.tblEvent.Name)); return(View(Reservation)); } else { this.ShowPageError("You do not have permission to access that Payment"); return(this.RedirectToAction <StudentController>(c => c.Index())); } }
/// <summary> /// /// </summary> /// <param name="entity"></param> public tblReservation saveReservation(bool isNewAdd, tblReservation entity) { if (dataCtx.Connection != null) { dataCtx.Connection.Open(); } DbTransaction tran = dataCtx.Connection.BeginTransaction(); dataCtx.Transaction = tran; try { if (isNewAdd == true) { this.Reservations.InsertOnSubmit(entity); this.dataCtx.SubmitChanges(); tran.Commit(); return(entity); } else { var qry = from t in Reservations where t.ReservationID == entity.ReservationID select t; var obj = qry.SingleOrDefault(); if (obj != null) { this.CopyEntity(obj, entity); } this.dataCtx.SubmitChanges(); tran.Commit(); return(obj); } } catch (Exception ex) { tran.Rollback(); throw ex; } finally { dataCtx.Connection.Close(); } }
public PartialViewResult GuestList(int ID) { tblReservation Reservation = _ODB.tblReservations.Where(e => e.ID == ID).SingleOrDefault(); if (Reservation != null) { if (Reservation.tblInvitation.ENumber == Current.User.ENumber || Current.User.IsAdmin || Current.User.IsStaff) { ViewBag.MaxNumberGuests = Reservation.tblEventDate.MaxNumberGuests; return(PartialView(Reservation.tblGuests.ToList())); } else { Logging.Log(Logging.LogType.Audit, string.Format("User {0} does not have permission to access the guest list for Reservation with ID {1}", Current.User.Username, Reservation.ID)); } } return(PartialView(new List <tblGuest>())); }
/// <summary> /// Displays Reservation Details to Student /// </summary> /// <param name="ID">Reservation ID</param> /// <returns>ActionResult</returns> public ActionResult Reservation(int ID) { tblReservation Reservation = _ODB.tblReservations.Where(e => e.ID == ID).SingleOrDefault(); if (Reservation.tblInvitation.ENumber == Current.User.ENumber || Current.User.IsAdmin || Current.User.IsStaff) { ViewBag.MaxNumberGuests = Reservation.tblEventDate.MaxNumberGuests; Logging.Log(Logging.LogType.Audit, string.Format("User {1} with ENumber {0} is viewing Student Reservation with ID {2} for event '{3}'", Current.User.ENumber, Current.User.Username, ID, Reservation.tblInvitation.tblEvent.Name)); BannerDB Banner = new BannerDB(); bool IsBannerUp = Banner.Ping(); if (IsBannerUp) { ViewBag.IsBannerUp = IsBannerUp; ViewBag.HasSelectiveServiceHold = Banner.HasSelectiveServiceHold(Reservation.tblInvitation.ENumber); ViewBag.MustVerifyCitizenship = Banner.MustVerifyCitizenship(Reservation.tblInvitation.ENumber); ViewBag.FinAidRequirements = Banner.GetFinAidChecklistRequirements(Reservation.tblInvitation.ENumber); ViewBag.FAFSAAidYear = Banner.GetFAFSAAidYear(Reservation.tblInvitation.ENumber); ViewBag.ImmunizationList = Banner.GetImmunizationsChecklist(Reservation.tblInvitation.ENumber); List <TestScore> TestScores = Banner.GetTestScores(Reservation.tblInvitation.ENumber).AsEnumerable().Select(e => new TestScore(e)).ToList(); TestScore DSPR = TestScores.Where(e => e.Code == "DSPR").OrderByDescending(e => e.Date).FirstOrDefault(); TestScore DSPW = TestScores.Where(e => e.Code == "DSPW").OrderByDescending(e => e.Date).FirstOrDefault(); TestScore DSPM = TestScores.Where(e => e.Code == "DSPM").OrderByDescending(e => e.Date).FirstOrDefault(); if (DSPR == null || DSPW == null || DSPM == null || DSPR.Score.Trim() != "4" || DSPW.Score.Trim() != "4" || DSPM.Score.Trim() != "4") { ViewBag.HasLearningSupportRequirements = true; } else { ViewBag.HasLearningSupportRequirements = false; } } return(View(Reservation)); } else { this.ShowPageError("You do not have permission to access that Reservation"); return(this.RedirectToAction <StudentController>(c => c.Index())); } }
protected void btnSave_Click(object sender, EventArgs e) { tblReservation r = new tblReservation(); bool isAddnew = false; //弹出窗口发送了sms之后,保存时,sendsms=true if (HidSms.Value == "1") { r.SendSMS = true; } r.employeeNum = FixedJsString(ddlEmployee.SelectedItem.Value); //r.eventStart = DateTime.Parse(HidEventStart.Value); //r.eventEnd = DateTime.Parse(HidEventEnd.Value); r.eventStart = DateTime.Parse(System.Convert.ToDateTime(dtEventDate.DateValue).ToString("yyyy-MM-dd") + " " + eventStart.TimeValue.Value.ToShortTimeString()); r.eventEnd = DateTime.Parse(System.Convert.ToDateTime(dtEventDate.DateValue).ToString("yyyy-MM-dd") + " " + eventEnd.TimeValue.Value.ToShortTimeString()); //daypilot control won't display if eventend < eventstart, so please check this... if (r.eventEnd < r.eventStart) { //swap value DateTime tmp = r.eventStart; r.eventStart = r.eventEnd; r.eventEnd = tmp; } //r.memberNum = FixedJsString(HidMemberNum.Value); r.memberNum = FixedJsString(txtMemberNum.Text); if (txtPackage.Text.Trim() != "") { r.PackageDesc = FixedJsString(txtPackage.Text); } else { r.PackageDesc = null; } r.serviceNum = FixedJsString(txtServiceNum.Text); r.SeviceDesc = FixedJsString(txtServiceName.Text); if (Request["id"] == "0") { r.reservationID = 0; isAddnew = true; } else { r.reservationID = long.Parse(Request["id"]); //if can't input bill(btnInputBill.enabled=false),r.IsInput=true //r.IsInput = ! btnInputBill.Enabled; //客人已到达时,才可以入单 if (hidIsInput.Value == "1") { r.IsInput = true; } else { r.IsInput = false; } } r.logOnUser = this.LogOnUserID.Trim(); //store these info for non-member reservation r.CustomerName = txtSharePersonEngName.Text; r.CustomerTel = txtMobile.Text; r.CanChange = chkCanChange.Checked; r.IsArrived = chkIsArrived.Checked; r.IsCancel = chkCancel.Checked; r.Remark = txtRemark.Text.Trim(); //增加其他格子顔色選項 if (chkColor.Checked) { r.OtherColor = ddlColor.SelectedValue; } else { r.OtherColor = null; } if (chkConfirmOK.Checked) { r.IsConfirm = "OK"; } else if (chkConfirmVM.Checked) { r.IsConfirm = "VM"; } else { r.IsConfirm = null; } //---------check conflict------------ string ErrMsg = ""; if (false == resvh.checkConflict(r.reservationID, r.employeeNum, r.eventStart, r.eventEnd, ref ErrMsg)) { this.ShowMessage(ErrMsg); return; } r = resvh.saveReservation(isAddnew, r); //---write log ---- //change log to database // string strEmpoyeeName = this.getEmployeeNameByNum(r.employeeNum); string msg = "職員:" + LogOnUserName + "保存了" + r.reservationID.ToString() + "號預約 客戶:" + r.CustomerName + " 電話:" + r.CustomerTel; msg += " 預約師傅:" + ddlEmployee.SelectedItem.Text + (r.CanChange? " (指定)":""); msg += " 時間:" + r.eventStart + " 至" + eventEnd.TimeValue.Value.ToShortTimeString(); if (txtRemark.Text.Trim() != "") { msg += " 備註:" + txtRemark.Text.Trim(); } msg += " 服務:" + txtServiceName.Text + (r.IsArrived?" 已到達":"") + (r.IsCancel?" 已取消":""); msg += " 修改時間:" + DateTime.Now.ToString(); LogInfo log = new LogInfo(); log.op = LogOnUserName; log.opDate = DateTime.Now; log.eventDate = r.eventStart; log.client = r.CustomerName; log.tel = r.CustomerTel; log.employee = ddlEmployee.SelectedItem.Text; log.logInfo = msg; resvh.WriteLog(log); //CommonUtil.WriteLog(msg); Page.ClientScript.RegisterStartupScript(typeof(string), "cls", "<script>window.close();window.opener.document.getElementById('btnRefresh').click();</script>"); //this.CloseWindow(); }
/// <summary> /// /// </summary> /// <param name="entity"></param> public tblReservation saveReservation(bool isNewAdd, tblReservation entity) { if (dataCtx.Connection != null) dataCtx.Connection.Open(); DbTransaction tran = dataCtx.Connection.BeginTransaction(); dataCtx.Transaction = tran; try { if (isNewAdd == true) { this.Reservations.InsertOnSubmit(entity); this.dataCtx.SubmitChanges(); tran.Commit(); return entity; } else { var qry = from t in Reservations where t.ReservationID == entity.ReservationID select t; var obj = qry.SingleOrDefault(); if (obj != null) this.CopyEntity(obj, entity); this.dataCtx.SubmitChanges(); tran.Commit(); return obj; } } catch (Exception ex) { tran.Rollback(); throw ex; } finally { dataCtx.Connection.Close(); } }
/// <summary> /// Adds a guest to a student event reservation /// </summary> /// <param name="Model">Guest View Model</param> /// <returns>ActionResult</returns> public ActionResult AddGuest(GuestViewModel Model) { tblReservation Reservation = _ODB.tblReservations.Where(e => e.ID == Model.ReservationID).SingleOrDefault(); if (Reservation != null) { if (Reservation.tblInvitation.ENumber == Current.User.ENumber || Current.User.IsAdmin || Current.User.IsStaff) { if (ModelState.IsValid) { if (Reservation.tblGuests.Count < Reservation.tblEventDate.MaxNumberGuests) { if (Reservation.tblEventDate.AllowGuestRegistration) { tblGuest existingGuest = Reservation.tblGuests.Where(e => e.EmailAddress.ToUpper() == Model.EmailAddress.ToUpper()).FirstOrDefault(); if (existingGuest == null) { tblGuest newGuest = Model.As_tblGuest(); newGuest.tblReservation = Reservation; _ODB.tblGuests.AddObject(newGuest); _ODB.SaveChanges(); Logging.Log(Logging.LogType.Audit, string.Format("User {0} has added new guest with email '{1}', Guest ID={2} to reservation with ID {3}", Current.User.Username, newGuest.EmailAddress, newGuest.ID, Reservation.ID)); if (Reservation.IsConfirmed) { this.ShowPageMessage(string.Format("Successfully added guest '{0}, {1} {2}' with email '{3}' to reservation. Your reservation has already been confirmed. Please be sure to pay any additional fees that may be related to the additional guests you have added.", newGuest.LastName, newGuest.FirstName, newGuest.MiddleName, newGuest.EmailAddress)); } else { this.ShowPageMessage(string.Format("Successfully added guest '{0}, {1} {2}' with email '{3}' to reservation.", newGuest.LastName, newGuest.FirstName, newGuest.MiddleName, newGuest.EmailAddress)); } return(this.RedirectToAction <StudentController>(c => c.Reservation(Reservation.ID))); } else { this.ShowPageError(string.Format("A guest has already been added to this reservation with the provided email address: {0}.", Model.EmailAddress)); } } else { this.ShowPageError("The selected event date for this reservation does not allow guest registration."); } } else { this.ShowPageError(string.Format("You have already added the maximum number of guests. Guest Count: {0}. Max Guests: {1}", Reservation.tblGuests.Count, Reservation.tblEventDate.MaxNumberGuests)); } } else { this.ShowPageError(DataConstants.ModelStateInvalidError); } } else { this.ShowPageError("You are not authorized to add guests to this reservation"); } } else { this.ShowPageError("Reservation could not be found for the given ID. No guest was added."); } ViewBag.ExpandAddGuestSection = true; ViewBag.GuestModel = Model; return(View("Reservation", Reservation)); }
/// <summary> /// Confirms selected reservation if no payments are due /// </summary> /// <param name="ID">Reservation ID</param> /// <returns>ActionResult</returns> public ActionResult ConfirmReservation(int ID) { tblReservation Reservation = _ODB.tblReservations.Where(e => e.ID == ID).SingleOrDefault(); if (Reservation != null) { bool HasExistingPayments = Reservation.tblPayments.Where(e => e.Amount > 0).Count() > 0; bool IsStudentPayment = Reservation.tblInvitation.ENumber == Current.User.ENumber; if (Reservation.tblInvitation.ENumber == Current.User.ENumber || Current.User.IsAdmin || Current.User.IsStaff) { if (Reservation.CurrentAmountDue <= 0) { if (Reservation.tblEventDate.HasOpenSlots) { Reservation.IsConfirmed = true; // mark reservation as confirmed Reservation.DateConfirmed = DateTime.Now; Reservation.tblGuests.ToList().ForEach(e => e.HasPaid = true); // mark current guests as paid _ODB.SaveChanges(); if (Reservation.tblEventDate.AutomaticallyClearSOHolds) { BannerDB Banner = new BannerDB(); if (Banner.Ping()) { Banner.ReleaseHold(Reservation.tblInvitation.ENumber, DataConstants.HoldTypes.StudentOrientation); Logging.Log(Logging.LogType.Audit, string.Format("User {0} Released Hold Code '{1}' for Student {2}", Current.User.Username, DataConstants.HoldTypes.StudentOrientation, Reservation.tblInvitation.ENumber)); } else { Logging.Log(Logging.LogType.Audit, String.Format("Could not connect to Banner to release SO Hold for student {0} for Reservation {1}", Reservation.tblInvitation.ENumber, Reservation.ID), "Holds", Logging.Severity.Warning); } } if (Reservation.tblEventDate.UpdateSGBSTDN_ORSN) { try { (new BannerDB()).UpdateSGBSTDN_ORSN_Code(Reservation.tblInvitation.ENumber, Reservation.tblEventDate.EventDateType); Logging.Log(Logging.LogType.Audit, string.Format("Successfully updated SGBSTDN ORSN code '{0}' for Reservation ID {1}. Student E-Number {2}", Reservation.tblEventDate.EventDateType, Reservation.ID, Reservation.tblInvitation.ENumber)); } catch (Exception ex) { Logging.LogException(Logging.LogType.Audit, string.Format("StudentController->ConfirmReservation(): An exception occurred while trying to update SGBSTDN ORSN code '{0}' for Reservation ID {1}. Student E-Number {2}", Reservation.tblEventDate.EventDateType, Reservation.ID, Reservation.tblInvitation.ENumber), ex); } } // try to insert row for IDCard Extract try { (new BannerDB()).INSERT_IDCARD_FLAG(Reservation.tblInvitation.Pidm, Reservation.tblInvitation.tblEvent.Term, "Y"); Logging.Log(Logging.LogType.Audit, string.Format("Successfully inserted IDCard Extract Flag for Reservation ID {0}. Student E-Number {1}", Reservation.ID, Reservation.tblInvitation.ENumber)); } catch (Exception ex) { Logging.LogException(Logging.LogType.Audit, string.Format("StudentController->ConfirmReservation(): An exception occurred while trying to insert IDCard Extract Flag for Reservation ID {0}. Student E-Number {1}", Reservation.ID, Reservation.tblInvitation.ENumber), ex); } this.ShowPageMessage("Your Reservation has been confirmed"); } else { this.ShowPageError(string.Format("The selected event date '{0}' no longer has an open slot for event '{1}'. Please select another event date.", Reservation.tblEventDate.DateOfEvent.ToShortDateString(), Reservation.tblEventDate.tblEvent.Name)); } } else { this.ShowPageError(String.Format("You must pay fees due before confirming registration. The Current Amount Due is {0}", Reservation.CurrentAmountDue)); } return(this.RedirectToAction <StudentController>(c => c.Reservation(ID))); } else { this.ShowPageError("You are not authorized to confirm this Reservation"); } } else { this.ShowPageError("Could not find a reservation for the given ID"); } return(this.RedirectToAction <StudentController>(c => c.Index())); }
protected void btnSave_Click(object sender, EventArgs e) { tblReservation r = new tblReservation(); bool isAddnew =false; //弹出窗口发送了sms之后,保存时,sendsms=true if (HidSms.Value == "1") r.SendSMS = true; r.employeeNum = FixedJsString(ddlEmployee.SelectedItem.Value); //r.eventStart = DateTime.Parse(HidEventStart.Value); //r.eventEnd = DateTime.Parse(HidEventEnd.Value); r.eventStart = DateTime.Parse(System.Convert .ToDateTime(dtEventDate.DateValue).ToString("yyyy-MM-dd") + " " + eventStart.TimeValue.Value.ToShortTimeString()); r.eventEnd = DateTime.Parse(System.Convert.ToDateTime(dtEventDate.DateValue).ToString("yyyy-MM-dd") + " " + eventEnd.TimeValue.Value.ToShortTimeString()); //daypilot control won't display if eventend < eventstart, so please check this... if (r.eventEnd < r.eventStart) { //swap value DateTime tmp = r.eventStart; r.eventStart = r.eventEnd; r.eventEnd = tmp; } //r.memberNum = FixedJsString(HidMemberNum.Value); r.memberNum = FixedJsString(txtMemberNum.Text); if (txtPackage.Text.Trim() != "") r.PackageDesc = FixedJsString(txtPackage.Text); else r.PackageDesc = null; r.serviceNum = FixedJsString(txtServiceNum.Text); r.SeviceDesc= FixedJsString(txtServiceName.Text); if (Request["id"] == "0") { r.reservationID = 0; isAddnew = true; } else { r.reservationID = long.Parse(Request["id"]); //if can't input bill(btnInputBill.enabled=false),r.IsInput=true //r.IsInput = ! btnInputBill.Enabled; //客人已到达时,才可以入单 if (hidIsInput.Value == "1") r.IsInput = true; else r.IsInput = false; } r.logOnUser = this.LogOnUserID.Trim(); //store these info for non-member reservation r.CustomerName = txtSharePersonEngName.Text; r.CustomerTel = txtMobile.Text; r.CanChange = chkCanChange.Checked; r.IsArrived = chkIsArrived.Checked; r.IsCancel = chkCancel.Checked; r.Remark = txtRemark.Text.Trim(); //增加其他格子顔色選項 if (chkColor.Checked) r.OtherColor = ddlColor.SelectedValue; else r.OtherColor = null; if (chkConfirmOK.Checked) r.IsConfirm = "OK"; else if (chkConfirmVM.Checked) r.IsConfirm = "VM"; else r.IsConfirm = null; //---------check conflict------------ string ErrMsg = ""; if (false == resvh.checkConflict(r.reservationID, r.employeeNum, r.eventStart, r.eventEnd, ref ErrMsg)) { this.ShowMessage(ErrMsg); return; } r=resvh.saveReservation(isAddnew, r); //---write log ---- //change log to database // string strEmpoyeeName = this.getEmployeeNameByNum(r.employeeNum); string msg = "職員:" + LogOnUserName+"保存了"+ r.reservationID.ToString() + "號預約 客戶:" + r.CustomerName + " 電話:" + r.CustomerTel; msg += " 預約師傅:" + ddlEmployee.SelectedItem.Text+ (r.CanChange? " (指定)":""); msg += " 時間:" + r.eventStart + " 至" + eventEnd.TimeValue.Value.ToShortTimeString(); if(txtRemark.Text.Trim()!="") msg += " 備註:" + txtRemark.Text.Trim(); msg += " 服務:" + txtServiceName.Text + (r.IsArrived?" 已到達":"")+(r.IsCancel?" 已取消":""); msg += " 修改時間:" + DateTime.Now.ToString(); LogInfo log = new LogInfo(); log.op = LogOnUserName; log.opDate = DateTime.Now; log.eventDate = r.eventStart; log.client = r.CustomerName; log.tel = r.CustomerTel; log.employee = ddlEmployee.SelectedItem.Text; log.logInfo = msg; resvh.WriteLog(log); //CommonUtil.WriteLog(msg); Page.ClientScript.RegisterStartupScript(typeof(string), "cls", "<script>window.close();window.opener.document.getElementById('btnRefresh').click();</script>"); //this.CloseWindow(); }