static pages

This commit is contained in:
mborzyszkowski 2020-09-12 14:17:57 +02:00
parent cb2afcb897
commit a508f9f4a8
5 changed files with 105 additions and 3 deletions

View File

@ -17,9 +17,11 @@ namespace InternshipSystem.Api.Controllers
[HttpPost("fill")]
public async Task<IActionResult> Fill() {
public async Task<IActionResult> Fill()
{
await FillerService.FillCompanies();
await FillerService.FillEditions();
await FillerService.FillStaticPages();
return Ok();
}
@ -31,9 +33,17 @@ namespace InternshipSystem.Api.Controllers
}
[HttpPost("fill/editions")]
public async Task<IActionResult> FillEditionsAsync() {
public async Task<IActionResult> FillEditionsAsync()
{
await FillerService.FillEditions();
return Ok();
}
[HttpPost("fill/staticPages")]
public async Task<IActionResult> FillStaticPagesAsync()
{
await FillerService.FillStaticPages();
return Ok();
}
}
}

View File

@ -0,0 +1,56 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using InternshipSystem.Core;
using InternshipSystem.Repository;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
namespace InternshipSystem.Api.Controllers
{
[ApiController]
[Route("staticPage")]
public class StaticPagesController : ControllerBase
{
public StaticPagesController(InternshipDbContext context)
{
Context = context;
}
private InternshipDbContext Context { get; }
/// <summary>
/// Get all static pages
/// </summary>
/// <returns>List of static pages with titles and content</returns>
[HttpGet]
[ProducesResponseType(StatusCodes.Status200OK)]
public async Task<ActionResult<IList<StaticPage>>> GetStaticPages(CancellationToken cancellationToken) =>
await Context.StaticPages
.ToListAsync(cancellationToken);
/// <summary>
/// Get static page
/// </summary>
/// <param name="accessName">Name of page</param>
/// <returns>Static page title and content</returns>
[HttpGet("{accessName}")]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
public async Task<ActionResult<StaticPage>> GetStaticPage(string accessName, CancellationToken cancellationToken)
{
var page =
await Context.StaticPages
.Where(p => p.AccessName.Trim().ToLower().Equals(accessName.Trim().ToLower()))
.FirstOrDefaultAsync(cancellationToken);
if (page == null)
{
return NotFound();
}
return Ok(page);
}
}
}

View File

@ -0,0 +1,10 @@
namespace InternshipSystem.Core
{
public class StaticPage
{
public long? Id { get; set; }
public string AccessName { get; set; }
public string Title { get; set; }
public string Content { get; set; }
}
}

View File

@ -253,6 +253,32 @@ namespace InternshipSystem.Repository
await Context.SaveChangesAsync();
}
public async Task FillStaticPages()
{
var staticPages = new List<StaticPage>
{
new StaticPage
{
AccessName = "regulations",
Title = "Regulamin Praktyk",
Content =
"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Bestiarum vero nullum iudicium puto. Quare ad ea primum, si videtur; <b>Duo Reges: constructio interrete.</b> <i>Eam tum adesse, cum dolor omnis absit;</i> Sed ad bona praeterita redeamus. <mark>Facillimum id quidem est, inquam.</mark> Apud ceteros autem philosophos, qui quaesivit aliquid, tacet; </p>" +
"<p><a href=\"http://loripsum.net/\" target=\"_blank\">Quorum altera prosunt, nocent altera.</a> Eam stabilem appellas. <i>Sed nimis multa.</i> Quo plebiscito decreta a senatu est consuli quaestio Cn. Sin laboramus, quis est, qui alienae modum statuat industriae? <mark>Quod quidem nobis non saepe contingit.</mark> Si autem id non concedatur, non continuo vita beata tollitur. " +
"<a href=\"http://loripsum.net/\" target=\"_blank\">Illum mallem levares, quo optimum atque humanissimum virum, Cn.</a> <i>Id est enim, de quo quaerimus.</i> </p><p>Ille vero, si insipiens-quo certe, quoniam tyrannus -, numquam beatus; Sin dicit obscurari quaedam nec apparere, quia valde parva sint, nos quoque concedimus; Et quod est munus, quod opus sapientiae? Ab hoc autem quaedam non melius quam veteres, quaedam omnino relicta. </p>" +
"Prosto spod bazy ;D"
},
new StaticPage
{
AccessName = "info",
Title = "Informacje",
Content =
"<p>Nowe zmiany: <a href=\"https://pl.wikipedia.org/wiki/Lorem_ipsum\" target=\"_blank\"></p>"
}
};
await Context.StaticPages.AddRangeAsync(staticPages);
await Context.SaveChangesAsync();
}
// new InternshipType
// {
// Type = "FreeInternship",

View File

@ -9,7 +9,7 @@ namespace InternshipSystem.Repository
{
public DbSet<Company> Companies { get; set; }
public DbSet<Edition> Editions { get; set; }
public DbSet<StaticPage> StaticPages { get; set; }
public DbSet<Student> Students { get; set; }
public InternshipDbContext(DbContextOptions<InternshipDbContext> options)