示例#1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string routeName = Request.Params["RouteName"];

            Route r = DBHelper.GetRoute(routeName);
            if (r != null)
            {
                List <RankData> values = new List <RankData>();
                RouteTitle.InnerText = r.Title;

                IList <Rank> ranks = DBHelper.GetRanks(r.Id);
                foreach (Rank rk in ranks)
                {
                    MTBUser  user = DBHelper.LoadUser(rk.UserId);
                    RankData rd   = new RankData();
                    rd.Name     = user.Name;
                    rd.Surname  = user.Surname;
                    rd.Nickname = user.Nickname;
                    rd.Rank     = rk.RankNumber;
                    values.Add(rd);
                }
                Repeater1.DataSource = values;
                Repeater1.DataBind();
            }
        }
    }
示例#2
0
    private static MTBUser GetUser()
    {
        MTBUser user = LoginState.User;

        if (user == null) //non ho trovato un utente da db, alora è di nuova creazione?
        {
            user = LoginState.NewUser;
        }
        return(user);
    }
示例#3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (string.IsNullOrEmpty(RouteName))
        {
            RouteName = Path.GetFileName(Page.MapPath("."));
        }
        Route r = DBHelper.GetRoute(RouteName);

        if (r == null)
        {
            return;
        }
        GpxParser parser           = r.Parser;
        string    routeLenght      = Math.Round(parser.Distance3D / 1000, 1).ToString(CultureInfo.InvariantCulture);
        string    routeTotalHeight = Convert.ToInt32(parser.TotalClimb).ToString();
        string    routeMaxHeight   = Convert.ToInt32(parser.MaxElevation).ToString();
        string    routeMinHeight   = Convert.ToInt32(parser.MinElevation).ToString();


        Page.Header.Title = r.Title;
        if (HideTitle)
        {
            Title.Visible = false;
        }
        else
        {
            Title.InnerText = r.Title;
        }
        MTBUser user = DBHelper.LoadUser(r.OwnerId);

        if (user != null)
        {
            Owner.InnerText = user.DisplayName;
        }
        Lenght.InnerText = routeLenght + " Km";
        //TotalHeight.InnerText = routeTotalHeight + " m";

        MaxHeight.InnerText            = routeMaxHeight + " m";
        MinHeight.InnerText            = routeMinHeight + " m";
        Cycle.InnerText                = r.Cycling.ToString() + "%";
        Difficulty.InnerText           = r.Difficulty;
        Difficulty.Attributes["title"] = Helper.GetDifficultyExplanation(r.Difficulty);
        int    votes = 0;
        double w     = DBHelper.GetMediumRank(r, out votes);

        RankIndicator.Style.Add(HtmlTextWriterStyle.Width, Convert.ToInt16(w * 10) + "px");
        RankIndicator.Style.Add(HtmlTextWriterStyle.Height, "20px");
        RankIndicator.Style.Add(HtmlTextWriterStyle.BackgroundColor, "blue");
        RankIndicator.Style.Add(HtmlTextWriterStyle.Display, "inline");
        RankIndicator.Style.Add(HtmlTextWriterStyle.Position, "absolute");

        RankLabel.InnerText        = string.Format("Valutazione ({0} voti):", votes);
        RankDetailLink.NavigateUrl = "~/Routes/RouteRankDetail.aspx?RouteName=" + r.Name;
        RankDetailLink.Target      = "RouteDetail" + r.Id;
    }
示例#4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Page.IsPostBack)
        {
            return;
        }

        if (string.IsNullOrEmpty(RouteName))
        {
            RouteName = Path.GetFileName(Page.MapPath("."));
        }
        string    gpxFullPath = PathFunctions.GetGpxPathFromRouteName(RouteName);
        GpxParser parser      = Helper.GetGpxParser(gpxFullPath);

        if (parser == null)
        {
            return;
        }

        MapLink.NavigateUrl = string.Format("~/Routes/Map.aspx?Route={0}", RouteName);
        ProfileImage.Src    = Helper.GenerateProfileFile(gpxFullPath);

        int countryCode = 0;

        countryCode = parser.CountryCode;
        string zipPath = parser.ZippedFile;

        HyperLinkToGps.NavigateUrl = PathFunctions.GetUrlFromPath(zipPath, true);

        if (countryCode != 0)
        {
            MeteoFrame.Attributes["src"] = string.Format("http://www.ilmeteo.it/script/meteo.php?id=free&citta={0}", countryCode);
        }
        else
        {
            MeteoFrame.Visible = false;
        }

        FBLike.Attributes["src"] = string.Format(
            "http://www.facebook.com/widgets/like.php?href={0}",
            HttpUtility.UrlEncode(Page.Request.Url.ToString()));

        MTBUser user = LoginState.User;

        if (user == null)
        {
            Rank.SelectedIndex = -1;
        }
        else
        {
            Rank r = DBHelper.GetRank(user.Id, GetRoute().Id);
            Rank.SelectedIndex = r == null ? -1 : r.RankNumber - 1;
        }
    }
示例#5
0
    private void LogUser(string openId, ClaimsResponse profileFields)
    {
        //recupero l'utente da db, oppure lo creo al volo se non esiste
        MTBUser user = DBHelper.LoadUser(openId);

        //non esiste? allora lo creo e lo metto nella sessione come NewUser, quindi
        //rimando alla pagina User che, solo dopo aver inserito i dati obblicatori, lo metterà
        //finalmente in sessione come User
        if (user == null)
        {
            user         = new MTBUser();
            user.OpenId  = openId;
            user.Surname = "";

            if (profileFields != null)
            {
                user.Name     = profileFields.FullName;
                user.EMail    = profileFields.Email;
                user.Nickname = profileFields.Nickname;
                if (profileFields.Gender != null)
                {
                    switch (profileFields.Gender.Value)
                    {
                    case Gender.Male:
                        user.Gender = MTBUser.GenderType.Male;
                        break;

                    case Gender.Female:
                        user.Gender = MTBUser.GenderType.Female;
                        break;

                    default:
                        break;
                    }
                }

                if (profileFields.BirthDate != null)
                {
                    user.BirthDate = profileFields.BirthDate.Value;
                }
            }

            LoginState.NewUser = user;
            Response.Redirect("User.aspx");
        }
        else
        {
            LoginState.User = user;
            FormsAuthentication.RedirectFromLoginPage("", false);
        }
    }
示例#6
0
    protected void ButtonSave_Click(object sender, EventArgs e)
    {
        if (!IsValid)
        {
            return;
        }

        string message = "Informazioni salvate correttamente.";

        try
        {
            MTBUser user = GetUser();
            user.Name     = TextBoxName.Text;
            user.Surname  = TextBoxSurname.Text;
            user.Nickname = TextBoxNickname.Text;
            user.EMail    = TextBoxMail.Text;
            DateTime d;
            if (ParseDate(TextBoxBirthDate.Text, out d))
            {
                user.BirthDate = d;
            }
            user.Zip          = TextBoxZip.Text;
            user.GenderNumber = (short)RadioButtonListGender.SelectedIndex;
            user.Bike1        = TextBoxBike1.Text;
            user.Bike2        = TextBoxBike2.Text;
            user.Bike3        = TextBoxBike3.Text;
            user.SendMail     = CheckBoxMailList.Checked;
            DBHelper.SaveUser(user);
            //l'ho salvato: adesso è un utente buono
            if (LoginState.User != user)
            {
                LoginState.User = user;
                //mi mando una mail per conoscenza, e una la mando a chi si è registrato
                string msg = string.Format("Grazie per esserti registrato a MTBScout, questo è il riepilogo dei tuoi dati:\r\n{0}", user);
                Helper.SendMail(user.EMail, null, "*****@*****.**", "Conferma avvenuta registrazione", msg, false);

                //non mi serve più quello temporaneo
                LoginState.NewUser = null;
            }
            ScriptManager.RegisterStartupScript(this, GetType(), "MessageOK", "alert('Informazioni salvate correttamente.');", true);
        }
        catch (Exception ex)
        {
            message = String.Format("Errore salvando i dati utente: {0}", ex.Message);
            ScriptManager.RegisterStartupScript(this, GetType(), "MessageError", string.Format("alert('{0}');", message), true);
        }
    }
示例#7
0
 //--------------------------------------------------------------------------------
 public static void SaveUser(MTBUser user)
 {
     using (ISession iSession = NHSessionManager.GetSession())
     {
         //aggiungo l'utente al database, oppure lo aggiorno
         using (ITransaction transaction = iSession.BeginTransaction())
         {
             iSession.SaveOrUpdate(user);
             iSession.Flush();
             transaction.Commit();
         }
         new Thread(() =>
         {
             using (ISession ss = NHSessionManager.GetSession())
             {
                 DBHelper.LoadUsers(ss);
             }
         }).Start();
     }
 }
示例#8
0
    protected void Page_Load(object sender, EventArgs e)
    {
        MTBUser user = GetUser();

        //neahce di nuova creazione: vai alla login!
        if (user == null)
        {
            FormsAuthentication.RedirectToLoginPage();
            return;
        }
        if (LoginState.User == null)
        {
            MyRoutesPanel.Visible = false;
        }
        else
        {
            MyRoutesPanel.Visible      = true;
            MyRoutes.Attributes["src"] = "/Routes/RouteContent.aspx?EditMode=true&UserId=" + LoginState.User.Id;
        }
        if (!IsPostBack)
        {
            TextBoxName.Text     = user.Name;
            TextBoxSurname.Text  = user.Surname;
            TextBoxNickname.Text = user.Nickname;
            TextBoxMail.Text     = user.EMail;
            if (user.BirthDate != DateTime.MinValue)
            {
                TextBoxBirthDate.Text = user.BirthDate.ToString("dd/MM/yyyy", CultureInfo.CurrentCulture);
            }
            else
            {
                TextBoxBirthDate.Text = "gg/mm/aaaa";
            }
            TextBoxZip.Text = user.Zip;
            RadioButtonListGender.SelectedIndex = user.GenderNumber;
            TextBoxBike1.Text        = user.Bike1;
            TextBoxBike2.Text        = user.Bike2;
            TextBoxBike3.Text        = user.Bike3;
            CheckBoxMailList.Checked = user.SendMail;
        }
    }