/// <summary> /// Edit a course with the given id /// </summary> /// <param name="id"> /// integer representing the Course ID /// example: 1 /// </param> /// <param name="model"> /// An EditCourseViewModel with the SSN of the student /// example: { /// "CourseID": 1 /// "Name": "T-111-PROG" /// "StartDate": "230416" /// "EndDate": "230416" /// } /// </param> /// <returns> /// bool /// </returns> public bool EditCourseByID(int id, EditCourseViewModel model) { var courseResult = ( from course in _db.Courses where course.ID == id select course ).SingleOrDefault(); if (courseResult == null) { return(false); } var courseTemplateResult = ( from courseTemplate in _db.CoursesTemplates where courseTemplate.ID == courseResult.TemplateID select courseTemplate ).SingleOrDefault(); courseResult.StartDate = model.StartDate; courseResult.EndDate = model.EndDate; _db.SaveChanges(); return(true); }
public ActionResult AddCourse(int?courseId, bool?confirmation) { Course course; if (courseId.HasValue) { ViewBag.EditMode = true; course = db.Courses.Find(courseId); } else { ViewBag.EditMode = false; course = new Course(); } //BUGGED var result = new EditCourseViewModel(); result.Category = db.Categories.ToList(); result.Course = course; result.Confirmation = confirmation; return(View(result)); }
public async Task <IActionResult> EditCourse(EditCourseViewModel inputModel) { if (!this.ModelState.IsValid) { return(this.View(inputModel)); } var imageUri = string.Empty; if (inputModel.Thumbnail != null) { imageUri = this.coursesService.UploadImageToCloudinary(inputModel.Thumbnail.OpenReadStream()); } var userId = this.userManager.GetUserId(this.User); await this.coursesService.EditCourse(inputModel.Id, inputModel.Name, inputModel.CategoryName, inputModel.Difficulty, imageUri, inputModel.Description, userId); var viewModel = new CourseIdViewModel { CourseId = inputModel.Id, }; return(this.RedirectToAction("EditLessons", "Lessons", viewModel)); }
// [Authorize(Roles ="Teacher")] public async Task <IActionResult> Edit(int id, EditCourseViewModel viewModel) { if (id != viewModel.Id) { return(NotFound()); } if (ModelState.IsValid) { var course = mapper.Map <Course>(viewModel); try { _context.Update(course); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CourseExists(viewModel.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(viewModel)); }
//[ValidateAntiForgeryToken] public IActionResult Edit(EditCourseViewModel ecvm) { IActionResult result = null; // Are there errors if (!ModelState.IsValid) { result = View("Edit"); } else { try { Course crs = new Course() { Description = ecvm.Description, EstimatedDuration = ecvm.EstimatedDuration, Name = ecvm.Name, Id = ecvm.Id, CategoryId = ecvm.CategoryId }; _courseDAL.UpdateCourse(crs); result = RedirectToAction("Index", "Course", ""); } catch (Exception ex) { result = View(); } } return(result); }
public ActionResult EditCourse(int id, EditCourseViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var course = CourseServiceCaller.Get(id); if (!String.IsNullOrEmpty(model.CourseName)) { course.Name = model.CourseName; } if (!String.IsNullOrEmpty(model.CourseProfessor)) { course.Professor = model.CourseProfessor; } if (!String.IsNullOrEmpty(model.CourseHour.ToString())) { course.Hour = model.CourseHour ?? 0; } if (!model.CourseDay.Equals("Default")) { course.Day = GetWeekDayFromString(model.CourseDay); } try { CourseServiceCaller.Update(course); return(RedirectToAction("Index", "Course")); } catch (Exception ex) { return(View(ex.Message)); } }
private async Task UpdateOrder(EditCourseViewModel course) { if (!String.IsNullOrEmpty(course.UnitsPagesOrder)) { var orderedUnits = JsonConvert.DeserializeObject <List <OrderedUnit> >(course.UnitsPagesOrder); var units = (await _context.Units.Include(c => c.Pages).Where(c => c.CourseId == course.Id).ToListAsync()); // iterate over units order for (int i = 0; i < orderedUnits.Count; i++) { // set order of unit: find it and assign the new var orderedUnit = orderedUnits[i]; var u = units.FirstOrDefault(u => u.Id == orderedUnit.id); if (u == null) { throw new Exception("Someone tried to reorder unit that doesn't exist any more!"); } u.InCourseOrder = i; _context.Update(u); // update unit // set order of pages in unit for (int j = 0; j < orderedUnit.Values.Count; j++) { var p = u.Pages.FirstOrDefault(p => p.Id == orderedUnit.Values[j]); if (p == null) { throw new Exception("Someone tried to reorder page that doesn't exist."); } p.InUnitOrder = j; // set order _context.Update(p); // update } } } }
public ActionResult AddCourse(int?kursId, bool?confirm) { Course kurs; if (kursId.HasValue) { ViewBag.EditMode = true; kurs = db.Course.Find(kursId); } else { ViewBag.EditMode = false; kurs = new Course(); } var result = new EditCourseViewModel { Cat = db.Category.ToList(), Course = kurs }; // result.confirm = confirm; return(View(result)); }
// GET: Course/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Course course = db.Courses.Find(id); if (course == null) { return(HttpNotFound()); } EditCourseViewModel model = new EditCourseViewModel { CourseID = course.CourseID, Title = course.Title, Credits = course.Credits, DepartmentID = course.DepartmentID }; PopulateDepartmentsDropDownList(model.DepartmentID); return(View(model)); }
public IActionResult EditCourse(int courseId) { EditCourseViewModel editCourseView = new EditCourseViewModel(); editCourseView.Course = context.Courses.FirstOrDefault(c => c.CourseId == courseId); return(View(editCourseView)); }
public ActionResult Edit(EditCourseViewModel model) { try { if (ModelState.IsValid) { Course course = db.Courses.Find(model.CourseID); if (course == null) { return(HttpNotFound()); } course.Title = model.Title; course.Credits = model.Credits; course.DepartmentID = model.DepartmentID; db.Entry(course).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } } catch (RetryLimitExceededException /* dex */) { //Log the error (uncomment dex variable name and add a line here to write a log. ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists, see your system administrator."); } PopulateDepartmentsDropDownList(model.DepartmentID); return(View(model)); }
public async Task EditCourse(EditCourseViewModel model, GoUser user) { byte[] file = null; if (model.Image.Length > 0) { using (var ms = new MemoryStream()) { model.Image.CopyTo(ms); file = ms.ToArray(); } } var course = this.coursesRepository.All().FirstOrDefault(x => x.Id == model.Id); if (course != null && course.CreatorId == user.Id) { course.Image = file; course.Title = model.Title; course.Description = model.Description; course.StartDate = model.StartDate; course.MaxCountParticipants = model.MaxCountParticipants; course.DurationOfDays = model.DurationOfDays; course.CountOfHours = model.CountOfHours; course.Category = model.Category; course.Status = model.Status; await this.coursesRepository.SaveChangesAsync(); } }
public async Task <ActionResult> EditExistingGolfCoursePrivilege(EditCourseViewModel editCourseViewModel) { if (Session["Username"] == null) { return(Json(1)); } var userId = _sessionMapperService.MapUserIdFromSessionUsername(Session["Username"].ToString()); var courseOwnedByUser = await _golfCourseService.RequestCourseOwnedByUser(editCourseViewModel.CourseId, userId); if (courseOwnedByUser == null) { //That user does not own that course but we are not giving up, he may have a pending privilege. var privRequestOwnedByUser = await _privilegeRequestHandlerService.RequestUserOwnsPrivilegeRequest(editCourseViewModel.CourseId, userId); if (privRequestOwnedByUser == null) { //That user really does not own that course or request then.. return(Json(2)); } else { var privilegeRequestUpdatedResult = await _privilegeRequestHandlerService.RequestEditPrivilegeRequest(editCourseViewModel, privRequestOwnedByUser); return(Json(privilegeRequestUpdatedResult)); } } var golfCourseUpdatedResult = await _golfCourseService.RequestEditGolfCourseProperties(editCourseViewModel, courseOwnedByUser); return(Json(golfCourseUpdatedResult)); }
public async Task EditCourse_ShouldNotEditCourseIf_UserIsNotCreator() { var user = new GoUser { Id = "2" }; var coursesRepoBuilder = new CoursesRepositoryBuilder(); var courseRepo = coursesRepoBuilder .WithAll() .Build(); var sut = new CoursesService(null, courseRepo, null, Mapper); var editCourseViewModel = new EditCourseViewModel { Id = "2", Image = SetupFileMock().Object, Title = "Edit", Description = "Brr", MaxCountParticipants = 7, StartDate = DateTime.Now.AddDays(2), DurationOfDays = 5, Status = Status.Practically, Category = Category.Other }; await sut.EditCourse(editCourseViewModel, user); coursesRepoBuilder.CoursesRepoMock.Verify(d => d.SaveChangesAsync(), Times.Exactly(0)); }
public void Update(EditCourseViewModel viewModel) { var obj = GetById(viewModel.Id); obj.Name = viewModel.Name; obj.Parent = viewModel.Parent; obj.Parent_id = viewModel.Parent_id; obj.Unit = viewModel.Unit; }
public ActionResult EditCourse(int id) { if (id < 1) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } EditCourseViewModel viewModel = this.service.GetEditCourseViewModel(id); return(this.View(viewModel)); }
/// <summary> /// Edit a course with the given id /// </summary> /// <param name="id"> /// integer representing the Course ID /// example: 1 /// </param> /// <param name="model"> /// An EditCourseViewModel with the SSN of the student /// example: { /// "CourseID": 1 /// "Name": "T-111-PROG" /// "StartDate": "230416" /// "EndDate": "230416" /// } /// </param> /// <returns> /// IActionResult /// </returns> public IActionResult EditCourseByID(int id, [FromBody] EditCourseViewModel model) { bool edited = _service.EditCourseByID(id, model); if (edited) { return(new NoContentResult()); } return(NotFound()); }
public IActionResult Put([FromBody] EditCourseViewModel model, int id) { if (id < 0) { return(BadRequest("Unvalide ID")); } model.Id = id; _service.Edit(model); return(Ok(model)); }
public async Task <IActionResult> Edit(EditCourseViewModel viewModel, CancellationToken cancellationToken) { var course = await _courseRepository.GetById(viewModel.Id, cancellationToken); course.Update(viewModel.Name, viewModel.Description); await _courseRepository.Save(course, cancellationToken); return(View(viewModel)); }
public IActionResult EditCourse(int id) { Course course = DbContext.Courses.FirstOrDefault(c => c.CourseId == id); EditCourseViewModel model = new EditCourseViewModel { CourseName = course.CourseName, Id = id }; return(View(model)); }
public IActionResult Edit(EditCourseViewModel vm) { if (ModelState.IsValid) { vm.Course.Instructor = context.Read(vm.UserId); context.UpdateCourse(vm.Course.Id, vm.Course); return(RedirectToAction("Index")); } return(View(vm)); }
public ActionResult AddCourse(EditCourseViewModel model, HttpPostedFileBase file) { if (ModelState.IsValid) { var fileExt = ""; var fileName = ""; if (file != null && file.ContentLength > 0) { fileExt = Path.GetExtension(file.FileName); fileName = Guid.NewGuid() + fileExt; var path = Path.Combine(Server.MapPath(AppConfig.ImageFolder), fileName); file.SaveAs(path); //model.Course.FileOrPicturePhotoName = fileName; } if (model.Course.CourseId > 0) { var oldFileName = Path.Combine(Server.MapPath(AppConfig.ImageFolder), model.Course.FileOrPicturePhotoName); System.IO.File.Delete(oldFileName); model.Course.FileOrPicturePhotoName = fileName; db.Entry(model.Course).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("AddCourse", new { confirmation = true, msg = "Successfully modified!" })); } else { if (!String.IsNullOrEmpty(fileExt)) { model.Course.InsertDate = DateTime.Now; model.Course.FileOrPicturePhotoName = fileName; db.Entry(model.Course).State = EntityState.Added; db.SaveChanges(); return(RedirectToAction("AddCourse", new { confirmation = true, msg = "Successfully added!" })); } else { ModelState.AddModelError("", "No image choosen"); var categories = db.Categories.ToList(); model.Categories = categories; return(View(model)); } } } else { var categories = db.Categories.ToList(); model.Categories = categories; return(View(model)); } }
public void EditCourse(EditCourseViewModel model, int id) { var course = _db.Courses.SingleOrDefault(x => x.ID == id); if (course != null) { course.StartDate = model.StartDate; course.EndDate = model.EndDate; _db.SaveChanges(); } }
public async Task <IActionResult> Edit(EditCourseViewModel viewModel) { if (!this.ModelState.IsValid) { return(this.View(viewModel)); } await this.coursesService.EditCourseAsync(viewModel); return(this.RedirectToAction("Details", "Courses", new { id = viewModel.Id })); }
public async Task <ActionResult> EditCourseModal(int courseId) { var course = await _courseAppService.Get(new EntityDto <int>(courseId)); var model = new EditCourseViewModel() { Course = course, SelectStatusCode = course.Status, }; return(View("_EditCourseModal", model)); }
public async Task <IActionResult> Edit(EditCourseViewModel model) { if (!ModelState.IsValid) { return(this.View(model)); } var user = await userManager.GetUserAsync(HttpContext.User); await this.coursesService.EditCourse(model, user); return(Redirect($"/Courses/Details/{model.Id}")); }
public async Task <IActionResult> Edit(Guid id, EditCourseViewModel course) { if (ModelState.IsValid) { Course new_course = await _courseService.EditCourse(id, course); if (new_course != null) { return(RedirectToAction("Details", "Subjects", new { id = new_course.SubjectId })); } } return(View(course)); }
public ActionResult EditCourse([Bind(Include = "Id,Title,ShortDescription,Description")] EditCourseBindingModel model) { if (this.ModelState.IsValid) { this.service.EditCourse(model); return(this.RedirectToAction("Detailed", "Courses", new { area = "Courses", id = model.Id })); } EditCourseViewModel viewModel = this.service.GetEditCourseViewModel(model.Id); return(this.View(viewModel)); }
public ActionResult Edit([Bind(Include = "ID,Name,TeacherID")] EditCourseViewModel view) { if (ModelState.IsValid) { Course course = new Course(); course.ID = view.ID; course.Name = view.Name; course.TeacherID = User.Identity.GetUserId(); db.Entry(course).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(view)); }
public IActionResult EditCourse([FromBody] EditCourseViewModel toEdit, int id) { CourseDetailsDTO dto = _service.GetCourseByID(id); if (dto != null) { _service.EditCourse(toEdit, id); return(Ok()); } else { return(NotFound()); } }
public ActionResult EditCourse(int? id) { if (id == null ) { ViewBag.Error = "Inget id har angivits"; return View("~/Views/Error/Index.cshtml"); } var course = db.Courses.FirstOrDefault(c => c.Id == id); if (course == null) { ViewBag.Error = "Ingen kurs har hittats"; return View("~/Views/Error/Index.cshtml"); } EditCourseViewModel model = new EditCourseViewModel(); //Vi lägger info om kursen i en ViewModel-modell. model.Description = course.Description; model.Name = course.Name; model.StartDate = course.StartDate; model.EndDate = course.EndDate; ViewBag.id = course.Id; Menu(Home: true); SetBreadcrumbs( one: new MenyItem { Link = "~/Teacher/", Text = "Se alla kurser" }, two: new MenyItem { Link = "~/Teacher/Course/" + course.Id, Text = course.Name }); ViewBag.AtEarliest = DateTime.Today.AddDays(1); return View(model); }
public ActionResult EditCourse(EditCourseViewModel model, int? id) { ViewBag.AtEarliest = DateTime.Today.AddDays(1); Menu(Home: true); SetBreadcrumbs( one: new MenyItem { Link = "~/Teacher/", Text = "Se alla kurser" }, three: new MenyItem { Link = "~/Teacher/Course/" + id, Text = "Tillbaka till kurs" }); bool hasError = false; if (id == null) { ModelState.AddModelError("", "Finns inget id"); hasError = true; } var course = db.Courses.FirstOrDefault(c => c.Id == id); if (course == null) { ModelState.AddModelError("", "Finns kurs id"); hasError = true; } if (!ModelState.IsValid) //MVC kollar om modellen har några fel själv, t ex det som är required; att strängen har en viss längd m m. { hasError = true; } if (model.StartDate != null) { model.StartDate = new DateTime(model.StartDate.Year, model.StartDate.Month, model.StartDate.Day, 0, 0, 0); } if (model.EndDate != null) { model.EndDate = new DateTime(model.EndDate.Year, model.EndDate.Month, model.EndDate.Day, 23, 59, 0); } if (model.StartDate < DateTime.Today.AddDays(1)) //Vi kollar att den inte är mindre än morgondagen. D v s vi lägger till 1 till i dag, för att få morgondagen. Kollar att startdatumet ligger i framtiden. { ModelState.AddModelError("StartDate", "Kursen kan inte starta före morgondagens datum."); hasError = true; } if (model.EndDate < model.StartDate) { ModelState.AddModelError("EndDate", "Kursen kan inte sluta före kursens startdatum. "); hasError = true; //D v s nu har det inträffat ett Error. } if (hasError) { ViewBag.id = id != null ? (int)id : 0; //Parameter castas om till en int. //Om id inte är null, så skickar vi id som parametern ViewBag = id. Annars om id är null, så sätter vi ViewBag till 0 per default. return View(model); //Skickar tillbaka till samma vy, nu med alla felmeddelanden. } course.Description = model.Description; // Coursens Description sätts lika med modellens Description, för att modellen representerar det vi ändrat i kursen. course.Name = model.Name; course.StartDate = model.StartDate; course.EndDate = model.EndDate; db.Entry(course).State = EntityState.Modified; //Vi säger till databasen att vi uppdaterar/modifierar något. Ska göras så, enligt Entity Framework. db.SaveChanges(); return Redirect("~/Teacher/Course/" + course.Id); //Skickar vidare till kursens vy, för att se våra uppdateringar. }