/// <summary> /// Usuwa wybraną nieprawidłowość z kontroli. /// </summary> /// <param name="id">Identyfikator nieprawidłowości.</param> /// <param name="kontrolaId">Identyfikator kontroli.</param> /// <returns>Przekierowania do strony edycji kontroli.</returns> public async Task<IActionResult> OnGetDelete(int? id, int kontrolaId) { if (id == null) { return NotFound(); } var kontrola = await _context.Kontrola .Include(k => k.Status) .Include(k => k.Nieprawidlowosci) .FirstOrDefaultAsync(m => m.Id == kontrolaId); if (kontrola.StatusId == 43 && kontrola.Nieprawidlowosci.Count == 1) { return RedirectToPage("./Index"); } var nieprawidlowosc = await _context.Nieprawidlowosc.FindAsync(id); if (nieprawidlowosc != null) { _context.Nieprawidlowosc.Remove(nieprawidlowosc); await _context.SaveChangesAsync(); } Log .ForContext("UserId", int.Parse(User.Claims.FirstOrDefault(u => u.Type.EndsWith("nameidentifier")).Value)) .ForContext("Table", nameof(Nieprawidlowosc)) .ForContext("RecordId", nieprawidlowosc.Id) .ForContext("MainRecordId", kontrolaId) .Warning("Usunięcie nieprawidłowości."); return RedirectToPage("./Edit", new { id = kontrolaId }); }
/// <summary> /// Przesyła model danych <see cref="Models.Komorka"/> do zaktualizowania w aplikacji. /// </summary> /// <returns>Przekierowanie do listy komórek kontrolowanych.</returns> public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } _context.Attach(Komorka).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!KomorkaExists(Komorka.Id)) { return(NotFound()); } else { throw; } } Log .ForContext("UserId", int.Parse(User.Claims.FirstOrDefault(u => u.Type.EndsWith("nameidentifier")).Value)) .ForContext("Table", Komorka.GetType().Name) .ForContext("RecordId", Komorka.Id) .Warning("Zapisanie edycji komórki {Nazwa}.", Komorka.Nazwa); return(RedirectToPage("./Index")); }
/// <summary> /// Usuwa załącznik. /// </summary> /// <param name="id">Identyfikator załącznika.</param> /// <param name="kontrolaId">Identyfikator powiązanej kontroli.</param> /// <returns></returns> public async Task <IActionResult> OnGetDelete(int?id, int kontrolaId) { if (id == null) { return(NotFound()); } var zalacznik = await _context.Zalacznik.FindAsync(id); if (zalacznik != null) { _context.Zalacznik.Remove(zalacznik); await _context.SaveChangesAsync(); } Log .ForContext("UserId", int.Parse(User.Claims.FirstOrDefault(u => u.Type.EndsWith("nameidentifier")).Value)) .ForContext("Table", zalacznik.GetType().Name) .ForContext("RecordId", zalacznik.Id) .ForContext("MainRecordId", kontrolaId) .Warning("Usunięcie załącznika {Nazwa}.", zalacznik.Nazwa); return(RedirectToPage("./Edit", new { id = kontrolaId })); }
// To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see https://aka.ms/RazorPagesCRUD. /// <summary> /// Przesyła model danych <see cref="Models.JednostkaKontrolujaca"/> do aplikacji. /// </summary> /// <returns>Przekierowanie do listy jednostek kontrolujących.</returns> public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } _context.JednostkaKontrolujaca.Add(JednostkaKontrolujaca); await _context.SaveChangesAsync(); Log .ForContext("UserId", int.Parse(User.Claims.FirstOrDefault(u => u.Type.EndsWith("nameidentifier")).Value)) .ForContext("Table", JednostkaKontrolujaca.GetType().Name) .ForContext("RecordId", JednostkaKontrolujaca.Id) .Warning("Dodanie jednostki kontrolującej {Nazwa}.", JednostkaKontrolujaca.Nazwa); return(RedirectToPage("./Index")); }
// To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see https://aka.ms/RazorPagesCRUD. /// <summary> /// Przesyła model danych <see cref="Models.JednostkaKontrolowana"/> do aplikacji. /// </summary> /// <returns>Przekierowanie do listy jednostek kontrolowanych.</returns> public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { ViewData["ProcesId"] = new SelectList(_context.SlownikProces, "Id", "Nazwa"); ViewData["KomorkaMerytorycznaId"] = new SelectList(_context.Komorka, "Id", "Nazwa"); return(Page()); } _context.JednostkaKontrolowana.Add(JednostkaKontrolowana); await _context.SaveChangesAsync(); Log .ForContext("UserId", int.Parse(User.Claims.FirstOrDefault(u => u.Type.EndsWith("nameidentifier")).Value)) .ForContext("Table", JednostkaKontrolowana.GetType().Name) .ForContext("RecordId", JednostkaKontrolowana.Id) .Warning("Dodanie jednostki kontrolowanej {Nazwa}.", JednostkaKontrolowana.Nazwa); return(RedirectToPage("./Index")); }
// To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see https://aka.ms/RazorPagesCRUD. /// <summary> /// Przesyła model danych <see cref="Models.Uzytkownik"/> do aplikacji. /// </summary> /// <returns>Przekierowanie do listy użytkowników.</returns> public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { ViewData["JednostkaId"] = new SelectList(_context.JednostkaKontrolowana, "Id", "Nazwa"); ViewData["KomorkaId"] = new SelectList(_context.Komorka.OrderBy(k => k.Nazwa), "Id", "Nazwa"); ViewData["PoziomUzytkownikaId"] = new SelectList(_context.SlownikPoziomUzytkownika, "Id", "Nazwa"); return(Page()); } _context.Uzytkownik.Add(Uzytkownik); await _context.SaveChangesAsync(); Log .ForContext("UserId", int.Parse(User.Claims.FirstOrDefault(u => u.Type.EndsWith("nameidentifier")).Value)) .ForContext("Table", Uzytkownik.GetType().Name) .ForContext("RecordId", Uzytkownik.Id) .Warning("Dodanie użytkownika {Login}.", Uzytkownik.Login); return(RedirectToPage("./Index")); }
/// <summary> /// Metoda do zmiany statusu kontroli. /// </summary> /// <param name="kontrolaId">Identyfikator kontroli.</param> /// <returns></returns> public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } var kontrola = await _context.Kontrola.FirstOrDefaultAsync(m => m.Id == KontrolaId); kontrola.StatusId = NewStatusId; kontrola.UwagiKW = UwagiKW; _context.Attach(kontrola).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!StatusExists(NewStatusId)) { return(NotFound()); } else { throw; } } Log .ForContext("UserId", int.Parse(User.Claims.FirstOrDefault(u => u.Type.EndsWith("nameidentifier")).Value)) .ForContext("Table", kontrola.GetType().Name) .ForContext("RecordId", kontrola.Id) .ForContext("MainRecordId", kontrola.Id) .Warning("Zmiana statusu kontroli {Numer}.", kontrola.Numer); return(RedirectToPage("./Details", new { id = kontrola.Id })); }
/// <summary> /// Przesyła model danych <see cref="Models.Nieprawidlowosc"/> do zaktualizowania w aplikacji. /// </summary> /// <returns>Przekierowanie do strony edycji kontroli.</returns> public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } var old = _context.Nieprawidlowosc.AsNoTracking().FirstOrDefault(n => n.Id == Nieprawidlowosc.Id); _context.Attach(Nieprawidlowosc).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!NieprawidlowoscExists(Nieprawidlowosc.Id)) { return(NotFound()); } else { throw; } } Log .ForContext("UserId", int.Parse(User.Claims.FirstOrDefault(u => u.Type.EndsWith("nameidentifier")).Value)) .ForContext("Table", Nieprawidlowosc.GetType().Name) .ForContext("RecordId", Nieprawidlowosc.Id) .ForContext("MainRecordId", Nieprawidlowosc.KontrolaId) .ForContext("Old", JsonSerializer.Serialize(old)) .ForContext("New", JsonSerializer.Serialize(Nieprawidlowosc)) .Warning("Zapisanie edycji nieprawidłowości."); return(RedirectToPage("./Edit", new { id = Nieprawidlowosc.KontrolaId })); }
/// <summary> /// Przesyła usunięcie obiektu <see cref="Models.JednostkaKontrolowana"/> do aplikacji. /// </summary> /// <param name="id">Identyfikator jednostki kontrolowanej.</param> /// <returns>Przekierowanie do listy jednostek kontrolowanych.</returns> public async Task <IActionResult> OnPostAsync(int?id) { if (id == null) { return(NotFound()); } JednostkaKontrolowana = await _context.JednostkaKontrolowana.FindAsync(id); if (JednostkaKontrolowana != null) { _context.JednostkaKontrolowana.Remove(JednostkaKontrolowana); await _context.SaveChangesAsync(); Log .ForContext("UserId", int.Parse(User.Claims.FirstOrDefault(u => u.Type.EndsWith("nameidentifier")).Value)) .ForContext("Table", JednostkaKontrolowana.GetType().Name) .ForContext("RecordId", JednostkaKontrolowana.Id) .Warning("Usunięcie jednostki kontrolowanej {Nazwa}.", JednostkaKontrolowana.Nazwa); } return(RedirectToPage("./Index")); }
/// <summary> /// Przesyła model danych <see cref="Models.Uzytkownik"/> do zaktualizowania w aplikacji. /// </summary> /// <returns>Przekierowanie do listy użytkowników.</returns> public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { ViewData["JednostkaId"] = new SelectList(_context.JednostkaKontrolowana, "Id", "Nazwa"); ViewData["KomorkaId"] = new SelectList(_context.Komorka.OrderBy(k => k.Nazwa), "Id", "Nazwa"); ViewData["PoziomUzytkownikaId"] = new SelectList(_context.SlownikPoziomUzytkownika, "Id", "Nazwa"); return(Page()); } _context.Attach(Uzytkownik).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!UzytkownikExists(Uzytkownik.Id)) { return(NotFound()); } else { throw; } } Log .ForContext("UserId", int.Parse(User.Claims.FirstOrDefault(u => u.Type.EndsWith("nameidentifier")).Value)) .ForContext("Table", Uzytkownik.GetType().Name) .ForContext("RecordId", Uzytkownik.Id) .Warning("Zapisanie edycji użytkownika {Login}.", Uzytkownik.Login); return(RedirectToPage("./Index")); }
/// <summary> /// Przesyła model danych <see cref="Models.JednostkaKontrolowana"/> do zaktualizowania w aplikacji. /// </summary> /// <returns>Przekierowanie do listy jednostek kontrolowanych.</returns> public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { ViewData["ProcesId"] = new SelectList(_context.SlownikProces, "Id", "Nazwa"); ViewData["KomorkaMerytorycznaId"] = new SelectList(_context.Komorka, "Id", "Nazwa"); return(Page()); } _context.Attach(JednostkaKontrolowana).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!JednostkaKontrolowanaExists(JednostkaKontrolowana.Id)) { return(NotFound()); } else { throw; } } Log .ForContext("UserId", int.Parse(User.Claims.FirstOrDefault(u => u.Type.EndsWith("nameidentifier")).Value)) .ForContext("Table", JednostkaKontrolowana.GetType().Name) .ForContext("RecordId", JednostkaKontrolowana.Id) .Warning("Zapisanie edycji jednostki kontrolowanej {Nazwa}.", JednostkaKontrolowana.Nazwa); return(RedirectToPage("./Index")); }
// To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see https://aka.ms/RazorPagesCRUD. /// <summary> /// Przesyła model danych <see cref="Models.Kontrola"/> do aplikacji. /// </summary> /// <returns>Przekierowanie do strony dodawania załączników kontroli.</returns> public async Task <IActionResult> OnPostAsync() { if (Kontrola.TypKontroliId == 0) { ModelState.AddModelError(string.Empty, "Wybierz typ kontroli."); } if (Kontrola.TypKontroliId == 2 & Kontrola.JednostkaKontrolowanaId == 0) { ModelState.AddModelError(string.Empty, "Wybierz jednostkę kontrolowaną."); } if (Kontrola.TypKontroliId == 1 & Kontrola.KomorkaWiodacaId == 0) { ModelState.AddModelError(string.Empty, "Wybierz komórkę wiodącą."); } if (Kontrola.JednostkaKontrolujacaId == 0) { ModelState.AddModelError(string.Empty, "Wybierz jednostkę kontrolującą."); } if (Kontrola.KomorkiUczestniczace.Count > 0) { if (Kontrola.KomorkiUczestniczace.Any(k => k.KomorkaId == 0)) { ModelState.AddModelError(string.Empty, "Wybierz komórkę uczestniczącą."); } } if (Kontrola.DataRozpoczecia > Kontrola.DataZakonczenia) { ModelState.AddModelError(string.Empty, "Data zakończenia musi być po dacie rozpoczęcia."); } if (Kontrola.OkresOd > Kontrola.OkresDo) { ModelState.AddModelError(string.Empty, "Data 'okres kontroli - koniec' musi być po dacie 'okres kontroli - start'."); } if (Kontrola.StatusId == 0) { ModelState.AddModelError(string.Empty, "Wybierz status kontroli."); } ModelStateEntry procesy = null; bool procesyWybrane = false; if (Kontrola.TypKontroliId == 1) { if (ModelState.TryGetValue("Kontrola.Procesy", out procesy)) { if (!string.IsNullOrEmpty(procesy.AttemptedValue)) { procesyWybrane = true; } else { ModelState.AddModelError("Kontrola.Procesy", "Wybierz co najmniej jeden proces z listy."); } } } if (!ModelState.IsValid) { if (User.Claims.FirstOrDefault(u => u.Type.EndsWith("role")).Value == "2") { ViewData["JednostkaKontrolowanaId"] = new SelectList(PrepareJednostki(_context.JednostkaKontrolowana), "Id", "Nazwa"); ViewData["KomorkaWiodacaId"] = new SelectList(_context.Komorka.OrderBy(k => k.Nazwa), "Id", "Nazwa").Prepend(new SelectListItem("Wybierz", "0")); } else { var komorka = _context.Komorka.AsEnumerable().Where(u => u.Id == int.Parse(User.Claims.FirstOrDefault(u => u.Type.EndsWith("komorka")).Value)); ViewData["JednostkaKontrolowanaId"] = new SelectList(_context.JednostkaKontrolowana.Where(j => j.Symbol == komorka.FirstOrDefault().Symbol), "Id", "Nazwa"); ViewData["KomorkaWiodacaId"] = new SelectList(komorka, "Id", "Nazwa"); } ViewData["JednostkaKontrolujacaId"] = new SelectList(_context.JednostkaKontrolujaca.OrderBy(j => j.Nazwa), "Id", "Nazwa").Prepend(new SelectListItem("Wybierz", "0")); ViewData["TypKontroliId"] = new SelectList(_context.SlownikTypKontroli.OrderBy(t => t.Nazwa), "Id", "Nazwa").Prepend(new SelectListItem("Wybierz", "0")); ViewData["StatusId"] = new SelectList(_context.SlownikStatusKontroli.Where(s => s.Id == 17 || s.Id == 40), "Id", "Nazwa").Prepend(new SelectListItem("Wybierz", "0")); ViewData["ProcesId"] = new SelectList(_context.SlownikProces, "Id", "Nazwa"); return(Page()); } if (Kontrola.JednostkaKontrolowanaId.HasValue) { var jednostkaKontrolowanaSymbol = _context.JednostkaKontrolowana.Find(Kontrola.JednostkaKontrolowanaId).Symbol; Kontrola.KomorkaWiodacaId = _context.Komorka.FirstOrDefault(k => k.Symbol == jednostkaKontrolowanaSymbol).Id; } else { Kontrola.JednostkaKontrolowanaId = 1; } Kontrola.DataWpisu = DateTime.Now; var ostatniaKontrola = _context.Kontrola.AsEnumerable().LastOrDefault(k => k.DataWpisu.Year == DateTime.Now.Year); Kontrola.Lp = ostatniaKontrola?.Lp + 1 ?? 1; Kontrola.Rok = Kontrola.DataWpisu.Year; _context.Kontrola.Add(Kontrola); try { await _context.SaveChangesAsync(); } catch (DbException ex) { return(BadRequest(ex)); } Log .ForContext("UserId", int.Parse(User.Claims.FirstOrDefault(u => u.Type.EndsWith("nameidentifier")).Value)) .ForContext("Table", Kontrola.GetType().Name) .ForContext("RecordId", Kontrola.Id) .Warning("Dodanie kontroli {Numer}.", Kontrola.Numer); if (procesyWybrane) { if (procesy.RawValue.ToString().Length > 1) { foreach (var proces in (string[])procesy.RawValue) { Kontrola.Procesy.Add(new KontrolaProcesy() { KontrolaId = Kontrola.Id, ProcesId = int.Parse(proces) }); } } else { Kontrola.Procesy.Add(new KontrolaProcesy() { KontrolaId = Kontrola.Id, ProcesId = int.Parse(procesy.RawValue.ToString()) }); } } else { var procesId = _context.Komorka.FirstOrDefault(k => k.Symbol == Kontrola.JednostkaKontrolowana.Symbol)?.ProcesId ?? Kontrola.JednostkaKontrolowana.ProcesId; Kontrola.Procesy.Add(new KontrolaProcesy() { KontrolaId = Kontrola.Id, ProcesId = procesId }); } try { await _context.SaveChangesAsync(); } catch (DbException ex) { return(BadRequest(ex)); } if (Kontrola.StatusId == 17) { return(RedirectToPage("./Details", new { id = Kontrola.Id })); } else if (Kontrola.StatusId == 40) { return(RedirectToPage("./Zalaczniki", new { id = Kontrola.Id, edit = false })); } else { return(RedirectToPage("./Nieprawidlowosci", new { id = Kontrola.Id })); } }
/// <summary> /// Przesyła model danych <see cref="Models.Kontrola"/> do zaktualizowania w aplikacji. /// </summary> /// <returns>Przekierowanie do szczegółów kontroli.</returns> public async Task <IActionResult> OnPostAsync() { var old = _context.Kontrola.Include(k => k.Nieprawidlowosci).AsNoTracking().FirstOrDefault(k => k.Id == Kontrola.Id); if (Kontrola.StatusId == 43 && old.Nieprawidlowosci.Count == 0) { ModelState.AddModelError(string.Empty, "Zanim zmienisz status kontroli na Działania naprawcze dodaj najpierw nieprawidłowości/zalecenia."); } if (!ModelState.IsValid) { Kontrola = await _context.Kontrola .Include(k => k.JednostkaKontrolowana) .Include(k => k.JednostkaKontrolujaca) .Include(k => k.KomorkaWiodaca) .Include(k => k.KomorkiUczestniczace).ThenInclude(k => k.Komorka) .Include(k => k.Nieprawidlowosci) .Include(k => k.Status) .Include(k => k.TypKontroli) .Include(k => k.Zalaczniki) .Include(k => k.Procesy).ThenInclude(k => k.Proces) .FirstOrDefaultAsync(m => m.Id == Kontrola.Id); if (Kontrola.StatusId == 17 || Kontrola.StatusId == 43) { ViewData["StatusId"] = new SelectList(_context.SlownikStatusKontroli.Where(s => s.Id == 17 || s.Id == 40 || s.Id == 43), "Id", "Nazwa"); } else { ViewData["StatusId"] = new SelectList(_context.SlownikStatusKontroli.Where(s => s.Id == 40 || s.Id == 42 || s.Id == 43), "Id", "Nazwa"); } return(Page()); } _context.Attach(Kontrola).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!KontrolaExists(Kontrola.Id)) { return(NotFound()); } else { throw; } } Log .ForContext("UserId", int.Parse(User.Claims.FirstOrDefault(u => u.Type.EndsWith("nameidentifier")).Value)) .ForContext("Table", Kontrola.GetType().Name) .ForContext("RecordId", Kontrola.Id) .ForContext("MainRecordId", Kontrola.Id) .ForContext("Old", JsonSerializer.Serialize(old)) .ForContext("New", JsonSerializer.Serialize(Kontrola)) .Warning("Zapisanie edycji kontroli {Numer}.", Kontrola.Numer); return(RedirectToPage("./Details", new { id = Kontrola.Id })); }