public async Task <IActionResult> PutLodowka([FromRoute] int id, [FromBody] Lodowka lodowka) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != lodowka.LodowkaId) { return(BadRequest()); } lodowka = lodowkaService.PutLodowka(id, lodowka); _context.Entry(lodowka).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!LodowkaExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> RegisterFromFridge(RegisterViewModel model) { if (ModelState.IsValid) { var user = new Uzytkownik { UserName = model.Email, Email = model.Email }; var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { var lodowka = new Lodowka { Pojemnosc = 15, DataAktualizacji = DateTime.Now }; var grupa = new Grupa { Nazwa = user.Email, Lodowka = lodowka, Uzytkownicy = new List <Uzytkownik> { user } }; var uzytGrupa = new UzytkownikGrupa { Grupa = grupa, Uzytkownik = user }; _context.Grupy.Add(grupa); _context.UzytkownicyGrupy.Add(uzytGrupa); _context.SaveChanges(); _logger.LogInformation("User created a new account with password."); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var callbackUrl = Url.EmailConfirmationLink(user.Id, code, Request.Scheme); await _emailSender.SendEmailConfirmationAsync(model.Email, callbackUrl); await _signInManager.SignInAsync(user, isPersistent : false); _logger.LogInformation("User created a new account with password."); return(Ok()); } else { return(NotFound()); } } // If we got this far, something failed, redisplay form return(BadRequest()); }
internal Lodowka PutLodowka(int id, Lodowka lodowka) { //pobierz produkty ktore poszly w jsonie List <Produkt> noweProdukty = new List <Produkt>(); foreach (var prod in lodowka.Produkty) { noweProdukty.Add(_context.Produkty. Where(x => x.RFIDTag == prod.RFIDTag). FirstOrDefault()); } //znajdz lodowke wsrod tych ktore sa w bazie var lodowkaDb = _context.Lodowki .AsNoTracking() .Include("StanLodowki.Produkt") .FirstOrDefault(l => l.LodowkaId == id); //usun dotychczasowe produkty przypisane do lodowki lodowkaDb.Produkty.Clear(); //pobierz wszystkie rekordy z tabeli StanLodowki dot. //postowanej lodowki var st_l = _context.StanyLodowek .Where(x => x.LodowkaId == lodowka.LodowkaId); //usun rekordy stanu lodowki if (st_l.Count <StanLodowki>() > 0) { foreach (var st in st_l) { _context.StanyLodowek.Remove(st); } } //zapisz nowy stan lodowki w bazie danych if (noweProdukty.Count > 0) { foreach (var produkt in noweProdukty) { lodowkaDb.Produkty.Add(produkt); _context.StanyLodowek.Add(new StanLodowki { ProduktId = produkt.ProduktId, LodowkaId = lodowka.LodowkaId, Ilosc = 1 }); } } lodowkaDb.DataAktualizacji = lodowka.DataAktualizacji; return(lodowkaDb); }
public async Task <IActionResult> PostLodowka([FromBody] Lodowka lodowka) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } lodowkaService.PostLodowka(lodowka); return(CreatedAtAction("GetLodowka", new { id = lodowka.LodowkaId }, lodowka)); }
public void PostLodowka(Lodowka lodowka) { _context.Lodowki.Add(lodowka); _context.SaveChanges(); }