public WebModule() : base() { Get["/"] = parameters => { ApplicationModel appModel = new ApplicationModel(Application.APPLICATION_NAME); return(Render("index.pt", context: appModel, view: new ApplicationView(appModel))); }; Get["/objs"] = parameters => // Это страница сайта с квартирами. { ObjectList objList = new ObjectList(); // Надо отлаживать в монодевелоп... ObjectListView objView = new ObjectListView(objList); return(Render("objlist.pt", context: objList, view: objView)); }; Get["/offers"] = parameters => { OfferList model = new OfferList(); OfferListView view = new OfferListView(model); return(Render("offerlist.pt", context: model, view: view)); }; Get["/agents"] = parameters => { AgentList model = new AgentList(); AgentListView view = new AgentListView(model); return(Render("agentlist.pt", context: model, view: view)); }; // Why it is emplty??? Get["/hello/{Name}"] = parameters => { IAgent testModel = Application.Context.Agents.Create(); testModel.Name = parameters.Name; return(View["hello.html", testModel]); }; }
public WebModule() : base() { Get["/"] = parameters => { RestoreSession(); ApplicationModel appModel = new ApplicationModel(Application.APPLICATION_NAME); return(Render("index.pt", context: appModel, view: new ApplicationView(appModel, CurrentSession))); }; Get["/objs"] = parameters => // Это страница сайта с квартирами. { RestoreSession(); ObjectList objList = new ObjectList(); // Надо отлаживать в монодевелоп... ObjectListView objView = new ObjectListView(objList); return(Render("objlist.pt", context: objList, view: objView)); }; Get["/offers"] = parameters => { RestoreSession(); OfferList model = new OfferList(null); OfferListView view = new OfferListView(model); return(Render("offerlist.pt", context: model, view: view)); }; Get["/offers/{clid}"] = parameters => { int clid = int.Parse(parameters.clid); RestoreSession(); OfferList model = new OfferList(clid: clid); OfferListView view = new OfferListView(model); return(Render("offerlist.pt", context: model, view: view)); }; Get["/offer/{GUID}"] = parameters => // Эта страница с индивидуальной квартирой { RestoreSession(); string GUID = parameters.GUID; IOffer model = Application.Context.Offers.Where(x => x.GUID == GUID).FirstOrDefault(); // По идее в BrightStarDB есть у каждого объекта свой ID и наш // GUID можно к нему привязать. FIXME: Привязать! string msg = "Объект (Offer) не найден!: " + GUID; if (model == null) { Console.WriteLine(msg); // и я НЕ понял почему.... return("msg"); } else { Console.WriteLine(model); } // Надо нудно искать ошибку в основном шаблоне.... // Завтра. Вырубает.... OfferView view = new OfferView(model); return(Render("offer.pt", context: model, view: view)); }; Get["/agents"] = parameters => { RestoreSession(); AgentList model = new AgentList(); AgentListView view = new AgentListView(model); return(Render("agentlist.pt", context: model, view: view)); }; Get["/login"] = parameters => // Эта страница уже лет 20 не нужна. { RestoreSession(); LoginObject model = new LoginObject(); LoginView view = new LoginView(model, this.Request, CurrentSession); // return View["login.pt", testModel]; // Оставим для истории. // Это, к стати правильный вариант отрисовки по шаблону. return(Render("login.pt", context: model, view: view)); }; // Принимаем данные пользователя из формы регистрации Post["/login"] = parameters => { RestoreSession(); LoginObject model = new LoginObject(); LoginView view = new LoginView(model, this.Request, CurrentSession); Response response = null; bool res = view.Process(); CurrentSession = view.Session; // Обновление сессии if (res) { response = Response.AsRedirect("/"); } else // Неуданая идентификация { response = Response.AsRedirect("/login"); } // Перенаправить браузер на домашнюю страницу. return(InSession(response)); }; Get["/logout"] = parameters => // Эта страница уже лет 20 не нужна. { RestoreSession(); LoginObject model = new LoginObject(); LoginView view = new LoginView(model, this.Request, CurrentSession); // return View["login.pt", testModel]; // Оставим для истории. // Это, к стати правильный вариант отрисовки по шаблону. view.Logout(); CurrentSession = view.Session; return(Render("login.pt", context: model, view: view)); }; Post["/clustering"] = parameters => { RestoreSession(); Response response = null; int num = 0; try { num = int.Parse(this.Request.Form.max); int clnum = 5; FlatClusterAnalyzer a = FlatClusterAnalyzer.AnalyzeFlatWithCluster(num); a.Store(clnum); CurrentSession["message"] = info("Обработано для " + num + " квартир, " + clnum + " кластеров", msg: "Успешный запуск"); CurrentSession["analysis_data"] = a; } catch (FormatException) { CurrentSession["message"] = error("Неправильное число квартир", msg: "Неуспешный запуск"); } response = Response.AsRedirect("/analysis"); return(InSession(response)); }; Get["/analysis"] = parameters => { RestoreSession(); ClusterList model = new ClusterList(); ClusterListView view = new ClusterListView(model); return(Render("clusters.pt", context: model, view: view)); }; Post["/analysis"] = parameters => { RestoreSession(); ClusterList model = new ClusterList(); ClusterListView view = new ClusterListView(model); FlatClusterAnalyzer analyzer = null; var form = this.Request.Form; if (form.reconstruct != null) { try { analyzer = (FlatClusterAnalyzer)CurrentSession["analysis_data"]; int k = int.Parse(form.numclusters); Console.WriteLine("---> K=" + k); analyzer.Store(k); CurrentSession["message"] = info("Произведена перестройка кластера", msg: "Удачное завершение операции"); } catch { // В сессии нет данных по кластеру. CurrentSession["message"] = error("Похоже кластер не рассчитан", msg: "Неудачная операция"); } } return(InSession(Response.AsRedirect("/analysis"))); }; }