Update Form & User services with filters & update Form & User controllers 🔥🔥

testTony
Louis LABORIE 1 year ago
parent 6323399018
commit 660c6d8efb

@ -4,6 +4,7 @@ using Model;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using API_Mapping;
namespace API.Controllers
{
@ -18,34 +19,44 @@ namespace API.Controllers
this._form = iform;
}
[HttpGet("/forms/{id}")]
public Task<IEnumerable<Formulaire?>> GetAllForm()
[HttpGet("/forms")]
public async Task<IActionResult> GetAllForm([FromQuery] int index = 0, [FromQuery] int count = 10, [FromQuery] FormOrderCriteria orderCriteria = FormOrderCriteria.None)
{
throw new NotImplementedException();
var result = (await _form.GetAllForm(index, count, orderCriteria)).Select(f => f.ToDTO());
if (result == null)
{
return NotFound();
}
return Ok(result);
}
[HttpGet("{id}")]
public Task<Formulaire?> GetById(long id)
public async Task<IActionResult> GetById(long id)
{
throw new NotImplementedException();
var result = (await _form.GetById(id)).ToDTO();
if (result == null)
{
return NotFound();
}
return Ok(result);
}
[HttpPost]
public Task<Formulaire?> CreateForm(Formulaire formulaire)
public async Task<Formulaire?> CreateForm(Formulaire formulaire)
{
throw new NotImplementedException();
return await _form.CreateForm(formulaire);
}
[HttpDelete("{id}")]
public Task<bool> DeleteForm(long id)
public async Task<bool> DeleteForm(long id)
{
throw new NotImplementedException();
return await _form.DeleteForm(id);
}
[HttpPut("{id}")]
public Task<bool> UpdateForm(long id, Formulaire formulaire)
public async Task<bool> UpdateForm(long id, Formulaire formulaire)
{
throw new NotImplementedException();
return await _form.UpdateForm(id, formulaire);
}
}
}

@ -2,6 +2,7 @@
using Microsoft.AspNetCore.Mvc;
using API_Services;
using Model;
using API_Mapping;
namespace API.Controllers
@ -18,34 +19,45 @@ namespace API.Controllers
}
[HttpPost("/user")]
public Task<bool> Create(User user)
public async Task<bool> Create(User user)
{
throw new NotImplementedException();
return await _us.Create(user);
}
[HttpPut("/user/{pseudo}")]
public Task<bool> Update(User user)
public async Task<bool> Update(User user)
{
throw new NotImplementedException();
return await _us.Update(user);
}
[HttpDelete("/user/{pseudo}")]
public Task<bool> Delete(string pseudo)
public async Task<bool> Delete(string pseudo)
{
throw new NotImplementedException();
return await _us.Delete(pseudo);
}
[HttpGet("/user/{pseudo}")]
public Task<User?> GetByPseudo(string pseudo)
public async Task<IActionResult> GetByPseudo(string pseudo)
{
throw new NotImplementedException();
var result = (await _us.GetByPseudo(pseudo)).ToDTO();
if (result == null)
{
return NotFound();
}
return Ok(result);
}
[HttpGet("/users")]
public Task<IEnumerable<User?>> GetAll()
public async Task<IActionResult> GetAll([FromQuery] int index = 0, [FromQuery] int count = 10, [FromQuery] UserOrderCriteria orderCriteria = UserOrderCriteria.None)
{
var result = (await _us.GetAll(index, count, orderCriteria)).Select(u => u.ToDTO());
if (result == null)
{
throw new NotImplementedException();
return NotFound();
}
return Ok(result);
}
}
}

@ -15,9 +15,31 @@ public class DbManagerFormulaire : IFormulaireService
_context = context;
}
public async Task<IEnumerable<Formulaire?>> GetAllForm()
public async Task<IEnumerable<Formulaire?>> GetAllForm(int index, int count, FormOrderCriteria orderCriteria)
{
return await Task.FromResult(_context.FormSet.Select(f => f.ToModel()).AsEnumerable());
List<Formulaire> formulaireList = new List<Formulaire>();
switch (orderCriteria)
{
case FormOrderCriteria.None:
formulaireList = _context.FormSet.Select(f => f.ToModel()).ToList();
break;
case FormOrderCriteria.ByTheme:
formulaireList = _context.FormSet.OrderBy(f => f.Theme).Select(f => f.ToModel()).ToList();
break;
case FormOrderCriteria.ByLien:
formulaireList = _context.FormSet.OrderBy(f => f.Link).Select(f => f.ToModel()).ToList();
break;
case FormOrderCriteria.ByDate:
formulaireList = _context.FormSet.OrderBy(f => f.DatePublication).Select(f => f.ToModel()).ToList();
break;
case FormOrderCriteria.ByPseudo:
formulaireList = _context.FormSet.OrderBy(f => f.Pseudo).Select(f => f.ToModel()).ToList();
break;
default:
formulaireList = _context.FormSet.Select(f => f.ToModel()).ToList();
break;
}
return await Task.FromResult(formulaireList.AsEnumerable());
}
public async Task<Formulaire?> GetById(long id)

@ -60,8 +60,26 @@ public class DbManagerUser: IUserService
return await Task.FromResult(entity.ToModel());
}
public async Task<IEnumerable<User?>> GetAll()
public async Task<IEnumerable<User?>> GetAll(int index, int count, UserOrderCriteria orderCriteria)
{
return await Task.FromResult(_context.UserSet.Select(u => u.ToModel()).AsEnumerable());
List<User> users = new List<User>();
switch(orderCriteria)
{
case UserOrderCriteria.None:
users = _context.UserSet.Select(u => u.ToModel()).ToList();
break;
case UserOrderCriteria.ByFirstName:
users = _context.UserSet.OrderBy(u => u.Prenom).Select(u => u.ToModel()).ToList();
break;
case UserOrderCriteria.ByLastName:
users = _context.UserSet.OrderBy(u => u.Nom).Select(u => u.ToModel()).ToList();
break;
default:
users = _context.UserSet.Select(u => u.ToModel()).ToList();
break;
}
return await Task.FromResult(users.AsEnumerable());
}
}

@ -5,7 +5,7 @@ namespace API_Services;
public interface IFormulaireService
{
Task<IEnumerable<Formulaire?>> GetAllForm();
Task<IEnumerable<Formulaire?>> GetAllForm(int index, int count, FormOrderCriteria orderCriteria);
Task<Formulaire?> GetById(long id);

@ -12,7 +12,7 @@ namespace API_Services
Task<User?> GetByPseudo(string pseudo);
Task<IEnumerable<User?>> GetAll();
Task<IEnumerable<User?>> GetAll(int index, int count, UserOrderCriteria orderCriteria);

Loading…
Cancel
Save