Rev. 1 Teams e Eventos
This commit is contained in:
parent
afaed51e6d
commit
633960e7db
|
@ -57,5 +57,22 @@ namespace api.Controllers
|
||||||
var Teams = await _repo.GetEventLocEvent(id);
|
var Teams = await _repo.GetEventLocEvent(id);
|
||||||
return Ok(Teams);
|
return Ok(Teams);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// POST api/eventLocs/add
|
||||||
|
// add new event
|
||||||
|
[HttpPost("add")]
|
||||||
|
public async Task<IActionResult> AddEventLoc(EventLocAdd EventLocData)
|
||||||
|
{
|
||||||
|
EventLoc EAdd = new EventLoc{EventId = EventLocData.EventId, Lat = EventLocData.Lat, Long = EventLocData.Long, Nome = EventLocData.Nome, Desc = EventLocData.Desc, Img = EventLocData.Img};
|
||||||
|
await context.EventLocs.AddAsync(EAdd);
|
||||||
|
|
||||||
|
var result = context.SaveChanges();
|
||||||
|
|
||||||
|
if (result == 1)
|
||||||
|
{
|
||||||
|
return StatusCode(201);
|
||||||
|
}
|
||||||
|
return BadRequest();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,5 +60,44 @@ namespace api.Controllers
|
||||||
return Ok(Locs);
|
return Ok(Locs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// POST api/eventLocsVisited/add
|
||||||
|
// add new event
|
||||||
|
[HttpPost("add")]
|
||||||
|
public async Task<IActionResult> AddEventLoc(EventLocVisitedAdd EventLocVisitedData)
|
||||||
|
{
|
||||||
|
|
||||||
|
List<Team> uTeam = await context.Teams.Include(t=>t.Membros).ToListAsync();
|
||||||
|
EventLoc Loc = await context.EventLocs.FirstOrDefaultAsync(a=>a.Id == EventLocVisitedData.EventLocID);
|
||||||
|
|
||||||
|
Team TeamToEdit = new Team();
|
||||||
|
|
||||||
|
uTeam.ForEach(delegate (Team t){
|
||||||
|
if(t.EventId == Loc.EventId){
|
||||||
|
t.Membros.ForEach(delegate (User u){
|
||||||
|
if(u.QRcode == EventLocVisitedData.USerQR){
|
||||||
|
TeamToEdit = t;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
TeamToEdit.Pontos += EventLocVisitedData.pontos;
|
||||||
|
|
||||||
|
EventLocVisited toAdd = new EventLocVisited{Team = TeamToEdit,Location = Loc, timestamp = DateTime.Now};
|
||||||
|
|
||||||
|
await context.EventLocsVisited.AddAsync(toAdd);
|
||||||
|
|
||||||
|
context.Teams.Update(TeamToEdit);
|
||||||
|
|
||||||
|
var result = context.SaveChanges();
|
||||||
|
|
||||||
|
if (result >= 1)
|
||||||
|
{
|
||||||
|
return StatusCode(201);
|
||||||
|
}
|
||||||
|
return BadRequest();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,5 +46,22 @@ namespace api.Controllers
|
||||||
var Event = await _repo.GetEvent(id);
|
var Event = await _repo.GetEvent(id);
|
||||||
return Ok(Event);
|
return Ok(Event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// POST api/events/add
|
||||||
|
// add new event
|
||||||
|
[HttpPost("add")]
|
||||||
|
public async Task<IActionResult> AddEvent(EventForAdd EventData)
|
||||||
|
{
|
||||||
|
Event EAdd = new Event{Nome = EventData.Nome,Desc = EventData.Desc};
|
||||||
|
await context.Events.AddAsync(EAdd);
|
||||||
|
|
||||||
|
var result = context.SaveChanges();
|
||||||
|
|
||||||
|
if (result == 1)
|
||||||
|
{
|
||||||
|
return StatusCode(201);
|
||||||
|
}
|
||||||
|
return BadRequest();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -106,5 +106,67 @@ namespace api.Controllers
|
||||||
return StatusCode(201);
|
return StatusCode(201);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// POST api/teams/ChangeName
|
||||||
|
// create team
|
||||||
|
[HttpPost("changename")]
|
||||||
|
public async Task<IActionResult> ChangeName(TeamChangeName NameChange)
|
||||||
|
{
|
||||||
|
|
||||||
|
Team tEdit = await context.Teams.Include(t=>t.Cap).FirstOrDefaultAsync(t=>t.Id == NameChange.TeamID);
|
||||||
|
|
||||||
|
User cap = await context.Users.FirstOrDefaultAsync(u=>u.QRcode == NameChange.UserQR);
|
||||||
|
|
||||||
|
if(cap == tEdit.Cap){
|
||||||
|
tEdit.Nome = NameChange.nome;
|
||||||
|
}
|
||||||
|
|
||||||
|
context.Update(tEdit);
|
||||||
|
|
||||||
|
var result = context.SaveChanges();
|
||||||
|
|
||||||
|
return StatusCode(201);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// POST api/teams/delete
|
||||||
|
// create team
|
||||||
|
[HttpPost("delete")]
|
||||||
|
public async Task<IActionResult> DeleteTeam(TeamDelete DeleteData)
|
||||||
|
{
|
||||||
|
|
||||||
|
Team tEdit = await context.Teams.Include(t=>t.Cap).FirstOrDefaultAsync(t=>t.Id == DeleteData.TeamID);
|
||||||
|
|
||||||
|
User cap = await context.Users.FirstOrDefaultAsync(u=>u.QRcode == DeleteData.UserQR);
|
||||||
|
|
||||||
|
if(cap == tEdit.Cap){
|
||||||
|
context.Remove(tEdit);
|
||||||
|
var result = context.SaveChanges();
|
||||||
|
return StatusCode(201);
|
||||||
|
}else{
|
||||||
|
return StatusCode(403);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// POST api/teams/remove/member
|
||||||
|
// remove member
|
||||||
|
[HttpPost("remove/member")]
|
||||||
|
public async Task<IActionResult> RemoveTeamMember(TeamRemoveMEmber MemberToRemove)
|
||||||
|
{
|
||||||
|
|
||||||
|
User rmMember = await context.Users.FirstOrDefaultAsync(u=>u.QRcode == MemberToRemove.UserToRemoveQR);
|
||||||
|
|
||||||
|
Team tEdit = await context.Teams.Include(t=>t.Membros).FirstOrDefaultAsync(t=>t.Id == MemberToRemove.TeamID);
|
||||||
|
|
||||||
|
tEdit.NMembros--;
|
||||||
|
tEdit.Membros.Remove(rmMember);
|
||||||
|
|
||||||
|
context.Update(tEdit);
|
||||||
|
|
||||||
|
var result = context.SaveChanges();
|
||||||
|
|
||||||
|
return StatusCode(201);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,9 +23,16 @@ namespace api.Data
|
||||||
return rEventLocs;
|
return rEventLocs;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<EventLoc> GetEventLocEvent(int id)
|
public async Task<List<EventLoc>> GetEventLocEvent(int id)
|
||||||
{
|
{
|
||||||
var rEventLocs = await _context.EventLocs.FirstOrDefaultAsync(e=>e.EventId == id);
|
List<EventLoc> eLocs = await _context.EventLocs.ToListAsync();
|
||||||
|
List<EventLoc> rEventLocs = new List<EventLoc>();
|
||||||
|
|
||||||
|
eLocs.ForEach(delegate (EventLoc e){
|
||||||
|
if(e.EventId == id){
|
||||||
|
rEventLocs.Add(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
return rEventLocs;
|
return rEventLocs;
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ namespace api.Data
|
||||||
|
|
||||||
Task<IEnumerable<EventLoc>> GetEventLocs();
|
Task<IEnumerable<EventLoc>> GetEventLocs();
|
||||||
Task<EventLoc> GetEventLoc(int id);
|
Task<EventLoc> GetEventLoc(int id);
|
||||||
Task<EventLoc> GetEventLocEvent(int id);
|
Task<List<EventLoc>> GetEventLocEvent(int id);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using api.Models;
|
||||||
|
|
||||||
|
namespace api.Dtos
|
||||||
|
{
|
||||||
|
public class EventForAdd
|
||||||
|
{
|
||||||
|
[Required]
|
||||||
|
public string Nome{get;set;} //equipa id
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public string Desc{get;set;} //novo membro
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using api.Models;
|
||||||
|
|
||||||
|
namespace api.Dtos
|
||||||
|
{
|
||||||
|
public class EventLocAdd
|
||||||
|
{
|
||||||
|
[Required]
|
||||||
|
public int EventId{get;set;} //Event ID
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public float Lat{get;set;} //latitude
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public float Long{get;set;} //longitude
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public String Nome{get;set;} //Nome da localização
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public String Desc{get;set;} //Descrição
|
||||||
|
|
||||||
|
|
||||||
|
public Photo Img{get;set;} //Foto da localização
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using api.Models;
|
||||||
|
|
||||||
|
namespace api.Dtos
|
||||||
|
{
|
||||||
|
public class EventLocVisitedAdd
|
||||||
|
{
|
||||||
|
[Required]
|
||||||
|
public String USerQR{get;set;} //User ID
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public int EventLocID{get;set;} //Loc id
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public int pontos{get;set;} //Pontos a adicionar
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using api.Models;
|
||||||
|
|
||||||
|
namespace api.Dtos
|
||||||
|
{
|
||||||
|
public class TeamChangeName
|
||||||
|
{
|
||||||
|
[Required]
|
||||||
|
public int TeamID{get;set;} //teamid
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public string nome{get;set;} //novo nome
|
||||||
|
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public string UserQR{get;set;} //user qr
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using api.Models;
|
||||||
|
|
||||||
|
namespace api.Dtos
|
||||||
|
{
|
||||||
|
public class TeamDelete
|
||||||
|
{
|
||||||
|
[Required]
|
||||||
|
public int TeamID{get;set;} //teamid
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public string UserQR{get;set;} //user qr
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using api.Models;
|
||||||
|
|
||||||
|
namespace api.Dtos
|
||||||
|
{
|
||||||
|
public class TeamRemoveMEmber
|
||||||
|
{
|
||||||
|
[Required]
|
||||||
|
public int TeamID{get;set;} //teamid
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public string UserQR{get;set;} //user qr
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public string UserToRemoveQR{get;set;} //user qr
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
Loading…
Reference in New Issue