import / export des blog et utilisateurs
parent
ac319f9994
commit
59063e0fd8
@ -0,0 +1,72 @@
|
|||||||
|
|
||||||
|
using System.IO.Compression;
|
||||||
|
using Microsoft.AspNetCore.Authorization;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using Yavsc.Models;
|
||||||
|
using Yavsc.Models.Blog;
|
||||||
|
|
||||||
|
namespace Yavsc.Controllers
|
||||||
|
{
|
||||||
|
[Authorize()]
|
||||||
|
public class DatabaseController : Controller
|
||||||
|
{
|
||||||
|
private readonly ILogger<DatabaseController> logger;
|
||||||
|
private readonly ApplicationDbContext applicationDbContext;
|
||||||
|
|
||||||
|
public DatabaseController(ApplicationDbContext applicationDbContext,
|
||||||
|
ILoggerFactory loggerFactory)
|
||||||
|
{
|
||||||
|
logger = loggerFactory.CreateLogger<DatabaseController>();
|
||||||
|
this.applicationDbContext = applicationDbContext;
|
||||||
|
}
|
||||||
|
|
||||||
|
public IActionResult GetBlog()
|
||||||
|
{
|
||||||
|
var data = applicationDbContext.BlogSpot.ToArray();
|
||||||
|
return Ok(JsonConvert.SerializeObject(data, Formatting.None));
|
||||||
|
}
|
||||||
|
|
||||||
|
public IActionResult GetUsers()
|
||||||
|
{
|
||||||
|
var data = applicationDbContext.Users.ToArray();
|
||||||
|
return Ok(JsonConvert.SerializeObject(data, Formatting.None));
|
||||||
|
}
|
||||||
|
|
||||||
|
public IActionResult ImportUsers(String usersJson)
|
||||||
|
{
|
||||||
|
int failures = 0;
|
||||||
|
var input = JsonConvert.DeserializeObject<ApplicationUser[]>(usersJson);
|
||||||
|
foreach (var user in input)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
applicationDbContext.Users.Add(user);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
failures++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return Ok(failures);
|
||||||
|
}
|
||||||
|
public IActionResult ImportBlog(String blogJson)
|
||||||
|
{
|
||||||
|
int failures = 0;
|
||||||
|
var input = JsonConvert.DeserializeObject<BlogPost[]>(blogJson);
|
||||||
|
foreach (var post in input)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
applicationDbContext.BlogSpot.Add(post);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
failures++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return Ok(failures);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue