public virtual async Task <TModel> Insert(TInsert request) { var entity = _mapper.Map <TDatabase>(request); _context.Set <TDatabase>().Add(entity); await _context.SaveChangesAsync(); return(_mapper.Map <TModel>(entity)); }
public async Task <bool> Delete(int id) { var entity = await _context.Set <Rezervacija>().FindAsync(id); try { _context.Set <Rezervacija>().Remove(entity); await _context.SaveChangesAsync(); return(true); } catch (Exception ex) { return(false); } }
public async Task <KorisnikResponse> UpdateLicneInformacije(int ID, KorisnikUpdateInfoRequest request) { var entity = await _context.Set <Korisnik>().FindAsync(ID); var user = await _userManager.FindByEmailAsync(entity.Email); if (!string.IsNullOrEmpty(request.Ime) && user.Ime != request.Ime) { user.Ime = request.Ime; } if (!string.IsNullOrEmpty(request.Prezime) && user.Prezime != request.Prezime) { user.Prezime = request.Prezime; } if (!string.IsNullOrEmpty(request.Email) && user.Email != request.Email) { var token = await _userManager.GenerateChangeEmailTokenAsync(user, request.Email); await _userManager.ChangeEmailAsync(user, request.Email, token); } if (request.GradID != null && user.GradID != request.GradID) { user.GradID = request.GradID; } await _context.SaveChangesAsync(); return(_mapper.Map <KorisnikResponse>(entity)); }
public async Task <bool> OcistiKorpu(string KorpaID) { var stavke = _context.KorpaStavke.Where(korpa => korpa.KorpaID == KorpaID); if (stavke != null) { _context.KorpaStavke.RemoveRange(stavke); await _context.SaveChangesAsync(); return(true); } return(false); }
public async Task <NarudzbaResponse> Insert(int korisnikID, NarudzbaInsertRequest request) { var nacinPlacanja = new NacinPlacanja() { Naziv = "Pouzećem" }; _context.NaciniPlacanja.Add(nacinPlacanja); await _context.SaveChangesAsync(); var entity = _mapper.Map <Narudzba>(request); entity.KorisnikID = korisnikID; entity.NacinPlacanjaID = nacinPlacanja.ID; _context.Set <Narudzba>().Add(entity); await _context.SaveChangesAsync(); foreach (var detalj in request.NarudzbaDetalji) { detalj.NarudzbaID = entity.ID; } var detalji = _mapper.Map <List <NarudzbaDetalji> >(request.NarudzbaDetalji); _context.NarudzbaDetalji.AddRange(detalji); await _context.SaveChangesAsync(); double suma = 0; var message = "Poštovana/i, " + _context.Users.Find(entity.KorisnikID).Ime + " " + _context.Users.Find(entity.KorisnikID).Prezime + ", uspješno ste naručili vaša jela: \n"; message += "\n"; foreach (var x in detalji) { message += _context.Jela.Find(x.JeloID).Naziv + "\t" + " - " + x.Cijena + " KM" + "(" + x.Kolicina + " kom), \n"; suma += x.Kolicina * x.Cijena; } message += "Ukupna cijena narudžbe: " + suma + " KM \n"; message += "Lijep pozdrav!"; await _emailSender.SendEmailAsync(new string[] { entity.Korisnik.Email }, "Potvrda narudžbe", message); return(_mapper.Map <NarudzbaResponse>(entity)); }
public async Task <bool> Like(int JeloID, int KorisnikID) { var entity = new Like { JeloID = JeloID, KorisnikID = KorisnikID, Datum = DateTime.Now }; try { await _context.AddAsync(entity); await _context.SaveChangesAsync(); return(true); } catch { return(false); } }
public async Task <AuthenticationResult> RefreshTokenAsync(RefreshTokenRequest request) { var validatedToken = GetPrincipalFromToken(request.Token); if (validatedToken == null) { return(new AuthenticationResult { Errors = new[] { "Invalid Token" } }); } var expiryDateUnix = long.Parse(validatedToken.Claims.Single(x => x.Type == JwtRegisteredClaimNames.Exp).Value); var expiryDateTimeUtc = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc) .AddSeconds(expiryDateUnix); if (expiryDateTimeUtc > DateTime.UtcNow) { return(new AuthenticationResult { Errors = new[] { "This token hasn't expired yet" } }); } var jti = validatedToken.Claims.Single(x => x.Type == JwtRegisteredClaimNames.Jti).Value; var storedRefreshToken = await _context.RefreshTokens.SingleOrDefaultAsync(x => x.Token == request.RefreshToken); if (storedRefreshToken == null) { return(new AuthenticationResult { Errors = new[] { "This refresh token does not exist" } }); } if (DateTime.UtcNow > storedRefreshToken.ExpiryDate) { return(new AuthenticationResult { Errors = new[] { "This refresh token has expired" } }); } if (storedRefreshToken.Invalidated) { return(new AuthenticationResult { Errors = new[] { "This refresh token has been invalidated" } }); } if (storedRefreshToken.Used) { return(new AuthenticationResult { Errors = new[] { "This refresh token has been used" } }); } if (storedRefreshToken.JwtId != jti) { return(new AuthenticationResult { Errors = new[] { "This refresh token does not match this JWT" } }); } storedRefreshToken.Used = true; _context.RefreshTokens.Update(storedRefreshToken); await _context.SaveChangesAsync(); var user = await _userManager.FindByIdAsync(validatedToken.Claims.Single(x => x.Type == "id").Value); return(await GenerateAuthenticationResultForUserAsync(user)); }