This commit is contained in:
henrydays 2019-04-04 01:46:01 +01:00
parent f2ba735e16
commit 569991c7d0
2 changed files with 50 additions and 24 deletions

View File

@ -47,18 +47,22 @@ namespace api.Controllers
{
if (Int32.Parse(usrCromos[i]) == c.Id )
if (Int32.Parse(usrCromos[i]) == c.Id)
{
soma += c.pontos;
Cromos toAdd = new Cromos { Id = c.Id, Nome = c.Nome, DescMostrar = c.DescUnlocked, QRCode = c.QRCode, img = c.img, unlocked = true, websiteCromo = c.websiteCromo, pontos = c.pontos, logo = c.logo };
var d = rList.Find(x=>x.Id== c.Id);
if(d!=null)
var d = rList.Find(x => x.Id == c.Id);
if (d != null)
continue;
rList.Add(toAdd);
found = true;
else
{
soma += c.pontos;
rList.Add(toAdd);
found = true;
}
}

View File

@ -26,43 +26,65 @@ namespace api.Controllers
this.context = context;
_mapper = mapper;
}
// PSOT api/scan
// POST scan de QR code
[HttpPost]
public async Task<IActionResult> doScan(QRToScan ScanData)
{
User usr = await context.Users.FirstOrDefaultAsync(b=>b.QRcode == ScanData.UserQR);
User usr = await context.Users.FirstOrDefaultAsync(b => b.QRcode == ScanData.UserQR);
var allUsers = await context.Users.ToListAsync();
var allCromos = await context.Cromos.ToListAsync();
var userAProcurar = await context.Users.FirstOrDefaultAsync(c=>c.QRcode == ScanData.ScanQR);
var userAProcurar = await context.Users.FirstOrDefaultAsync(c => c.QRcode == ScanData.ScanQR);
ScanReturn toReturn = new ScanReturn{tipo = -1};
ScanReturn toReturn = new ScanReturn { tipo = -1 };
if(userAProcurar != null){
if (userAProcurar != null)
{
UserForListDto ru = new UserForListDto();
_mapper.Map(userAProcurar,ru);
_mapper.Map(userAProcurar, ru);
toReturn.user = ru;
toReturn.tipo=1;
toReturn.tipo = 1;
return Ok(toReturn);
}else{
}
else
{
bool repetido=false;
allCromos.ForEach(delegate (Cromos c)
{
if (c.QRCode == ScanData.ScanQR)
{
toReturn.tipo = 0;
string[] usrCromos = usr.cromos.Substring(1).Split(",");
allCromos.ForEach(delegate(Cromos c){
foreach (string cromo in usrCromos)
{
if (ScanData.ScanQR == cromo)
{
repetido = true;
}
}
if(c.QRCode == ScanData.ScanQR){
toReturn.tipo=0;
usr.cromos = usr.cromos + "," + c.Id;
context.Users.Update(usr);
context.SaveChanges();
toReturn.resp = "Cromo Adicionado!";
if (!repetido)
{
usr.cromos = usr.cromos + "," + c.Id;
context.Users.Update(usr);
context.SaveChanges();
toReturn.resp = "Cromo Adicionado!";
}
}
});
if(repetido){
return Unauthorized();
}
return Ok(toReturn);
}
//return toReturn;