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;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading.Tasks; using System.Threading.Tasks;
using API_Mapping;
namespace API.Controllers namespace API.Controllers
{ {
@ -18,34 +19,44 @@ namespace API.Controllers
this._form = iform; this._form = iform;
} }
[HttpGet("/forms/{id}")] [HttpGet("/forms")]
public Task<IEnumerable<Formulaire?>> GetAllForm() 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}")] [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] [HttpPost]
public Task<Formulaire?> CreateForm(Formulaire formulaire) public async Task<Formulaire?> CreateForm(Formulaire formulaire)
{ {
throw new NotImplementedException(); return await _form.CreateForm(formulaire);
} }
[HttpDelete("{id}")] [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}")] [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 Microsoft.AspNetCore.Mvc;
using API_Services; using API_Services;
using Model; using Model;
using API_Mapping;
namespace API.Controllers namespace API.Controllers
@ -18,34 +19,45 @@ namespace API.Controllers
} }
[HttpPost("/user")] [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}")] [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}")] [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}")] [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")] [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)
{ {
throw new NotImplementedException(); var result = (await _us.GetAll(index, count, orderCriteria)).Select(u => u.ToDTO());
if (result == null)
{
return NotFound();
}
return Ok(result);
} }
} }
} }

@ -15,9 +15,31 @@ public class DbManagerFormulaire : IFormulaireService
_context = context; _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) public async Task<Formulaire?> GetById(long id)

@ -60,8 +60,26 @@ public class DbManagerUser: IUserService
return await Task.FromResult(entity.ToModel()); 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 public interface IFormulaireService
{ {
Task<IEnumerable<Formulaire?>> GetAllForm(); Task<IEnumerable<Formulaire?>> GetAllForm(int index, int count, FormOrderCriteria orderCriteria);
Task<Formulaire?> GetById(long id); Task<Formulaire?> GetById(long id);

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

Loading…
Cancel
Save