public static Dictionary <int, ModFile> GetAllModFiles() { Dictionary <int, ModFile> lclsModFiles = new Dictionary <int, ModFile>(); DataTable dtModFiles = MDatabaseUtilities.CreateDataTable("Select * from TModFiles where intStatusID <> 4 order by strName", Hidden.ExternalConnection); foreach (DataRow drRow in dtModFiles.Rows) { ModFile clsNewModFile = new ModFile { intID = (int)drRow["intModFileID"], intModID = (int)drRow["intModID"], strName = (string)drRow["strName"], strDescription = (string)drRow["strDescription"], strLocation = (string)drRow["strLocation"], strVersion = (string)drRow["strVersion"], intStatusID = (int)drRow["intStatusID"], intSubmitterID = (int)drRow["intSubmitterID"] }; lclsModFiles.Add(clsNewModFile.intID, clsNewModFile); } return(lclsModFiles); }
public static void Update() { try { if (IsDirty) { EffectTypes = EffectType.GetAllEffectTypes(); HeroBonuses = HeroBonus.GetAllHeroBonuses(); Traits = Trait.GetAllTraits(); TraitEffect.AddAllTraitEffectsToTraits(); AmmoTypes = AmmoType.GetAllAmmoTypes(); GunTypes = GunType.GetAllGunTypes(); Guns = Gun.GetAllGuns(); Items = Item.GetAllItems(); Maps = Map.GetAllMaps(); Sizes = Size.GetAllSizes(); Bases = Base.GetAllBases(); Facilities = Facility.GetAllFacilities(); MeleeTypes = MeleeType.GetAllMeleeTypes(); Melees = Melee.GetAllMelees(); PrebuiltFacilities = PrebuiltFacility.GetAllPrebuiltFacilities(); Mods = Mod.GetAllMods(); ModFiles = ModFile.GetAllModFiles(); AttachPrebuiltsToBases(); AttachFilesToMods(); IsDirty = false; } } catch (Exception ex) { NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message + '\n' + ex.StackTrace); } }
protected void rptFiles_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "Delete") { Classes.ModFile clsModFile = clsMod.lclsModFiles[int.Parse(e.CommandArgument.ToString())]; MDatabaseUtilities.strCurrentConnectionString = Hidden.ExternalConnection; List <CStoredProcedureParameter> lclsParameters = new List <CStoredProcedureParameter>(); lclsParameters.Add(new CStoredProcedureParameter("@intModFileID", int.Parse(e.CommandArgument.ToString()))); MDatabaseUtilities.ExecuteStoredProcedure("uspDeleteModFile", lclsParameters.ToArray()); Classes.AllData.IsDirty = true; FileInfo fiFile = new FileInfo(clsModFile.strLocation); if (fiFile.Exists) { fiFile.Delete(); } } else if (e.CommandName == "Save") { ModFile clsModFile = clsMod.lclsModFiles[clsMod.lclsModFiles.Keys.ToArray()[(e.Item.ItemIndex)]]; MDatabaseUtilities.strCurrentConnectionString = Hidden.ExternalConnection; string strFileLocation = clsModFile.strLocation; if (clsModFile.strVersion != ((System.Web.UI.WebControls.TextBox)e.Item.Controls[1]).Text) { FileInfo fiModFile = new FileInfo(clsModFile.strLocation); #if DEBUG strFileLocation = @"C:\Dev\ModFiles\" + txtName.Text + @"\" + ((System.Web.UI.WebControls.TextBox)e.Item.Controls[1]).Text + @"\" + clsModFile.strName; #else strFileLocation = @"C:\inetpub\wwwroot\SOD\ModFiles\" + txtName.Text + @"\" + ((System.Web.UI.WebControls.TextBox)e.Item.Controls[1]).Text + @"\" + clsModFile.strName; #endif FileInfo fiToLocation = new FileInfo(strFileLocation); fiToLocation.Directory.Create(); fiModFile.MoveTo(strFileLocation); } List <CStoredProcedureParameter> lclsParameters = new List <CStoredProcedureParameter>(); lclsParameters.Add(new CStoredProcedureParameter("@intModFileID", clsModFile.intID)); lclsParameters.Add(new CStoredProcedureParameter("@strDescription", ((System.Web.UI.WebControls.TextBox)e.Item.Controls[3]).Text)); lclsParameters.Add(new CStoredProcedureParameter("@strVersion", ((System.Web.UI.WebControls.TextBox)e.Item.Controls[1]).Text)); lclsParameters.Add(new CStoredProcedureParameter("@strLocation", strFileLocation)); MDatabaseUtilities.ExecuteStoredProcedure("uspUpdateModFile", lclsParameters.ToArray()); Classes.AllData.IsDirty = true; } }
protected void rptFiles_ItemCommand(object source, RepeaterCommandEventArgs e) { Classes.ModFile clsModFile = clsMod.lclsModFiles[int.Parse(e.CommandArgument.ToString())]; MDatabaseUtilities.strCurrentConnectionString = Hidden.ExternalConnection; List <CStoredProcedureParameter> lclsParameters = new List <CStoredProcedureParameter>(); lclsParameters.Add(new CStoredProcedureParameter("@intModID", clsModFile.intModID)); MDatabaseUtilities.ExecuteStoredProcedure("uspIncrementModScore", lclsParameters.ToArray()); Classes.AllData.IsDirty = true; string header = "attachment; filename=" + clsModFile.strName; Response.Clear(); FileInfo fiFile = new FileInfo(clsModFile.strLocation); Response.ContentType = "application/octet-stream"; Response.AppendHeader("Content-Length", fiFile.Length.ToString()); Response.AppendHeader("Content-Disposition", header); Response.WriteFile(clsModFile.strLocation); Response.End(); }