public ActionResult Create(UkolVedeni collection, bool poslatMail, string produktyInput) { ViewBag.FirstCreate = false; try { if (ModelState.IsValid) { var uvDao = new UkolVedeniDao(); collection.DateStart = DateTime.Now; collection.DateLastChanged = DateTime.Now; collection.DateFinish = null; //teď fakt úkol vedení není vytvořen collection.DateDeadline = null; //nezadáváme collection.Status = StatusUkolu.Open; //když vytváříme - úkol vedení je standartně otevřený collection.LessonLearned = false; //zatim jsme se z toho asi fakt neponaučili var latest = uvDao.GetLatestLopThisYear(); collection.Action = latest?.Action + 1 ?? 1; collection.Deleted = false; collection.Id = (int)uvDao.Create(collection); TempData[MessagesHelper.Success] = "úkol vedení přidaný"; if (produktyInput != "") { try { var ukolMaterialDao = new UkolVedeniMaterialDao(); foreach ( var ukolProdukt in produktyInput.Split(';') .Where(item => item != "") .Select(item => new UkolVedeniMaterial() { Ukol = collection, Produkt = new MaterialDao().GetById(Convert.ToInt32(item)), DateAdded = DateTime.Now })) { ukolMaterialDao.Create(ukolProdukt); } } catch { TempData[MessagesHelper.Danger] = "Nepodařilo se připojení produktů k úkolu vedení"; } } new UkolVedeniMaterialDao().ClearWrongHistoryAfterCreate(); //po vytvoření je třeba vymazat řádky v historii matroše //posíláme vždy //if (!poslatMail) return RedirectToAction("Detail", new {id = collection.Id}); var s = "Byl Vám přidělen nový úkol vedení " + "<a href='/UkolVedeni/Detail/" + collection.Id + "'>" + collection.Nazev + "</a>"; Notifikace.Create(collection.Resitel.Id, s); return(RedirectToAction("Detail", new { id = collection.Id })); } else { TempData[MessagesHelper.Warning] = "Zkontrolujte zadané údaje"; return(View(collection)); } } catch { TempData[MessagesHelper.Danger] = "Došlo k neočekávané chybě"; } return(View(collection)); }