예제 #1
0
        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);
        }
예제 #2
0
파일: AllData.cs 프로젝트: Neeef/SODNet
 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);
     }
 }
예제 #3
0
        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;
            }
        }
예제 #4
0
        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();
        }