List <LauncherVersion> ILauncherData.GetLatestVersion(string strCurrentVersion) { //just return the latest version LauncherDataContext dc = new LauncherDataContext(); //grab the current version tLauncherVersion curVersion = (from tv in dc.tLauncherVersions where tv.VersionNumber == strCurrentVersion select tv).Single(); var theLatestsVersion = from tv in dc.tLauncherVersions where tv.DateCreated > curVersion.DateCreated orderby tv.DateCreated descending select new LauncherVersion { DateCreated = tv.DateCreated, PatchNotes = tv.PatchNotes, VersionId = tv.VersionId, VersionNumber = tv.VersionNumber, Location = "/launcher/" + tv.VersionNumber + "/swganhlauncher.msi" }; List <LauncherVersion> lstLatestVersions = theLatestsVersion.ToList(); if (lstLatestVersions.Count > 0) { //update the file size on the first one FileStream inFile = new FileStream(HostingEnvironment.MapPath("~" + lstLatestVersions[0].Location), FileMode.Open); lstLatestVersions[0].FileSize = inFile.Length; inFile.Close(); } return(lstLatestVersions); }
LatestFile ILauncherData.GetLatestExecutable() { LauncherDataContext dc = new LauncherDataContext(); tLauncherVersion theLatestsVersion = (from tv in dc.tLauncherVersions orderby tv.DateCreated descending select tv).First(); FileStream inFile = new FileStream(HostingEnvironment.MapPath("~/" + theLatestsVersion.DownloadPath), FileMode.Open); byte[] arFileFiles = new byte[inFile.Length]; inFile.Read(arFileFiles, 0, (int)inFile.Length); inFile.Close(); LatestFile myLatestFile = new LatestFile { FileName = Path.GetFileName(theLatestsVersion.DownloadPath), FileBytes = arFileFiles }; return(myLatestFile); }