private ActionResult FWLinkInternal(int linkId) { Prog.Terminal.LastRequestCache = Prog.Terminal.RequestCache; switch (linkId) { case 101101: Prog.Terminal.CompanyUnderEdit = Company.GetCompany((long)Prog.Terminal.RequestCache.companyId); return(this.RedirectToAction("SAAgent")); case 101102: Prog.Terminal.CompanyUnderEdit.SerializeWithAgent((DynamicBag)Prog.Terminal.RequestCache).DBSave(true, false); return(this.RedirectToAction("SAAgents")); case 101103: return(this.RedirectToAction("SAAgents")); case 101104: return(this.RedirectToAction("SAXmls")); case 102101: if (Prog.Terminal.SignIn((string)Prog.Terminal.RequestCache.userName, (string)Prog.Terminal.RequestCache.password)) { return(this.RedirectToAction("Index")); } return(this.RedirectToAction("ASSignUp")); case 10210101: if (Prog.Terminal.SignIn((string)Prog.Terminal.RequestCache.userName, (string)Prog.Terminal.RequestCache.password)) { return new ContentResult() { Content = new JObject(new JProperty("approved", true)).ToString() } } ; return(new ContentResult() { Content = new JObject(new JProperty("approved", false)).ToString() }); case 102102: Prog.Terminal.SignOut(); return(this.RedirectToAction("Index")); case 102103: if (Prog.Database.SignUp(Prog.Terminal.RequestCache)) { return(this.RedirectToAction("ASSignIn")); } return(this.RedirectToAction("ASSignUp")); case 102104: return(this.RedirectToAction("ASSignUp")); case 102105: switch (Prog.Terminal.User.Type) { case UserType.Admin: case UserType.Agent: case UserType.AgentSubUser: return(this.RedirectToAction("ASProfileHome")); default: return(this.RedirectToAction("ASSignIn")); } case 102106: this.Session.Abandon(); return(this.RedirectToAction("IPNotFound")); case 103101: if (Prog.Terminal.SubUserEditMode == null) { new User(UserType.AgentSubUser, Prog.Terminal.User.Company, Prog.Terminal.RequestCache).DBSave(); } else { Prog.Terminal.SubUserEditMode.Serialize((DynamicBag)Prog.Terminal.RequestCache).DBSave(); Prog.Terminal.User.Company.SubUsers = null; } return(this.RedirectToAction("APUsers")); case 103102: List <BookingInfo> bCol = DBBooking.Selects(Prog.Terminal.User.Company.Id.Value, ((string)Prog.Terminal.RequestCache.fromDate).DateTimeOrDefault(), ((string)Prog.Terminal.RequestCache.toDate).DateTimeOrDefault(), (string)Prog.Terminal.RequestCache.country, (string)Prog.Terminal.RequestCache.city, (string)Prog.Terminal.RequestCache.bRefNo, (string)Prog.Terminal.RequestCache.hotelName, (string)Prog.Terminal.RequestCache.firstName, (string)Prog.Terminal.RequestCache.lastName, (int)Prog.Terminal.RequestCache.bStatus) .Select(a => a.AsBookingInfo()).ToList(); this.TempData["bCol"] = bCol; Misc.Log(bCol.Count.ToString()); return(this.RedirectToAction("APBookingHistory")); case 10310201: if (BookingInfo.GetBookingInfo((long)Prog.Terminal.RequestCache.bId, true).Perform((int)Prog.Terminal.RequestCache.actionId)) { return(this.RedirectToAction("APBookingHistory")); } return(this.RedirectToAction("APBookingHistory")); case 103103: Prog.Terminal.User.AssertAction(ActionPermission.AMiscAddSubuser); Prog.Terminal.SubUserEditMode = new User(UserType.AgentSubUser, Prog.Terminal.User.Company, null); return(this.RedirectToAction("APUser")); case 103104: return(this.RedirectToAction("APUsers")); case 10310401: Prog.Terminal.User.AssertAction(ActionPermission.AMiscEditSubuser); Prog.Terminal.SubUserEditMode = Prog.Terminal.User.Company.GetSubuser((long)Prog.Terminal.RequestCache.userId); return(this.RedirectToAction("APUser")); case 103105: Prog.Terminal.User.AssertAction(ActionPermission.ABookingView); return(this.RedirectToAction("APBookingHistory")); case 103106: Prog.Terminal.User.AssertAction(ActionPermission.AAccountingViewBalance); return(this.RedirectToAction("APBalance")); case 104101: //Prog.SessionCache.BookingParameters = new DynamicBag(Misc.requestJsonString, true); //TODO: maybe Reset isn't required here Prog.Terminal.Reset(Prog.Terminal.User); Prog.Terminal.BasicBooking.UpdateParameters(); Prog.Terminal.BasicBooking.Search(); Prog.Terminal.BasicBooking.FilterAndSort(null, null, null, null); return(this.RedirectToAction("HOHotels")); case 10410101: return(this.FWLinkInternal(104101)); case 10410102: Prog.Terminal.Reset(Prog.Terminal.User); Prog.Terminal.BasicBooking.UpdateParameters(); Prog.Terminal.BasicBooking.LoadHotels(); return(this.RedirectToAction("HOHotels")); case 10410201: if ((bool)Prog.Terminal.RequestCache.doSearch) { Prog.Terminal.BasicBooking.Search(); Prog.Terminal.BasicBooking.FilterAndSort(null, null, null, null); } else { Prog.Terminal.BasicBooking.FilterAndSort((string)Prog.Terminal.RequestCache.filterBy, (string)Prog.Terminal.RequestCache.sortBy, (int?)Prog.Terminal.RequestCache.fromPrice, (int?)Prog.Terminal.RequestCache.toPrice); } return(this.PartialView("parHotels")); case 104103: //Prog.SessionCache.BookingParameters.updateJObject(Misc.requestJsonString); Prog.Terminal.MoveToFinal(); Prog.Terminal.FinalBooking.UpdateParameters(); return(this.RedirectToAction("HOHotel")); case 10410301: Prog.Terminal.FinalBooking.UpdateParameters(); Prog.Terminal.FinalBooking.SearchSelectedHotel(); return(this.RedirectToAction("HOHotel")); //return this.FWLinkInternal(104103); case 10410302: Prog.Terminal.FinalBooking.UpdateParameters(); return(this.RedirectToAction("HODetails")); case 104104: Prog.Terminal.FinalBooking.UpdateParameters(); Prog.Terminal.EndBooking(); if (Prog.Terminal.BookingInfo.ProceedByBalance()) { return(this.RedirectToAction("HOLast")); } return(this.View("HODetails")); case 10410501: //Prog.Terminal.FinalBooking.ExportToPDF(this.RenderRazorViewToString("ReportUn", null), true, false); return(this.RedirectToAction("HOLast")); case 10410502: if ((string)Prog.Terminal.RequestCache.type == "pReport") { Prog.Terminal.BookingInfo.ExportToPDF(this.RenderRazorViewToString("Report001001", null), true, true); } else if ((string)Prog.Terminal.RequestCache.type == "pReportP") { Prog.Terminal.BookingInfo.ExportToPDF(this.RenderRazorViewToString("Report001002", null), false, true); } else if ((string)Prog.Terminal.RequestCache.type == "pReportPC") { Prog.Terminal.BookingInfo.ExportToPDF(this.RenderRazorViewToString("Report001003", null), false, true); } return(this.RedirectToAction("HOLast")); case 105101: return(new ContentResult() { Content = Misc.GetMatch(Prog.Content.HotelsNames, (string)Prog.Terminal.RequestCache.ddlQuery).ToString() }); case 105102: return(new ContentResult() { Content = Misc.GetMatch(Prog.Content.Nationalities, (string)Prog.Terminal.RequestCache.ddlQuery).ToString() }); default: return(this.RedirectToAction("Index")); } }