public ActionResult ProfileSettings(ProfileSettingsModel model)
        {
            var membership = Membership.GetUser(HttpContext.User.Identity.Name);

            using (var context = new DietJournalEntities())
            {
                var result = context.ProfileSettings.FirstOrDefault(s => s.UserId == (Guid)membership.ProviderUserKey);
                if (result == null)
                {
                    result = context.ProfileSettings.CreateObject();
                    result.UserId = (Guid)membership.ProviderUserKey;
                    context.ProfileSettings.AddObject(result);
                }

                result.FirstName = model.FirstName.Trim();
                result.LastName = model.LastName.Trim();
                if (!String.IsNullOrEmpty(model.Birthday))
                    result.BirthDay = DateTime.Parse(model.Birthday);
                else
                    result.BirthDay = null;
                result.Gender = model.Gender;
                result.CaloriesGoal = model.CaloriesGoal;
                result.CaptureCalories = model.CaptureCalories;
                result.CaptureCarbs = model.CaptureCarbs;
                result.CaptureFat = model.CaptureFat;
                result.CaptureProtein = model.CaptureProtein;
                result.DietPlanId = model.DietPlanId;
                result.WeightGoal = model.WeightGoal;

                context.SaveChanges();

                CurrentProfileSettings = result;
            }

            return RedirectToAction("Settings", "Journal");
        }
        public PartialViewResult ProfileSettings()
        {
            var model = new ProfileSettingsModel
            {
                AvailableDietPlans = GetDietPlanSelectItems()
            };

            var result = CurrentProfileSettings;
            if (result != null)
            {
                model.FirstName = result.FirstName;
                model.LastName = result.LastName;
                model.DietPlanId = result.DietPlanId.HasValue ? result.DietPlanId.Value : NoDietPlanValue;
                model.Birthday = result.BirthDay.HasValue ? result.BirthDay.Value.ToShortDateString() : string.Empty;
                model.WeightGoal = result.WeightGoal.HasValue ? result.WeightGoal.Value : 0;
                model.Gender = result.Gender.HasValue ? result.Gender.Value : 0;
                model.CaptureProtein = result.CaptureProtein;
                model.CaptureFat = result.CaptureFat;
                model.CaptureCarbs = result.CaptureCarbs;
                model.CaptureCalories = result.CaptureCalories;
                model.CaloriesGoal = result.CaloriesGoal.HasValue ? result.CaloriesGoal.Value : 0;
            }

            return PartialView(model);
        }