public IActionResult Edit(EditMeetingViewModel vm) { var presenter = _presenterFactory.Edit(MessageHandler, ErrorHandler); if (!ModelState.IsValid) { return(View(presenter.Present(vm))); } var request = vm.ToRequest(CurrentUserId); try { var uc = _useCaseFactory.Edit; var response = uc.Execute(request); return(RedirectToAction(nameof(Index), new { id = presenter.Present(response) })); } catch (InvalidRequestException ire) { presenter.PresentErrors(ire.Message, ire.Errors); return(View(presenter.Present(vm))); } catch (Exception e) { presenter.PresentMessage(MessageType.Error, e.Message); return(View(presenter.Present(vm))); } }
public IActionResult Edit(EditMeetingViewModel vm, [FromServices] IWebHostEnvironment env) { if (ModelState.IsValid) { string fileName = null; if (vm.Photo != null && vm.Photo.Length > 0) { fileName = vm.Photo.GenerateFileName(); var savePath = Path.Combine(env.WebRootPath, "img", fileName); using FileStream fs = new FileStream(savePath, FileMode.Create); vm.Photo.CopyTo(fs); } var meeting = _db.Meetings.Find(vm.Id); meeting.MeetingTime = vm.MeetingTime; meeting.Description = vm.Description; meeting.Place = vm.Place; meeting.Title = vm.Title; if (!string.IsNullOrEmpty(fileName)) { // mevcut resim varsa sil helperService.DeletePhoto(meeting.PhotoPath); meeting.PhotoPath = fileName; } _db.SaveChanges(); return(RedirectToAction("Index")); } return(View()); }
public ActionResult EditMeeting(string meetingIdentificator) { var meeting = _context.meetingRepository.GetMeetingById(meetingIdentificator); EditMeetingViewModel meetingViewModel = _mapper.Map <EditMeetingViewModel>(meeting); meetingViewModel.AvailableInstructors = _context.userRepository.GetInstructorsAsSelectList().ToList(); return(View(meetingViewModel)); }
public static EditMeetingRequest ToRequest(this EditMeetingViewModel vm, string userId) { return(new EditMeetingRequest(userId) { Id = Identity.FromString(vm.Id), Name = vm.Name, Description = vm.Description, InvolvedPersons = vm.SelectedPersonIds.Select(Identity.FromString), Time = DateTime.ParseExact(vm.Time, "yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture), Duration = DateTime.ParseExact(vm.Duration, "HH:mm", CultureInfo.InvariantCulture).TimeOfDay, Log = vm.Log, Documents = vm.SelectedDocumentIds.Select(Identity.FromString), }); }
public ActionResult EditMeeting(EditMeetingViewModel editedMeeting) { if (ModelState.IsValid) { var originMeeting = _context.meetingRepository.GetMeetingById(editedMeeting.MeetingIdentificator); var originMeetingInstructors = originMeeting.Instructors; originMeeting = _mapper.Map <EditMeetingViewModel, Meeting>(editedMeeting, originMeeting); _context.meetingRepository.UpdateMeeting(originMeeting); var course = _context.courseRepository.GetCourseByMeetingId(originMeeting.MeetingIdentificator); #region EntityLogs var logInfoUpdateMeeting = _logger.GenerateLogInformation(this.User.Identity.Name, this.ControllerContext.RouteData.Values["action"].ToString(), LogTypeOfAction.TypesOfActions[1], LogDescriptions.DescriptionOfActionOnEntity["updateMeeting"]); _logger.AddMeetingLog(originMeeting, logInfoUpdateMeeting); #endregion #region PersonalUserLogs var logInfoPersonalUpdateMeeting = _context.personalLogRepository.GeneratePersonalLogInformation(this.User.Identity.Name, this.ControllerContext.RouteData.Values["action"].ToString(), LogDescriptions.DescriptionOfPersonalUserLog["updateMeeting"], "Indekser: " + originMeeting.MeetingIndexer); _context.personalLogRepository.AddPersonalUserLogToAdminGroup(logInfoPersonalUpdateMeeting); var logInfoPersonalUpdateMeetingInformationToUsers = _context.personalLogRepository.GeneratePersonalLogInformation(this.User.Identity.Name, this.ControllerContext.RouteData.Values["action"].ToString(), LogDescriptions.DescriptionOfPersonalUserLog["updateUserMeeting"], "Indekser: " + originMeeting.MeetingIndexer); _context.personalLogRepository.AddPersonalUsersLogs(course.EnrolledUsers, logInfoPersonalUpdateMeetingInformationToUsers); _context.personalLogRepository.AddPersonalUsersLogs(originMeeting.Instructors, logInfoPersonalUpdateMeetingInformationToUsers); var addedInstructors = originMeeting.Instructors.Except(originMeetingInstructors).ToList(); var removedInstructors = originMeetingInstructors.Except(originMeeting.Instructors).ToList(); var logInfoPersonalAddInstructorsToMeeting = _context.personalLogRepository.GeneratePersonalLogInformation(this.User.Identity.Name, this.ControllerContext.RouteData.Values["action"].ToString(), LogDescriptions.DescriptionOfPersonalUserLog["addInstructorToMeeting"], "Indekser: " + originMeeting.MeetingIndexer); _context.personalLogRepository.AddPersonalUsersLogs(addedInstructors, logInfoPersonalAddInstructorsToMeeting); var logInfoPersonalRemoveInstructorsFromMeeting = _context.personalLogRepository.GeneratePersonalLogInformation(this.User.Identity.Name, this.ControllerContext.RouteData.Values["action"].ToString(), LogDescriptions.DescriptionOfPersonalUserLog["removeInstructorFromMeeting"], "Indekser: " + originMeeting.MeetingIndexer); _context.personalLogRepository.AddPersonalUsersLogs(removedInstructors, logInfoPersonalRemoveInstructorsFromMeeting); #endregion return(RedirectToAction("ConfirmationOfActionOnMeeting", "Meetings", new { meetingIdentificator = editedMeeting.MeetingIdentificator, TypeOfAction = "Update" })); } return(View(editedMeeting)); }
public IActionResult Edit(int id) { var meeting = _db.Meetings.Find(id); if (meeting == null) { return(NotFound()); } var vm = new EditMeetingViewModel() { Id = meeting.Id, Description = meeting.Description, Title = meeting.Title, MeetingTime = meeting.MeetingTime, ExistingPhotoPath = meeting.Photo, Place = meeting.Place }; return(View(vm)); }
public EditMeetingViewModel Present(EditMeetingViewModel vm) { vm.Persons = Persons(); vm.Documents = Documents(Identity.FromString(vm.Project.Id)); return(vm); }