Пример #1
0
        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"));
            }
        }