Get a list of files in a directory in descending order by creation date.

Oneil Drummond 40 Reputation points
2023-03-14T17:21:59.24+00:00

I have created a folder that a user can copy and paste a monthly newsletter PDF into.

Trying to get the monthly newsletter PDF list of files and sort them by the day they were created on the crownfile page, and then select the last recently modified file to be downloaded from the homepage.

HomeController :

public IActionResult Index(int howMany = 1)
        {
            IPv4();

            ViewBag.model = new FilesViewModel2();

            string CrownFile = @"c:\IntranetDoc\News\Current\";

            foreach (var getnewsdoc in Directory.GetFiles(Path.Combine(Directory.GetCurrentDirectory(), CrownFile)).Take(howMany))
            {
                ViewBag.model.Files7.Add(new FileDetails
                {                   
                    NameNews = System.IO.Path.GetFileName(getnewsdoc),
                    PathNews = getnewsdoc,
                    DPNews = System.IO.Path.GetFileNameWithoutExtension(getnewsdoc),
                    ExtNews = System.IO.Path.GetExtension(getnewsdoc).ToUpper()

                });

            }


            return View();
   
            
        }
public IActionResult CrownLife()
        {
            IPv4();
            var model = new FilesViewModel2();
            string CrownFile = @"c:\IntranetDoc\News\Current\";

            foreach (var getnewsdoc in Directory.GetFiles(Path.Combine(Directory.GetCurrentDirectory(), CrownFile)))
            {
                model.Files7.Add(new FileDetails
                {
                    NameNews = System.IO.Path.GetFileName(getnewsdoc),
                    PathNews = getnewsdoc,
                    DPNews = System.IO.Path.GetFileNameWithoutExtension(getnewsdoc),
                    ExtNews = System.IO.Path.GetExtension(getnewsdoc).ToUpper()

                }) ;

            }
            return View(model);
        }

CrownLife

	<table class="table table-bordered">
									<tbody>
										@foreach (var getnewsdoc in Model.Files7)
											{
												<tr>

													<th>
														<p>
															@if (getnewsdoc.ExtNews == ".PDF")
																	{
																		<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAD3ElEQVRoge2YXUxbZRjHf+erXUvXUkAQOqJxblG8ALY1bokfMZqxuBhl8WYuW7xwYfErWZwGF6cX6kxMcHq1DMlumCb7iGR+RNSwTOdkrJMZwQ8C80KGJQFh0JZ+nLavF0iJCee4snNAk/6umjx9nv//n/d9z+lbKFCgQIHlRDIrjgSD1ULhkCSxGVi5RJ7miIDoQqY5cP7SgNGXDAOMBIPVqPwAlNhi7/qZJE1tIBQaXqgoG3UJhUMsv3kAv6TSYlQ0DPD3tvlPIKDBqGYYgKXf82Z4jQpmAf4XFAIsxIp77qXi9GdUdHyMc916OyRy2BLAt3cfMx2n0AcH8b9xEElz2CED2BBA9vlQKiuZ6ewkdbkXudiPVlNjtcy8nuUTs9n54SWzrxHZ67NcJqdh9cBsNEp2agq1qgo1sAqAzPiY1TI5rF8BIdB/+RnH+g046uoByIyGLZeZw5ZDHD97hqJtjyMXF5OdmCB77ZodMoBNARJnupCKigBIhi6CEHbIADYFkMsrkFQVgOTlXjsk5rXsGOp+eOv854YtIJleO24I6wMoCq6GLQCkh4dx1NVT1LjNcpk5LA/geuBBlNIyAKbfe4fYqRN4n9+LdsedVksBoFo6TZLw7NwFQCYcJnGhm2ToIurq2ylteZeJ5hdBlpG9PiRNRSSTZEZHSQ//jkilFiVpaQDnxk1oa9YCMPPJaRw1d+G8eyOyx4Ps91N2pI1MOEx65CpCTyG73CjV1UhOJ5H3W4mdPJ63pvGdeFMw72df2eFWHLV1AAhdR9I0spEIqf4f0fv6WHHf/cj+EqZa3ibx7blZA5rGTR8eR60KMLZrB/qVoQVnB7pDC3q1ZAXUW27Fs/2JnHl9aJDE12dJnPsGfWgw9/so+kE7K3c34X/zLTIjfxD/shMhBEp5+eyTStPy1r6hFVBursTbtAfXQ5sRqRSSy0X6tyuMPbkTkU4b95WW4X6sEeeGIEpVABGNMvP5p0SPtRv2GK3AogO4tz6Cb99LJC90E+/6iuIDryEpKuN7dpPq7zNrXRSWbiHvM8/hfrSRyVdfIRnqoexIG5LmIHK0zRbzZuQdQL1tNZ7tOxhvegp94Ff8rx9EW7OWZPd3RI622eHR3E++DbLLhYjHUcor8D79LI76dSR7v2fiwP5/XGaWirwDpH7qJ9bxEb6X9yNiMSKth4keazc9tHZi6XvATowOceF/oeXGLEBkyVz8CxJMGdVMAoguO8wsBgFfGNWMA8g0A5N2GMqTP0VWfsGoaBggcP7SAGlqJTgJTNtizZxp4ITIynWrenquLoN+gQIFClwHfwHIFi4Gprg37wAAAABJRU5ErkJggg==">
																	}
															@if (getnewsdoc.ExtNews == ".DOC" || getnewsdoc.ExtNews == ".DOCX")
																	{
																		<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAADnklEQVRoge2YTW8bVRSGnzszdu20cRzThqJ8SPmkCtDSUILIrqKIRRf8ga4jsWFR1P/SVN0UBH+hEgsk2BEnCJVCEqfQREkTIohnEleK4485XQy1PZ449TieSZH8SvbV3Dl37vuec889Vxc66KCDDk4Tyu+A69/8c1Mp5oD+APgch02Q2R9u9T2s7TT8fkUpdZfwyQMMCGoOGKrt9C0A1ECbCPmfGQbr+1oR0A4ubYN22gROCv8RkNcrAv/7JeRbQP7fZ03ZabqBFo2jx8+hNN03sWbhETD+xU83UTInQj8CIgIiiAAibD/ecT1XWwEBcf7QdEWyv4tE/0WM7jcCE+GNgOJuI/KNWzd5EaFcFHbX9ins7hFJvIkW6QpEgGcXEpGBk5J/2YqtELGRcikQ8kcKaBf5Sut4JTwBbSUfIPGGAmpJfjie5K/717n/5eVK/9hbXaw9uMH6158y805vheyDO1NsfPcZH11KuZ0QtoBaTz96ukehZPP+SKIqaiJZsZ2e6K14/PJID4Wiza9PLJcTQhdQO/nBoc1vazlS3VEGz8cQEa6NJymWbHb3C1ybSILA4IUY5xNRHj3dI39Yci+3sAXUr/V0xgLgynACBKbfTvJ4PcdCxmJqLImuwdSYE5X5JdMzPnQB9Qm7+FLASIK+3iiDF+IsrlosrlqcjelMDiW4MtrjCFg2vQkfMDyFzBsBx6tXR3uYnugF4JeMxY6ZB5yIXB3tQQTSy1nPeHNrCy1+gBa1/pvBfZYS17Oqe62Q2nfNCKjfKs1ckSdbz3lvOMHMZAqA9IqJmStSLNl8PJni3eEEq8+ek90veMYHffQ7Jgeq+3x6xeJMROPzmYv8nc2zvZvn4LDE7+s5PpnqIxbVmV/KeutECGiQA+4ilc6YAJyLGSxkrMo+v7hiYuiOj+eXsh7yYYhoUIndFXZ+2ay8X8hUE3Vhpdr/8x9ZL/kQguBZokO3vpdXHQ+OPV7gttfZQYun0KLdR07pN4m3v73hsvBGoI3kw4jAMafRk5M/rRzYbBd5JeXABXjrQFnNirLvIQychLyUC1LK/Zkv2AdFFbVEGfFAwuG7znR/8FWTRBRoBsqIoYw4Sov4nepIWD/ednH2fzcaOdusJSgNpUdQKsRbiVdBGTEfxppDXimC2pL8C9DPBMGjZbRwvR7OGadZtHC1+HoJaOV2erPtLJrHRn2HfwGiZkE2nUiE+ttQyKxvvh100EEHgeIFT8A0SJ5X4ncAAAAASUVORK5CYII=">
																	}
															@if (getnewsdoc.ExtNews == ".ZIP")
																	{
																	<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAADNElEQVRoge2ZS2gTQRjH/5NkN/VgD8bG1r6EWFIpUrUiSUtvopQifShY0EOtxYMnj3rSovg4qQcFPVRLTyIVX1AUikiUiBctPSiI1FZsk5qHRNFkk53xUGuzm8cmm+1uxf3BHnb49tv/f2a+mdkEMDExMTEpAZJ+Mz+KTgLcYEC1ynwMwAcQnK86jJHS5SkjMTA7jM8AarRIzBiG6o/ijBa58iEx8PEmmMb5L7mO4aTGOSVIDLy/prkBMOAyteNc0yAiWucGZAamrmpvwOlqgdO1EyAkZ8zkxH3EwgFwfBk83f0541Lxn2IsND3k2O07u9RmSw9IprSQvExVQwucrhYADGB5+ibdG6M5w2z2MutaR91pADkMJNVKzaTavQOVm7fnFeR/OIqUkEC5oxLtBwYXG/PEAwBnX2NNv9d8BGy8HbXuZmxsaAIg5o1d6nhCmGKsUg4AQPJNH7PxdlWJSmHy2ThikQVwvB2efX2K8aRp5K9uyQjYOE5xCFeEAmsgGzbprb7i/Y/vIiUIKHdUoL33kCoNUgM69z750/WkhHdLaoBNHdR8HyiEyecTiEVC4Hgens4exXiy9U72GjBk/sspqQZ0NuAff7RYA+vWo71rvyoNhhaxdB/QogbedhlTAz4fYtEIOI6Hp6NDMZ5se7DKauBf3QeWaG7zqtYgMcB0HAEhBZy4TjC7sNxW5wSuHGfgbbmfk2PYCEwHCGaC0raZIDA9T+GuLTyPYTUwHyKgNPMjJxBhcNcUvpYYZyBMwJglSzvN//Ejw7ApFIxawLIIDUaL02HYCMyFCSjNfN+Xr6woHTID6r6K1DAXsoAxYGCviN42EfdeWjH8xIq5MCtKh2wSUt2uyHcGxhh6WpMo4ym6W5NgjCH6oxAduQwwqttVVyGCUoqxFwS/EhRjvsUpVe8UlZ9PQ7KO0Ve7dDsL+d9ZcOoWn9F+cUCApzF/DVg8r3OchXRchbxbKC4cYbj91IpPQYJNGxj696QUxcsx9DDnbaTwNsp+jCpyDqyKw1wpSAwI8YTI2zlrruDVgBBPStZYySoUDcSGhHhC1HM1KuYS4gkxFP624v85mJiYmPxH/AY9ztzVlIxcWgAAAABJRU5ErkJggg==">
																	}
															@if (getnewsdoc.ExtNews == ".XLS" || getnewsdoc.ExtNews == ".XLSX")
																	{
																	<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAACnUlEQVRoge2YXUhUQRiGn7HVRVddc8k0QawQw6hQohKSlsp+oDulQBGCbuxGQ1itDIx+IIWINKK86S4o6ibFEG9ywQzCEJLVSCylorYf1CJaXXe6SPvZ1ePZs3tczfNcfsP3zfvOzHc4M2BgYGAQSYTWxJSrReUg6oHEYHNtuRu1TDkupKx27Tp38+9glJZKv9AmPgQSpYiq9w+GYGBBxU8jrf6RUAwsCgwDkcYwEGlM/gFLVf4JkBcEWJQSvw+/Ua4cJYixWjElxoemcB4CDKgRrwqfZGJ0lImpqYChFe53IZefIeAIhUX8DDJsleZkyffA8jBgNkXTe+ouXy93U2Ev+R3PSE7jU70T96VHZNrSdROphCoDHu8kZ1quAVC1u4x4cxwAdQfLMZuiaei4xevPb/VTqYDqI9Ta56Rj4Ak2SxLHCw6zaU0Wxbl7Gfw4QlPnbT01KjLLZ3RuTj9oxJ61lQp7CYUbdiAQVN5rwOOd1EvfvATVxAMfXtHcdZ+k2ATy127hzrN2nIM9emlTRVA7AJAwff4BhJj/QmfpDuwNT0pCsNPOSVA7ULA+j7Jth3g63EfXUC9H8vazJ3t72MRoQbUBsymaK0UOhBCcbbtBbUsTUkoai2uIi4nVU6Miqg2c3HeM7NWZtPc/xjnYQ8+Ii9Y+JxnJadQUHtVToyKqDOSkrqPSXopP+jj/8M+jQF3bdby+KSrspWxOz9JNpBKqmtj1fojk6oKA+Ev3CCsdO8MuKhiWx7/QYmY2A9/CVt2n/4Vgth6oBS4Cod0FfVKa3Z4fgMd/yPb8i+ay/pma30ZTD+RoXl5rxiqtqbxo7vxH83/ZA0sKw0CkWdYGxsOmQj1j/gHNBoQQDhABBXVkTEocCzifgYGBgQp+AlpMnf09Cu/RAAAAAElFTkSuQmCC">
																	}									
													</th>
														
													<td scope="row"><p>@getnewsdoc.DPNews</p></td>
													<td><a type="button" class="btn btn-primary" asp-action="CrownLifeDownload" asp-route-filename="@getnewsdoc.NameNews">Download</a></td>
						
												</tr>
											}
									</tbody>
							</table>

Index

 @foreach (var item in ViewBag.model.Files7 )
                {
                <a type="button" class="btn btn-primary" asp-action="CrownLifeDownload" asp-route-filename="@item.NameNews">@item.DPNews
          

                <span class="position-absolute top-0 start-100 translate-middle p-2 bg-danger border border-light rounded-circle">
                    <span class="visually-hidden">New</span>
                </span>
                </a>
                }   

What it looks like now:

User's image

Home Page

User's image

ASP.NET
ASP.NET
A set of technologies in the .NET Framework for building web applications and XML web services.
3,272 questions
0 comments No comments
{count} votes

Accepted answer
  1. Michael Taylor 48,581 Reputation points
    2023-03-14T18:18:37.97+00:00

    So you want to get the files in a directory sorted by their create date?

    public IActionResult Index(int howMany = 1)
    {
        IPv4();
    
        ViewBag.model = new FilesViewModel2();
    
        string CrownFile = @"c:\IntranetDoc\News\Current\";
    
        //Get files ordered descending by creation date
        var files = new DirectoryInfo(Path.Combine(...))
                             .EnumerateFiles()
                             .OrderByDescending(f => f.CreationTime)
                             .Take(howMany);
    
        ViewBag.model.Files7 = files.Select(f => new FileDetails
                    {                   
                        NameNews = f.Name,
                        PathNews = f.FullName,
                        DPNews = f.Name,
                        ExtNews = f.Extension.ToUpper()
                    });
    
        return View();
    }
    
    1 person found this answer helpful.

0 additional answers

Sort by: Most helpful