public ActionResult EditTask(ManageTaskViewModel model) { var dbModel = new Tasks { Title = model.Title, Description = model.Description, StartDate = model.StartDate.Add(model.StartTime), EndDate = model.EndDate.Add(model.EndTime), Example = model.Example, Input = model.Input, Id = model.TaskId, InputDataTypeId = model.InputDataId, Output = model.Output, MaxExecuteMemory = model.MaxExecutedMemory, MaxExecuteTime = model.MaxExecutedTime }; if (model.PDF != null) { byte[] newPDF = new byte[model.PDF.ContentLength]; model.PDF.InputStream.Read(newPDF, 0, model.PDF.ContentLength); dbModel.PDF = newPDF; } bool result = _tournamentManager.EditTask(dbModel); if (result) TempData["Alert"] = SetAlert.Set("Poprawnie edytowano: " + dbModel.Title, "Sukces", AlertType.Success); else TempData["Alert"] = SetAlert.Set("Wystąpił błąd. Spróbuj ponownie później!", "Błąd", AlertType.Danger); return RedirectToAction("Index"); }
public async Task<ActionResult> AddTournament(AddTournamentViewModel viewModel) { if (ModelState.IsValid) { int[] taskCountPerPhase = new int[viewModel.Phases.Count]; for (int i = 0; i < taskCountPerPhase.Length; i++) taskCountPerPhase[i] = viewModel.TaskContainer[i].Tasks.Count; DAL.Tables.Tournament tour = new DAL.Tables.Tournament { Title = viewModel.Tournament.Title, Description = viewModel.Tournament.Description, StartDate = viewModel.Tournament.StartDate.Add(viewModel.Tournament.StartTime), EndDate = viewModel.Tournament.EndDate.Add(viewModel.Tournament.EndTime), MaxUsers = viewModel.Tournament.MaxUsers }; List<Phase> phases = new List<Phase>(); viewModel.Phases.ForEach(x => { phases.Add(new Phase { MaxUsers = x.MaxUsers, Name = x.Name, Order = x.Order, MaxTasks = x.TaskCount }); }); List<Tasks> tasks = new List<Tasks>(); viewModel.TaskContainer.ForEach(x => { x.Tasks.ForEach(y => { var task = new Tasks { Title = y.Title, Order = y.Order, Description = y.Description, EndDate = y.EndDate.Add(y.EndTime), StartDate = y.StartDate.Add(y.StartTime), Input = y.Input, Output = y.Output, Example = y.Example, MaxExecuteMemory = y.MaxExecutedMemory, MaxExecuteTime = y.MaxExecutedTime, InputDataTypeId = y.InputDataId }; if (y.PDF != null) { byte[] pdf = new byte[y.PDF.ContentLength]; y.PDF.InputStream.Read(pdf, 0, y.PDF.ContentLength); task.PDF = pdf; } tasks.Add(task); }); }); bool result = await _tournamentManager.AddTournamnetAsync(tour, phases, tasks, taskCountPerPhase); if (result) { TempData["Alert"] = SetAlert.Set("Poprawnie dodano turniej! Teraz skonfiguruj dane testowe do poszczególnych zadań, by móc poprawnie aktywować turniej.", "Sukces", AlertType.Info); return RedirectToAction("Index"); } else { TempData["Alert"] = SetAlert.Set("Wystąpił błąd z bazą danych. Spróbuj ponownie później.", "Błąd", AlertType.Danger); return View(viewModel); } } else { TempData["Alert"] = SetAlert.Set("Wystąpił błąd, proszę sprawdź wszystkie kroki.", "Błąd!", AlertType.Danger); return View(viewModel); } }
public bool EditTask(Tasks model) { bool result = _tournamentRepository.EditTask(model); return result; }
public bool EditTask(Tasks model) { try { var dbModel = _context.Tasks.Find(model.Id); dbModel.Title = model.Title; dbModel.Description = model.Description; dbModel.StartDate = model.StartDate; dbModel.EndDate = model.EndDate; dbModel.Input = model.Input; dbModel.Output = model.Output; dbModel.MaxExecuteMemory = model.MaxExecuteMemory; dbModel.MaxExecuteTime = model.MaxExecuteTime; dbModel.Example = model.Example; dbModel.InputDataTypeId = model.InputDataTypeId; if (model.PDF != null) dbModel.PDF = model.PDF; _context.SaveChanges(); return true; } catch { return false; } }