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)));
            }
        }
Exemple #2
0
        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));
        }
Exemple #7
0
 public EditMeetingViewModel Present(EditMeetingViewModel vm)
 {
     vm.Persons   = Persons();
     vm.Documents = Documents(Identity.FromString(vm.Project.Id));
     return(vm);
 }