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);
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
// 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);
|
||||
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);
|
||||
|
||||
}
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ namespace api.Data
|
|||
|
||||
Task<IEnumerable<EventLoc>> GetEventLocs();
|
||||
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