private void FixupScoreType(ScoreType previousValue)
     {
         if (IsDeserializing)
         {
             return;
         }
 
         if (ScoreType != null)
         {
             ScoreTypeId = ScoreType.Id;
         }
 
         if (ChangeTracker.ChangeTrackingEnabled)
         {
             if (ChangeTracker.OriginalValues.ContainsKey("ScoreType")
                 && (ChangeTracker.OriginalValues["ScoreType"] == ScoreType))
             {
                 ChangeTracker.OriginalValues.Remove("ScoreType");
             }
             else
             {
                 ChangeTracker.RecordOriginalValue("ScoreType", previousValue);
             }
             if (ScoreType != null && !ScoreType.ChangeTracker.ChangeTrackingEnabled)
             {
                 ScoreType.StartTracking();
             }
         }
     }
 public static void SaveScoreType(ScoreType ScoreType)
 {
     using (var ctx = new BMIKidsEntities(ConnectionString))
     {
         try
         {
             ctx.ScoreTypes.ApplyChanges(ScoreType);
             ctx.SaveChanges();
         }
         catch (Exception ex)
         {
             LogUtility.WriteEntryEventLog("SaveScoreType_DataProvider", ex, EventLogEntryType.Information);
             if (ex.InnerException != null)
                 throw ex.InnerException;
             throw;
         }
     }
 }
        private Game GetGameInfoFromSkin()
        {
            int? gId = null;
            if (UtilityMethod.GetRequestParameter("gid").IsInt32())
                gId = Convert.ToInt32(UtilityMethod.GetRequestParameter("gid"));

            Game Game = gId.HasValue ? Game_DataProvider.GetGame(gId.Value).FirstOrDefault() : new Game();
            Game.Name = txtTitle.Text;
            Game.Description = summaryCtrl.Text;
            Game.UserStateRequired = drpRequiredUserState.SelectedValue.IsInt32() ? drpRequiredUserState.SelectedValue.ToInt32() : (int?)null;

            Game.IsExternalGame = drpGameType.SelectedValue.ToBool();
            Game.GameUrl = txtGameUrl.Text;

            Game.StartTracking();
            foreach (GridViewRow GameCat in ScoreTypeGrid.Rows)
            {
                var ctrlId = GameCat.FindControl("hdnId") as HiddenField;
                var chkSelect = GameCat.FindControl("chkSelect") as CheckBox;

                if (Game.ScoreTypes.Any(o => o.Id == ctrlId.Value.ToInt32()))
                {
                    if (!chkSelect.Checked)
                        Game.ScoreTypes.Remove(Game.ScoreTypes.First(o => o.Id == ctrlId.Value.ToInt32()));
                }
                else
                {
                    if (chkSelect.Checked)
                    {
                        var cat = new ScoreType { Id = ctrlId.Value.ToInt32() };
                        cat.MarkAsUnchanged();
                        Game.ScoreTypes.Add(cat);
                    }
                }

            }

            string smallPic = FileUploadUtil.SaveUploadeFile(fupGamePicAddress, SystemConfigs.UrlGameFilesPath, UploadFileType.Pictures, UploadFileSizeLimitation._1M);
            if (!string.IsNullOrWhiteSpace(smallPic))
                Game.ThumbnailAddress = smallPic;

            string largePic = FileUploadUtil.SaveUploadeFile(fupGameFileAddress, SystemConfigs.UrlGameFilesPath, UploadFileType.Flash, UploadFileSizeLimitation.Unlimited);
            if (!string.IsNullOrWhiteSpace(largePic))
                Game.FileAddress = largePic;

            return Game;

        }
        private ScoreType GetScoreTypeInfoFromSkin()
        {
            long? ScoreTypeId = null;
            if (UtilityMethod.GetRequestParameter("pid").IsInt64())
                ScoreTypeId = UtilityMethod.GetRequestParameter("pid").ToLong();

            ScoreType ScoreType = new ScoreType();
            if (ScoreTypeId.HasValue)
                ScoreType = Score_DataProvider.GetScoresTypes(ScoreTypeId).FirstOrDefault() ?? new ScoreType();

            ScoreType.CategoryId = Convert.ToInt32(drpScoreTypeCategoryId.SelectedValue);
            ScoreType.CoefficentValue = txtCoefficentValue.Text.ToDouble();
            ScoreType.MaxPerDay = txtMaxPerDay.Text.ToInt32();
            ScoreType.MaxPerMonth = txtMaxPerMonth.Text.ToInt32();
            ScoreType.ScoreEnName = txtScoreEnName.Text;
            ScoreType.ScoreFaName = txtScoreFAName.Text;

            return ScoreType;

        }