public async Task <IActionResult> Edit([FromForm] EditEntryModel model) { var r = new AddEntryResultModel(); r.Problems = model.Validate(); r.Name = model.Name; r.Url = Url.Action("Entry", "Home", new { name = model.Name }); if (r.Problems.Count == 0) { try { var user = await this.GetCurrentUserAsync(); var e = _repo.GetEntryById(model.Id); e.Name = model.Name; e.Meanings = model.Meanings; e.EnglishMeanings = model.EnglishMeanings; e.SeeAlso = model.SeeAlso; e.Examples = model.Examples; e.TimeAdded = DateTimeOffset.UtcNow; e.ApprovedBy = user.UserName; _repo.UpdateEntry(e); } catch (System.Exception ex) { _logger.LogError(ex.ToString()); r.Problems.Add("Baza danych się popsuła"); } } return(Json(r)); }
public async Task <IActionResult> Approve(string id) { var r = new AddEntryResultModel(); try { Entry entry = _repo.GetEntryById(id); if (entry != null) { var user = await this.GetCurrentUserAsync(); entry.ApprovedBy = user.UserName; _repo.UpdateEntry(entry); } else { r.Problems.Add("Nie ma takiego hasła"); } } catch (System.Exception ex) { _logger.LogError(ex.ToString()); r.Problems.Add("Błąd bazy danych"); } return(Json(r)); }
public async Task <IActionResult> Add([FromForm] AddEntryModel model) { var r = new AddEntryResultModel(); r.Problems = model.Validate(); r.Name = model.Name; r.Url = Url.Action("Entry", "Home", new { name = model.Name }); if (r.Problems.Count == 0) { try { var e = new Entry(); e.Name = model.Name; e.Meanings = model.Meanings; e.EnglishMeanings = model.EnglishMeanings; e.SeeAlso = model.SeeAlso; e.Examples = model.Examples; e.TimeAdded = DateTimeOffset.UtcNow; e.FromInternet = true; e.IPAddress = null; // TODO: Clean up this hack r.Problems = _auditor .PerformEntryAudit(e) .Where(txt => !txt.Contains("link")) .ToList(); if (r.Problems.Count == 0) { var user = await this.GetCurrentUserAsync(); e.ApprovedBy = user?.UserName; _repo.AddEntry(e); } } catch (System.Exception) { r.Problems.Add("Baza danych się popsuła"); } } return(Json(r)); }
public IActionResult Audit(string id) { var r = new AddEntryResultModel(); r.Name = id; try { r.Problems = _auditor.PerformEntryAudit(id); } catch (System.Exception ex) { _logger.LogError(ex.ToString()); r.Problems.Add("Baza danych się popsuła"); } return(Json(r)); }
public async Task <IActionResult> Restore(string id) { var r = new AddEntryResultModel(); try { var user = await this.GetCurrentUserAsync(); _repo.RestoreEntry(id, user.UserName); } catch (System.Exception ex) { _logger.LogError(ex.ToString()); r.Problems.Add("Błąd bazy danych"); } return(Json(r)); }