public ActionResult FinishUkol(int id, bool finished, string komentar) { try { var ukolDao = new UkolVedeniDao(); var ukol = ukolDao.GetById(id); ukol.DateLastChanged = DateTime.Now; //něco se děje if (finished) { /* * //uložení historie * var histDao = new UkolVedeniHistoryDao(); * var copy = new UkolVedeniHistory(ukol); * histDao.Create(copy); */ Uzivatel u = new UzivatelDao().GetByWindowsId(User.Identity.Name.ToUpper()); bool isZadavatel = u.Id == ukol.Zadavatel.Id; if (isZadavatel && ukol.Status == StatusUkolu.Closed) { ukol.DateCheck = DateTime.Now; //proběhla kontrola (ať už jakákoliv) ukol.DateFinish = DateTime.Now; //v pořádku } else { ukol.DateDeadline = DateTime.Now; } ukol.Status = StatusUkolu.Closed; //řešitel pouze uzavírá na close if (!string.IsNullOrEmpty(komentar)) { var koment = komentar + "<br />"; koment += $"<span class=\"glyphicon glyphicon-time\"></span><i>{DateTime.Now} - by {new Uzivatel(User.Identity.Name)}</i>"; ukol.Komentar = (!string.IsNullOrEmpty(ukol.Komentar) ? ukol.Komentar + "<hr />" + koment : koment); } //update objektu ukolDao.Update(ukol); if (isZadavatel) { string s = "Bylo přijaté řešení úkolu vedení " + "<a href='/UkolVedeni/Detail/" + ukol.Id + "?showHistory=true#historyBtn'>" + ukol.Nazev + "</a>"; Notifikace.Create(ukol.Resitel.Id, s); } else { string s = "Úkol vedení byl označen jako vyřešený " + "<a href='/UkolVedeni/Detail/" + ukol.Id + "'>" + ukol.Nazev + "</a>"; Notifikace.Create(ukol.Zadavatel.Id, s); } TempData[MessagesHelper.Success] = "Úkol byl vyřešen"; //return RedirectToAction("Detail/" + id); } else { // uložení historie var histDao = new UkolVedeniHistoryDao(); var copy = new UkolVedeniHistory(ukol); histDao.Create(copy); //pokud chceme označit jako nevyřešený ukol.DateCheck = DateTime.Now; //proběhla kontrola (ať už jakákoliv) ukol.DateDeadline = null; ukol.DateFinish = null; //nepřijato ukol.Status = StatusUkolu.Open; //úkol musí být dále zpracováván if (!string.IsNullOrEmpty(komentar)) { var koment = komentar + "<br />"; koment += $"<span class=\"glyphicon glyphicon-time\"></span><i>{DateTime.Now} - by {new Uzivatel(User.Identity.Name)}</i>"; ukol.Komentar = (!string.IsNullOrEmpty(ukol.Komentar) ? ukol.Komentar + "<hr />" + koment : koment); } ukolDao.Update(ukol); //update objektu string s = "Bylo odmítnuto řešení úkolu vedení " + "<a href='/UkolVedeni/Detail/" + ukol.Id + "?showHistory=true#historyBtn'>" + ukol.Nazev + "</a>"; Notifikace.Create(ukol.Resitel.Id, s); TempData[MessagesHelper.Warning] = "Úkol je znovu v řešení"; //return RedirectToAction("Detail/" + id); } } catch { TempData[MessagesHelper.Warning] = "Nepodařilo se upravit záznam"; } return(RedirectToAction("Detail/" + id)); }
public UkolVedeniHistoryVsUkolVedeni(UkolVedeniHistory uh, UkolVedeni u) { this.LH = uh; this.L = u; }