예제 #1
0
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// Page_Load runs when the control is loaded
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <history>
        /// </history>
        /// -----------------------------------------------------------------------------
        protected void Page_Load(System.Object sender, System.EventArgs e)
        {
            base.Page_Load(sender, e);
            try
            {
                ServiceReference service = new ServiceReference("~/DesktopModules/ATI_Base/resources/services/StreamService.asmx");
                service.InlineScript = true;
                ScriptManager.GetCurrent(Page).Services.Add(service);
                imgAd.Src         = ResolveUrl("~/images/iphoneAd.png");
                imgCheck.ImageUrl = ResolveUrl("~/DesktopModules/ATI_Base/resources/images/iCheck.png");

                if (!Page.IsPostBack && !Page.IsCallback)
                {
                    imgSearch.Src = ResolveUrl("~/DesktopModules/ATI_Base/resources/images/iSearch.png");
                    imgCenter.Src = ResolveUrl("~/DesktopModules/ATI_Base/resources/images/iCenter.png");
                    aqufitEntities entities = new aqufitEntities();
                    long           rId      = 0;
                    if (HttpContext.Current.Items["r"] != null)
                    {
                        rId = Convert.ToInt64(HttpContext.Current.Items["r"]);
                    }
                    else if (Request["r"] != null)
                    {
                        rId = Convert.ToInt64(Request["r"]);
                    }
                    else if (HttpContext.Current.Items["w"] != null)
                    {
                        long workoutId = Convert.ToInt64(HttpContext.Current.Items["w"]);
                        rId = entities.UserStreamSet.OfType <Workout>().Where(w => w.Id == workoutId).Select(w => w.WorkoutExtendeds.FirstOrDefault().MapRoute.Id).FirstOrDefault();
                    }
                    else if (Request["w"] != null)
                    {
                        long workoutId = Convert.ToInt64(Request["w"]);
                        rId = entities.UserStreamSet.OfType <Workout>().Where(w => w.Id == workoutId).Select(w => w.WorkoutExtendeds.FirstOrDefault().MapRoute.Id).FirstOrDefault();
                    }
                    // Are we viewing a specific route ?
                    if (rId > 0)
                    {
                        hiddenRouteKey.Value = "" + rId;

                        MapRoute route = entities.MapRoutes.Include("UserSetting").Include("MapRoutePoints").FirstOrDefault(m => m.Id == rId);
                        if (base.UserSettings != null)
                        {
                            bAddRoute.Visible = entities.User2MapRouteFav.FirstOrDefault(mr => mr.MapRoute.Id == route.Id && mr.UserSettingsKey == UserSettings.Id) == null;
                        }
                        Affine.Utils.UnitsUtil.MeasureUnit unit = this.UserSettings != null && this.UserSettings.DistanceUnits != null?Affine.Utils.UnitsUtil.ToUnit(this.UserSettings.DistanceUnits.Value) : Affine.Utils.UnitsUtil.MeasureUnit.UNIT_MILES;

                        string dist = Math.Round(Affine.Utils.UnitsUtil.systemDefaultToUnits(route.RouteDistance, unit), 2) + " " + Affine.Utils.UnitsUtil.unitToStringName(unit);
                        lRouteTitle.Text = route.Name + " (" + dist + ")";
                        lRouteInfo.Text  = "<span>A " + dist + " route posted by <a class=\"username\" href=\"/" + route.UserSetting.UserName + "\">" + route.UserSetting.UserName + "</a> on " + route.CreationDate.ToShortDateString() + "</span>";
                        double centerLat = (route.LatMax + route.LatMin) / 2;
                        double centerLng = (route.LngMax + route.LngMin) / 2;
                        atiGMapView.Lat = centerLat;
                        atiGMapView.Lng = centerLng;
                        if (route.ThumbZoom.HasValue)
                        {
                            atiGMapView.Zoom = (short)(route.ThumbZoom.Value + 2);
                        }
                        atiGMapView.Route      = route;
                        atiProfileImg.Settings = route.UserSetting;
                        atiRoutePanel.Visible  = false;
                        atiRouteViewer.Visible = true;

                        string js = string.Empty;

                        //js += "Affine.WebService.StreamService.GetRoutes(" + centerLat + ", " + centerLng + ", 10, 0, 5, 'distance', function (json) { ";
                        js += "Aqufit.Page.atiSimilarRouteListScript.dataBinder = function(skip, take){ \n";
                        js += "     Affine.WebService.StreamService.GetSimilarRoutes(" + rId + ", 10, skip, take, 'distance', function (json) { \n";
                        js += "         Aqufit.Page.atiSimilarRouteListScript.generateStreamDom(json); \n";
                        js += "     }); \n";
                        js += "};";
                        js += " Aqufit.Page.atiSimilarRouteListScript.dataBinder(0,5); ";
                        atiShareLink.ShareLink  = "http://" + Request.Url.Host + "/route/" + route.Id;
                        atiShareLink.ShareTitle = "FlexFWD.com Mapped Route: \"" + route.Name + "\"";

                        routeTabTitle.Text = "&nbsp;" + (string.IsNullOrWhiteSpace(route.Name) ? "Untitled" : route.Name);

                        Affine.WebService.StreamService ss = new WebService.StreamService();
                        string json = ss.getStreamDataForRoute(route.Id, 0, 5);
                        //generateStreamDom

                        ScriptManager.RegisterStartupScript(this, Page.GetType(), "SimilarRouteList", "$(function(){ " + js + " Aqufit.Page.atiStreamScript.generateStreamDom('" + json + "'); });", true);
                    }
                    else
                    {
                        if (Settings["Configure"] != null && Convert.ToString(Settings["Configure"]).Equals("ConfigureMyRoutes"))
                        {
                            atiMyRoutePanel.Visible = true;
                            mapContainer.Visible    = false;
                            atiRoutePanel.Visible   = true;
                            routeTabTitle.Text      = "My Routes";
                            liMyRoutes.Visible      = false;
                            liFindRoute.Visible     = true;
                            WebService.StreamService streamService = new WebService.StreamService();
                            string json = streamService.GetMyRoutes(base.UserSettings.Id, 0, 10, "date");
                            string js   = string.Empty;
                            //js += "Affine.WebService.StreamService.GetRoutes(" + centerLat + ", " + centerLng + ", 10, 0, 5, 'distance', function (json) { ";
                            js += "$(function(){ Aqufit.Page.atiRouteListScript.isMyRoutes = true; Aqufit.Page.atiRouteListScript.generateStreamDom('" + json + "'); \n";
                            js += "     Aqufit.Page.atiRouteListScript.dataBinder = function(skip, take){ \n";
                            js += "         Affine.WebService.StreamService.GetMyRoutes(" + base.UserSettings.Id + ", skip, take, 'date', function (json) { \n";
                            js += "             Aqufit.Page.atiRouteListScript.generateStreamDom(json); \n";
                            js += "         }); \n";
                            js += "     } \n";
                            js += " }); \n";

                            ScriptManager.RegisterStartupScript(this, Page.GetType(), "RouteList", js, true);
                        }
                        else
                        {
                            routeTabTitle.Text     = "Routes";
                            atiRoutePanel.Visible  = true;
                            atiRouteViewer.Visible = false;
                            SetupPage();        // do normal page setup
                        }
                    }
                }
            }
            catch (Exception exc) //Module failed to load
            {
                Exceptions.ProcessModuleLoadException(this, exc);
            }
        }
예제 #2
0
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// Page_Load runs when the control is loaded
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <history>
        /// </history>
        /// -----------------------------------------------------------------------------
        protected void Page_Load(System.Object sender, System.EventArgs e)
        {
            base.Page_Load(sender, e);
            try
            {
                ServiceReference service = new ServiceReference("~/DesktopModules/ATI_Base/resources/services/StreamService.asmx");
                service.InlineScript = true;
                ScriptManager.GetCurrent(Page).Services.Add(service);
                imgAd.Src = ResolveUrl("~/images/iphoneAd.png");
                imgCheck.ImageUrl = ResolveUrl("~/DesktopModules/ATI_Base/resources/images/iCheck.png");

                if (!Page.IsPostBack && !Page.IsCallback)
                {
                    imgSearch.Src = ResolveUrl("~/DesktopModules/ATI_Base/resources/images/iSearch.png");
                    imgCenter.Src = ResolveUrl("~/DesktopModules/ATI_Base/resources/images/iCenter.png");
                    aqufitEntities entities = new aqufitEntities();
                    long rId = 0;
                    if (HttpContext.Current.Items["r"] != null)
                    {
                        rId = Convert.ToInt64(HttpContext.Current.Items["r"]);
                    }
                    else if (Request["r"] != null)
                    {
                        rId = Convert.ToInt64(Request["r"]);
                    }
                    else if (HttpContext.Current.Items["w"] != null)
                    {
                        long workoutId = Convert.ToInt64(HttpContext.Current.Items["w"]);
                        rId = entities.UserStreamSet.OfType<Workout>().Where(w => w.Id == workoutId).Select(w => w.WorkoutExtendeds.FirstOrDefault().MapRoute.Id).FirstOrDefault();
                    }
                    else if (Request["w"] != null)
                    {
                        long workoutId = Convert.ToInt64(Request["w"]);
                        rId = entities.UserStreamSet.OfType<Workout>().Where(w => w.Id == workoutId).Select(w => w.WorkoutExtendeds.FirstOrDefault().MapRoute.Id).FirstOrDefault();
                    }
                    // Are we viewing a specific route ?
                    if (rId > 0)
                    {
                        hiddenRouteKey.Value = "" + rId;

                        MapRoute route = entities.MapRoutes.Include("UserSetting").Include("MapRoutePoints").FirstOrDefault(m => m.Id == rId);
                        if( base.UserSettings != null ){
                            bAddRoute.Visible = entities.User2MapRouteFav.FirstOrDefault(mr => mr.MapRoute.Id == route.Id && mr.UserSettingsKey == UserSettings.Id) == null;
                        }
                        Affine.Utils.UnitsUtil.MeasureUnit unit = this.UserSettings != null && this.UserSettings.DistanceUnits != null ? Affine.Utils.UnitsUtil.ToUnit( this.UserSettings.DistanceUnits.Value ) : Affine.Utils.UnitsUtil.MeasureUnit.UNIT_MILES;
                        string dist = Math.Round( Affine.Utils.UnitsUtil.systemDefaultToUnits(route.RouteDistance, unit), 2 ) + " " + Affine.Utils.UnitsUtil.unitToStringName(unit);
                        lRouteTitle.Text = route.Name + " (" + dist + ")";
                        lRouteInfo.Text = "<span>A " + dist + " route posted by <a class=\"username\" href=\"/" + route.UserSetting.UserName + "\">" + route.UserSetting.UserName + "</a> on "+route.CreationDate.ToShortDateString()+"</span>";
                        double centerLat = (route.LatMax + route.LatMin) / 2;
                        double centerLng = (route.LngMax + route.LngMin) / 2;
                        atiGMapView.Lat = centerLat;
                        atiGMapView.Lng = centerLng;
                        if (route.ThumbZoom.HasValue)
                        {
                            atiGMapView.Zoom = (short)(route.ThumbZoom.Value + 2);
                        }
                        atiGMapView.Route = route;
                        atiProfileImg.Settings = route.UserSetting;
                        atiRoutePanel.Visible = false;
                        atiRouteViewer.Visible = true;

                        string js = string.Empty;

                        //js += "Affine.WebService.StreamService.GetRoutes(" + centerLat + ", " + centerLng + ", 10, 0, 5, 'distance', function (json) { ";
                        js += "Aqufit.Page.atiSimilarRouteListScript.dataBinder = function(skip, take){ \n";
                        js += "     Affine.WebService.StreamService.GetSimilarRoutes(" + rId + ", 10, skip, take, 'distance', function (json) { \n";
                        js += "         Aqufit.Page.atiSimilarRouteListScript.generateStreamDom(json); \n";
                        js += "     }); \n";
                        js += "};";
                        js += " Aqufit.Page.atiSimilarRouteListScript.dataBinder(0,5); ";
                        atiShareLink.ShareLink = "http://"+Request.Url.Host + "/route/" + route.Id;
                        atiShareLink.ShareTitle = "FlexFWD.com Mapped Route: \"" + route.Name +"\"";

                        routeTabTitle.Text = "&nbsp;" + (string.IsNullOrWhiteSpace(route.Name) ? "Untitled" : route.Name);

                        Affine.WebService.StreamService ss = new WebService.StreamService();
                        string json = ss.getStreamDataForRoute(route.Id, 0, 5);
                        //generateStreamDom

                        ScriptManager.RegisterStartupScript(this, Page.GetType(), "SimilarRouteList", "$(function(){ " + js + " Aqufit.Page.atiStreamScript.generateStreamDom('" + json + "'); });", true);
                    }
                    else
                    {
                        if (Settings["Configure"] != null && Convert.ToString( Settings["Configure"] ).Equals("ConfigureMyRoutes") )
                        {
                            atiMyRoutePanel.Visible = true;
                            mapContainer.Visible = false;
                            atiRoutePanel.Visible = true;
                            routeTabTitle.Text = "My Routes";
                            liMyRoutes.Visible = false;
                            liFindRoute.Visible = true;
                            WebService.StreamService streamService = new WebService.StreamService();
                            string json = streamService.GetMyRoutes(base.UserSettings.Id, 0, 10, "date");
                            string js = string.Empty;
                            //js += "Affine.WebService.StreamService.GetRoutes(" + centerLat + ", " + centerLng + ", 10, 0, 5, 'distance', function (json) { ";
                            js += "$(function(){ Aqufit.Page.atiRouteListScript.isMyRoutes = true; Aqufit.Page.atiRouteListScript.generateStreamDom('" + json + "'); \n";
                            js += "     Aqufit.Page.atiRouteListScript.dataBinder = function(skip, take){ \n";
                            js += "         Affine.WebService.StreamService.GetMyRoutes(" + base.UserSettings.Id + ", skip, take, 'date', function (json) { \n";
                            js += "             Aqufit.Page.atiRouteListScript.generateStreamDom(json); \n";
                            js += "         }); \n";
                            js += "     } \n";
                            js += " }); \n";

                            ScriptManager.RegisterStartupScript(this, Page.GetType(), "RouteList", js, true);
                        }
                        else
                        {
                            routeTabTitle.Text = "Routes";
                            atiRoutePanel.Visible = true;
                            atiRouteViewer.Visible = false;
                            SetupPage();        // do normal page setup
                        }

                    }
                }

            }
            catch (Exception exc) //Module failed to load
            {
                Exceptions.ProcessModuleLoadException(this, exc);
            }
        }