protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
    {
        string dateTimeFormat = ConfigurationManager.AppSettings["DateTimeFormat"].ToString();

        if ((e.Item) is GridDataItem)
        {
            vwReview     ent  = (vwReview)e.Item.DataItem;
            GridDataItem item = (GridDataItem)e.Item;

            Label     lblName    = (Label)item["Header"].FindControl("lblReviewerName");
            RadRating RadRating2 = (RadRating)item["Header"].FindControl("RadRating2");
            Label     lblScore   = (Label)item["Header"].FindControl("lblScore");
            Label     lblDate    = (Label)item["Header"].FindControl("lblDate");
            Label     lblReview  = (Label)item["Header"].FindControl("lblReview");

            lblName.Text   = ent.FirstName + " " + ent.LastName;
            lblScore.Text  = string.Format("{0:0.00}", ent.Score);
            lblDate.Text   = ent.CreatedDate.ToString(dateTimeFormat);
            lblReview.Text = ent.Review;

            if (ent.Score != null)
            {
                RadRating2.Value = Double.Parse(ent.Score.ToString());
            }
            else
            {
                RadRating2.Value = 0;
            }
            RadRating2.ReadOnly = true;
        }
    }
        protected override bool ApplyTemplateCore()
        {
            bool applied = base.ApplyTemplateCore();

            this.rating = this.GetTemplateChild("PART_Rating") as RadRating;
            applied     = applied && this.rating != null;

            return(applied);
        }
        public void Invoke()
        {
            RadRating     rating             = this.RatingItem.Owner;
            RadRatingItem selectedRatingItem = rating.Items.LastOrDefault(item => rating.GetIndexOf(item) < rating.Value);

            if (selectedRatingItem != null && selectedRatingItem == this.RatingItem)
            {
                this.RatingItem.Owner.Value = 0d;
            }
            else
            {
                this.RatingItem.Select();
            }
        }
 /// <summary>
 /// Not implemented in this single-value control.
 /// </summary>
 public void AddToSelection()
 {
     if (!this.IsSelected)
     {
         RadRating     rating             = this.RatingItem.Owner;
         RadRatingItem selectedRatingItem = rating.Items.LastOrDefault(item => rating.GetIndexOf(item) < rating.Value);
         if (selectedRatingItem != null && selectedRatingItem != this.RatingItem)
         {
             throw new ArgumentException("Rating supports only single selection.");
         }
         this.Select();
     }
     else
     {
         throw new InvalidOperationException("Element is already selected");
     }
 }
Example #5
0
        protected void putUserRanking()
        {
            Label         sPregRanking;
            RadRating     oRadRating;
            StringBuilder sSQL = new StringBuilder();

            sSQL.Append(" est_preg_ranking = 'V' ");
            DataTable dPregRanking = oWeb.DeserializarTbl(Server.MapPath("."), "PregRanking.bin");

            if (dPregRanking != null)
            {
                if (dPregRanking.Rows.Count > 0)
                {
                    DataRow[] oRows = dPregRanking.Select(sSQL.ToString());
                    if (oRows != null)
                    {
                        if (oRows.Count() > 0)
                        {
                            foreach (DataRow oRow in oRows)
                            {
                                Controls.Add(new LiteralControl("<div class=\"mdlpregrank\">"));
                                Controls.Add(new LiteralControl("<div class=\"labelpregrank\">"));
                                sPregRanking      = new Label();
                                sPregRanking.Text = oRow["preg_ranking"].ToString();
                                Controls.Add(sPregRanking);
                                Controls.Add(new LiteralControl("</div>"));

                                Controls.Add(new LiteralControl("<div class=\"objrankpreg\">"));
                                oRadRating               = new RadRating();
                                oRadRating.ID            = "RdRating_" + oRow["cod_preg_ranking"].ToString();
                                oRadRating.ItemCount     = 7;
                                oRadRating.SelectionMode = RatingSelectionMode.Continuous;
                                oRadRating.Precision     = RatingPrecision.Item;
                                oRadRating.Orientation   = Orientation.Horizontal;
                                Controls.Add(oRadRating);
                                Controls.Add(new LiteralControl("</div>"));
                                Controls.Add(new LiteralControl("</div>"));
                            }
                        }
                    }
                    oRows = null;
                }
            }
            dPregRanking = null;
        }
Example #6
0
        protected void RateVolunteer_Rate(object sender, EventArgs e)
        {
            RadRating oRating = (RadRating)sender;

            int   activityId      = Convert.ToInt32(oRating.DataModelID);
            long  volunteerId     = Convert.ToInt64(oRating.AccessKey);
            long  projectDetailId = Convert.ToInt64(ProjectDetailName.SelectedValue);
            long  userId          = UserHelper.CurrentUser.UserId;
            short vote            = Convert.ToInt16(oRating.Value);

            var newAddVolunteerVoteDTO = new AddVolunteerVoteDTO
            {
                ProjectDetailId = projectDetailId,
                UserId          = userId,
                VolunteerId     = volunteerId,
                ActivityId      = activityId,
                Vote            = vote
            };

            try
            {
                ServiceResult <long> serviceResult = new ServiceResult <long>();
                var queryString = new Dictionary <string, string>();
                var response    = ApiHelper.CallSendApiMethod(ApiKeys.ProjectApiUrl, "AddNewVolunteerVote", queryString, newAddVolunteerVoteDTO);
                if (!response.IsSuccessStatusCode)
                {
                    throw new Exception("Hata oluştu!");
                }
                var data = response.Content.ReadAsStringAsync().Result;
                serviceResult = JsonConvert.DeserializeObject <ServiceResult <long> >(data);

                if (serviceResult.ServiceResultType != EnumServiceResultType.Success)
                {
                    throw new Exception(serviceResult.ErrorMessage);
                }

                GetVolunteerEvaluationList();
            }
            catch (Exception ex)
            {
            }
        }
Example #7
0
 /// <summary>
 ///  Initializes a new instance of the RadRatingAutomationPeer class.
 /// </summary>
 /// <param name="owner">The RadRating that is associated with this RadRatingAutomationPeer.</param>
 public RadRatingAutomationPeer(RadRating owner) : base(owner)
 {
 }
Example #8
0
        /// <inheritdoc />
        public void SetValue(double value)
        {
            RadRating owner = base.Owner as RadRating;

            owner.Value = value;
        }
        public override FrameworkElement CreateEditorContentVisual()
        {
            var rating = new RadRating();

            return(rating);
        }
Example #10
0
        protected void putUserRanking()
        {
            Button        oButton;
            Label         sPregRanking;
            RadRating     oRadRating;
            StringBuilder sSQL = new StringBuilder();

            sSQL.Append(" est_preg_ranking = 'V' ");
            DataTable dPregRanking = oWeb.DeserializarTbl(Server.MapPath("."), "PregRanking.bin");

            if (dPregRanking != null)
            {
                if (dPregRanking.Rows.Count > 0)
                {
                    DataRow[] oRows = dPregRanking.Select(sSQL.ToString());
                    if (oRows != null)
                    {
                        if (oRows.Count() > 0)
                        {
                            objRanking.Controls.Add(new LiteralControl("<div class=\"mdlRankig\">" + oCulture.GetResource("Ranking", "TituloRanking") + "</div>"));
                            objRanking.Controls.Add(new LiteralControl("<div class=\"mdlDesRankig\">" + oCulture.GetResource("Ranking", "DesRanking") + "</div>"));
                            foreach (DataRow oRow in oRows)
                            {
                                objRanking.Controls.Add(new LiteralControl("<div class=\"mdlpregrank\">"));
                                objRanking.Controls.Add(new LiteralControl("<div class=\"labelpregrank\">"));
                                sPregRanking      = new Label();
                                sPregRanking.Text = oRow["preg_ranking"].ToString();
                                objRanking.Controls.Add(sPregRanking);
                                objRanking.Controls.Add(new LiteralControl("</div>"));

                                objRanking.Controls.Add(new LiteralControl("<div class=\"objrankpreg\">"));
                                oRadRating               = new RadRating();
                                oRadRating.ID            = "RdRating_" + oRow["cod_preg_ranking"].ToString();
                                oRadRating.ItemCount     = 7;
                                oRadRating.SelectionMode = RatingSelectionMode.Continuous;
                                oRadRating.Precision     = RatingPrecision.Item;
                                oRadRating.Orientation   = Orientation.Horizontal;
                                objRanking.Controls.Add(oRadRating);
                                objRanking.Controls.Add(new LiteralControl("</div>"));
                                objRanking.Controls.Add(new LiteralControl("</div>"));
                            }
                            objRanking.Controls.Add(new LiteralControl("<div class=\"mdlobsrank\">"));
                            objRanking.Controls.Add(new LiteralControl("<div class=\"labelObsrank\">Comente :</div>"));
                            objRanking.Controls.Add(new LiteralControl("<div class=\"txtComente\">"));
                            TextBox oTexBox = new TextBox();
                            oTexBox.ID       = "oRxtComent";
                            oTexBox.TextMode = TextBoxMode.MultiLine;
                            oTexBox.CssClass = "CssMstComente";
                            objRanking.Controls.Add(oTexBox);
                            objRanking.Controls.Add(new LiteralControl("</div>"));
                            objRanking.Controls.Add(new LiteralControl("</div>"));

                            objRanking.Controls.Add(new LiteralControl("<div class=\"mdlbotonera\">"));

                            oButton          = new Button();
                            oButton.ID       = "putEval";
                            oButton.Click   += new EventHandler(oButton_Click);
                            oButton.CssClass = "btnEvalAceptar";
                            oButton.Text     = oCulture.GetResource("Global", "btnAceptar");
                            objRanking.Controls.Add(oButton);

                            oButton          = new Button();
                            oButton.ID       = "putVolverEval";
                            oButton.Click   += new EventHandler(oBtnVolver_Click);
                            oButton.CssClass = "btnEvalAceptar";
                            oButton.Text     = oCulture.GetResource("Global", "btnVolver");
                            objRanking.Controls.Add(oButton);

                            objRanking.Controls.Add(new LiteralControl("</div>"));
                        }
                    }
                    oRows = null;
                }
            }
            dPregRanking = null;
        }
Example #11
0
        protected void getHistUserRanking()
        {
            BinaryUsuario dUsuario;
            SysUsuario    oUsuario;
            RadRating     oRadRating;
            string        sNombreCliente = string.Empty;
            DataTable     dPregRanking   = oWeb.DeserializarTbl(Server.MapPath("."), "PregRanking.bin");

            objRanking.Controls.Add(new LiteralControl("<div class=\"MenuHistRanking\">"));
            Button oButton = new Button();

            oButton.ID       = "BtnVolverGHUR";
            oButton.Click   += new EventHandler(oBtnVolver_Click);
            oButton.CssClass = "btnEvalVolver";
            oButton.Text     = oCulture.GetResource("Global", "btnVolver");
            objRanking.Controls.Add(oButton);
            objRanking.Controls.Add(new LiteralControl("<div class=\"imgUp\"><a href=\"#\" onmouseover=\"move('container',5)\" onmouseout=\"clearTimeout(move.to)\"><img src=\"style/images/ad_down.png\" border=\"0\"></a></div>"));
            objRanking.Controls.Add(new LiteralControl("</div>"));

            objRanking.Controls.Add(new LiteralControl("<div style=\"position: relative; width: 100%; height: 420px; overflow: hidden\">"));
            objRanking.Controls.Add(new LiteralControl("<div id=\"container\" style=\"position: absolute; left: 0; top: 0\">"));

            objRanking.Controls.Add(new LiteralControl("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">"));
            StringBuilder sSQL = new StringBuilder();

            sSQL.Append(" cod_usuario = ").Append(CodUsuario.Value);
            DataTable dRanking = oWeb.DeserializarTbl(Server.MapPath("."), "Ranking.bin");

            if (dRanking != null)
            {
                if (dRanking.Rows.Count > 0)
                {
                    DataRow[] oRowUsr = dRanking.Select(sSQL.ToString(), "fch_ranking desc");

                    foreach (DataRow oRow in oRowUsr)
                    {
                        objRanking.Controls.Add(new LiteralControl("<tr>"));
                        objRanking.Controls.Add(new LiteralControl("<td class=\"clmnNomb\" width=\"20%\" vAlign=\"top\">"));

                        objRanking.Controls.Add(new LiteralControl("<div class=\"lblNombCliente\">"));
                        dUsuario            = new BinaryUsuario();
                        oUsuario            = new SysUsuario();
                        oUsuario.Path       = Server.MapPath(".");
                        oUsuario.CodUsuario = oRow["cod_cliente"].ToString();
                        dUsuario            = oUsuario.ClassGet();
                        if (dUsuario != null)
                        {
                            sNombreCliente = dUsuario.NomUsuario + " " + dUsuario.ApeUsuario;
                        }
                        dUsuario = null;
                        objRanking.Controls.Add(new LiteralControl("<span>" + sNombreCliente + "</span>"));
                        objRanking.Controls.Add(new LiteralControl("</div>"));

                        objRanking.Controls.Add(new LiteralControl("<div class=\"objRanking\">"));
                        oRadRating               = new RadRating();
                        oRadRating.ID            = "RdRating_" + oRow["cod_ranking"].ToString();
                        oRadRating.ItemCount     = 7;
                        oRadRating.Enabled       = false;
                        oRadRating.Value         = decimal.Parse(oRow["nota_ranking"].ToString());
                        oRadRating.SelectionMode = RatingSelectionMode.Continuous;
                        oRadRating.Precision     = RatingPrecision.Item;
                        oRadRating.Orientation   = Orientation.Horizontal;
                        objRanking.Controls.Add(oRadRating);
                        objRanking.Controls.Add(new LiteralControl("</div>"));

                        objRanking.Controls.Add(new LiteralControl("<div class=\"lblFchRanking\">"));
                        objRanking.Controls.Add(new LiteralControl("<span>" + DateTime.Parse(oRow["fch_ranking"].ToString()).ToString("dd-MM-yyyy HH:mm") + "</span>"));
                        objRanking.Controls.Add(new LiteralControl("</div>"));

                        objRanking.Controls.Add(new LiteralControl("</td>"));
                        objRanking.Controls.Add(new LiteralControl("<td class=\"clmnPreg\" width=\"40%\" vAlign=\"top\">"));

                        DataTable dAptPregRanking = oWeb.DeserializarTbl(Server.MapPath("."), "AptPregRanking_" + oRow["cod_ranking"].ToString() + ".bin");
                        if (dAptPregRanking != null)
                        {
                            if (dAptPregRanking.Rows.Count > 0)
                            {
                                foreach (DataRow oRows in dAptPregRanking.Rows)
                                {
                                    DataRow[] dPreg = dPregRanking.Select(" cod_preg_ranking = " + oRows["cod_preg_ranking"].ToString());
                                    if (dPreg != null)
                                    {
                                        if (dPreg.Count() > 0)
                                        {
                                            objRanking.Controls.Add(new LiteralControl("<div class=\"mdlPregRanking\">"));
                                            objRanking.Controls.Add(new LiteralControl("<div class=\"mdlTitlePregRanking\">"));
                                            objRanking.Controls.Add(new LiteralControl("<span>" + dPreg[0]["preg_ranking"].ToString() + "</span>"));
                                            objRanking.Controls.Add(new LiteralControl("</div>"));
                                            objRanking.Controls.Add(new LiteralControl("<div class=\"mdlValPregRanking\">"));
                                            objRanking.Controls.Add(new LiteralControl("<span>" + oRows["nota_preg_ranking"].ToString() + "</span>"));
                                            objRanking.Controls.Add(new LiteralControl("</div>"));
                                            objRanking.Controls.Add(new LiteralControl("</div>"));
                                        }
                                    }
                                    dPreg = null;
                                }
                            }
                        }
                        dAptPregRanking = null;

                        objRanking.Controls.Add(new LiteralControl("</td>"));
                        objRanking.Controls.Add(new LiteralControl("<td class=\"clmnObs\" vAlign=\"top\">"));
                        objRanking.Controls.Add(new LiteralControl("<div class=\"oBsRanking\"><span>" + oRow["obs_ranking"].ToString() + "</span></div>"));
                        objRanking.Controls.Add(new LiteralControl("</td>"));
                        objRanking.Controls.Add(new LiteralControl("</tr>"));
                    }
                }
            }
            objRanking.Controls.Add(new LiteralControl("</table>"));
            objRanking.Controls.Add(new LiteralControl("</div></div>"));
            objRanking.Controls.Add(new LiteralControl("<div class=\"imgDown\">"));
            objRanking.Controls.Add(new LiteralControl("<a href=\"#\" onmouseover=\"move('container',-5)\" onmouseout=\"clearTimeout(move.to)\"><img src=\"style/images/ad_up.png\" border=\"0\"></a>"));
            objRanking.Controls.Add(new LiteralControl("</div>"));
        }
Example #12
0
    protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
    {
        if ((e.Item) is GridDataItem)
        {
            vwSearchEnt  ent  = (vwSearchEnt)e.Item.DataItem;
            GridDataItem item = (GridDataItem)e.Item;

            Image     image          = (Image)item["Header"].FindControl("Image1");
            HyperLink hlNameCategory = (HyperLink)item["Header"].FindControl("hlNameCategory");
            Label     lblCategory    = (Label)item["Header"].FindControl("lblCategory");
            Label     lblMinRate     = (Label)item["Header"].FindControl("lblMinRate");
            Label     lblSlogan      = (Label)item["Header"].FindControl("lblSlogan");
            Label     lblDescription = (Label)item["Header"].FindControl("lblDescription");
            Label     lblLocation    = (Label)item["Header"].FindControl("lblLocation");
            Label     lblDistance    = (Label)item["Header"].FindControl("lblDistance");
            HyperLink hlMapit        = (HyperLink)item["Header"].FindControl("hlMapit");
            RadRating RadRating1     = (RadRating)item["Header"].FindControl("RadRating1");
            Label     lblReviewCount = (Label)item["Header"].FindControl("lblReviewCount");

            if (image != null)
            {
                image.ImageUrl = GetPicturePath(ent.SmallProfilePicture);
            }

            if (hlNameCategory != null)
            {
                hlNameCategory.Text        = string.Format("<strong>{0} {1}</strong> ({2})", ent.FirstName, ent.LastName, ent.CategoryName);
                hlNameCategory.NavigateUrl = string.Format("~/PersonSupply.aspx?ProfileID={0}", ent.ID);
            }

            if (lblMinRate != null)
            {
                lblMinRate.Text = string.Format("{0} ({1})/{2} ", ent.MinimumRate, ent.CurrencyCode, ent.JobUnitName);
            }

            if (lblSlogan != null)
            {
                lblSlogan.Text = ent.Slogan;
            }

            if (lblDescription != null)
            {
                lblDescription.Text = ent.ProfileDescription;
            }

            if (lblLocation != null)
            {
                lblLocation.Text = string.Format("{0}, {1}", ent.City, ent.Region);
            }

            if (lblDistance != null)
            {
                if (ent.Distance > 0)
                {
                    lblDistance.Text = string.Format("{0} {1} ({2})", "Approx. ", ent.Distance, (IsKilometer ? "KM" : "Mile"));
                }
                else
                {
                    lblDistance.Visible = false;
                }
            }

            if (RadRating1 != null)
            {
                if (ent.ReviewScore != null && ent.ReviewCount != null)
                {
                    RadRating1.Value    = Double.Parse(ent.ReviewScore.ToString());
                    RadRating1.ToolTip  = string.Format("Avg. Score: {0}", ent.ReviewScore.ToString());
                    lblReviewCount.Text = string.Format("({0} reviews)", ent.ReviewCount.ToString());
                }
                else
                {
                    RadRating1.Value    = 0;
                    RadRating1.ToolTip  = string.Format("Avg. Score: 0");
                    lblReviewCount.Text = string.Format("(0 reviews)");
                }
            }

            if (hlMapit != null)
            {
                _ProfileAddress     = string.Format("{0} {1},{2},{3},{4}", ent.AddressLine1, ent.AddressLine2, ent.City, ent.Region, ent.Country);
                _ProfileAddress     = "http://mapof.it/" + _ProfileAddress;
                hlMapit.NavigateUrl = _ProfileAddress;
                hlMapit.Target      = "_blank";
            }
        }
    }
        internal static Control CreateControlFor(PropertyInfo pi)
        {
            if (pi.PropertyType == typeof(Load))
            {
                RadRating control = new RadRating();
                for (int i = 0; i < 5; i++)
                {
                    control.Items.Add(new RatingHeartVisualElement());
                }
                control.SelectionMode = RatingSelectionMode.FullItem;
                control.Minimum       = 0;
                control.Maximum       = 5;
                control.AutoSize      = true;
                control.ReadOnly      = true;
                control.Dock          = DockStyle.Fill;
                control.Anchor        = AnchorStyles.None;
                control.Tag           = new PropertyAndObject(pi, null);
                control.LostFocus    += FirePropertyControlLostFocus;
                return(control);
            }
            else if (pi.PropertyType == typeof(DateTime))
            {
                DateTimePicker control = new DateTimePicker();
                control.Enabled       = false;
                control.Format        = DateTimePickerFormat.Short;
                control.Dock          = DockStyle.Fill;
                control.DropDownAlign = LeftRightAlignment.Right;
                control.Tag           = new PropertyAndObject(pi, null);
                control.Leave        += FirePropertyControlLostFocus;
                return(control);
            }

            else if (pi.PropertyType == typeof(int))
            {
                NumericUpDown control = new NumericUpDown();
                control.Minimum   = 0;
                control.Maximum   = 1000;
                control.Enabled   = false;
                control.Dock      = DockStyle.Fill;
                control.TextAlign = HorizontalAlignment.Center;
                control.Tag       = new PropertyAndObject(pi, null);
                control.Leave    += FirePropertyControlLostFocus;
                return(control);
            }

            else if (pi.PropertyType.IsEnum)
            {
                GroupBox control = new GroupBox();
                int      y       = 0;
                foreach (object o in Enum.GetValues(pi.PropertyType))
                {
                    RadioButton r = new RadioButton();
                    r.Tag          = o;
                    r.Text         = o.ToString();
                    r.Enabled      = false;
                    r.Location     = new Point(0, y);
                    y             += r.Size.Height;
                    control.Leave += FirePropertyControlLostFocus;
                    control.Controls.Add(r);
                }
                control.Tag      = new PropertyAndObject(pi, null);
                control.Dock     = DockStyle.Fill;
                control.AutoSize = true;
                return(control);
            }
            else if (pi.PropertyType == typeof(string))
            {
                TextBox control = new TextBox();
                control.Dock        = DockStyle.Fill;
                control.TextAlign   = HorizontalAlignment.Center;
                control.Enabled     = false;
                control.BorderStyle = BorderStyle.Fixed3D;
                control.Tag         = new PropertyAndObject(pi, null);
                control.Leave      += FirePropertyControlLostFocus;
                return(control);
            }
            else if (pi.PropertyType.GetInterfaces().Contains(typeof(IList)) && pi.PropertyType.IsGenericType)
            {
                TextBox control = new TextBox();
                control.Dock        = DockStyle.Fill;
                control.TextAlign   = HorizontalAlignment.Center;
                control.Enabled     = false;
                control.BorderStyle = BorderStyle.Fixed3D;
                control.Tag         = new PropertyAndObject(pi, null);
                return(control);
            }
            else
            {
                return(null);
            }
        }
 private decimal totalRating(IQueryable<DynamicContent> source)
 {
     decimal rating = 0;
     foreach (DynamicContent content in source)
     {
         rating = rating + content.GetValue<decimal>("Rating");
     }
     int total = source.Count();
     if (total > 0)
     {
         rating = rating / total;
     }
     return rating;
 }
        private void PaintUser(UserProfile up)
        {
            PersonalDetails personalDetails = up.Details;

            ClearUser();


            Label name = null;

            foreach (PropertyInfo pi in personalDetails.GetType().GetProperties())
            {
                name             = new Label();
                name.Text        = pi.Name;
                name.Dock        = DockStyle.Fill;
                name.TextAlign   = ContentAlignment.MiddleCenter;
                name.BorderStyle = BorderStyle.Fixed3D;
                ProfilePanel.Controls.Add(name);

                if (pi.PropertyType == typeof(Load))
                {
                    RadRating value = new RadRating();
                    value.Items.AddRange(new Telerik.WinControls.RadItem[] { new RatingHeartVisualElement(),
                                                                             new RatingHeartVisualElement(),
                                                                             new RatingHeartVisualElement(),
                                                                             new RatingHeartVisualElement(),
                                                                             new RatingHeartVisualElement() });

                    value.SelectionMode = RatingSelectionMode.FullItem;
                    value.Minimum       = 0;
                    value.Maximum       = 5;
                    value.Value         = (int)pi.GetValue(personalDetails);
                    value.AutoSize      = true;
                    value.ReadOnly      = true;
                    value.Dock          = DockStyle.Fill;
                    value.Anchor        = AnchorStyles.None;
                    value.Tag           = pi;
                    value.LostFocus    += FormChangedHandler;
                    ProfilePanel.Controls.Add(value);
                }

                else if (pi.PropertyType == typeof(DateTime))
                {
                    DateTimePicker value = new DateTimePicker();
                    value.Value         = (DateTime)pi.GetValue(personalDetails);
                    value.Enabled       = false;
                    value.Format        = DateTimePickerFormat.Short;
                    value.Dock          = DockStyle.Fill;
                    value.DropDownAlign = LeftRightAlignment.Right;
                    value.Tag           = pi;
                    value.Leave        += FormChangedHandler;
                    ProfilePanel.Controls.Add(value);
                }

                else if (pi.PropertyType == typeof(int))
                {
                    NumericUpDown value = new NumericUpDown();
                    value.Minimum   = 0;
                    value.Maximum   = 1000;
                    value.Value     = (int)pi.GetValue(personalDetails);
                    value.Enabled   = false;
                    value.Dock      = DockStyle.Fill;
                    value.TextAlign = HorizontalAlignment.Center;
                    value.Tag       = pi;
                    value.Leave    += FormChangedHandler;
                    ProfilePanel.Controls.Add(value);
                }

                else if (pi.PropertyType.IsEnum)
                {
                    GroupBox value = new GroupBox();
                    int      y     = 0;
                    foreach (object o in Enum.GetValues(pi.PropertyType))
                    {
                        RadioButton r = new RadioButton();
                        r.Text = o.ToString();
                        if (o.Equals(pi.GetValue(personalDetails)))
                        {
                            r.Checked = true;
                        }
                        r.Enabled    = false;
                        r.Location   = new Point(0, y);
                        y           += r.Size.Height;
                        value.Tag    = pi;
                        value.Leave += FormChangedHandler;
                        value.Controls.Add(r);
                    }
                    value.Dock     = DockStyle.Fill;
                    value.AutoSize = true;
                    ProfilePanel.Controls.Add(value);
                }

                else
                {
                    TextBox value = new TextBox();
                    value.Text        = "" + pi.GetValue(personalDetails);
                    value.Dock        = DockStyle.Fill;
                    value.TextAlign   = HorizontalAlignment.Center;
                    value.Enabled     = false;
                    value.BorderStyle = BorderStyle.Fixed3D;
                    value.Tag         = pi;
                    value.Leave      += FormChangedHandler;
                    ProfilePanel.Controls.Add(value);
                }
                ProfilePanel.RowCount++;
            }


            Label goalLabel = new Label();

            goalLabel.Text        = "Goal";
            goalLabel.Dock        = DockStyle.Fill;
            goalLabel.TextAlign   = ContentAlignment.MiddleCenter;
            goalLabel.BorderStyle = BorderStyle.Fixed3D;
            ProfilePanel.Controls.Add(goalLabel);

            GroupBox goal = new GroupBox();
            int      k    = 0;

            foreach (object o in Enum.GetValues(typeof(Goal)))
            {
                RadioButton r = new RadioButton();
                r.Text = o.ToString();
                if (o.Equals(up.Goal))
                {
                    r.Checked = true;
                }
                r.Enabled   = false;
                r.Location  = new Point(0, k);
                k          += r.Size.Height;
                goal.Tag    = typeof(Goal);
                goal.Leave += FormChangedHandler;
                goal.Controls.Add(r);
            }
            goal.Dock = DockStyle.Fill;
            goal.Tag  = up.GetType().GetProperty("Goal");
            ProfilePanel.Controls.Add(goal);
            ProfilePanel.RowCount++;

            Label prefLabel = new Label();

            prefLabel.Text        = "Preferences";
            prefLabel.Dock        = DockStyle.Fill;
            prefLabel.TextAlign   = ContentAlignment.MiddleCenter;
            prefLabel.BorderStyle = BorderStyle.Fixed3D;
            ProfilePanel.Controls.Add(prefLabel);

            Label  preferences = new Label();
            string pref        = "";

            if (up.Preferences.Any())
            {
                pref = (from p in up.Preferences select p.Name).Aggregate((x, y) => x + ", " + y);
            }
            preferences.Name        = "Preferences";
            preferences.Text        = pref;
            preferences.Dock        = DockStyle.Fill;
            preferences.TextAlign   = ContentAlignment.MiddleCenter;
            preferences.BorderStyle = BorderStyle.Fixed3D;
            preferences.Tag         = up.GetType().GetProperty("Preferences");
            ProfilePanel.Controls.Add(preferences);
            ProfilePanel.RowCount++;

            TableLayoutPanel buttonPanel = new TableLayoutPanel();

            buttonPanel.RowCount    = 1;
            buttonPanel.ColumnCount = 2;
            RadButton modifica = new RadButton();

            modifica.Text   = "Modifica";
            modifica.Click += ModifyClickHandler;
            RadButton elimina = new RadButton();

            elimina.Text   = "Elimina";
            elimina.Click += DeleteClickHandler;

            modifica.Dock = DockStyle.Fill;
            elimina.Dock  = DockStyle.Fill;
            buttonPanel.Controls.Add(modifica);
            buttonPanel.Controls.Add(elimina);
            buttonPanel.Dock = DockStyle.Fill;

            MenuPanel.Controls.Clear();
            MenuPanel.Controls.Add(buttonPanel);

            RecalculateTargetWeight();
        }