Пример #1
0
        public async Task <IActionResult> Index(int id)
        {
            var appointment = await _appointmentsRepository.GetAppointmentById(id);

            var currentUser = _userManager.GetUserName(User);
            var isDoctor    = await _doctorsRepository.GetDoctorByName(currentUser) != null;

            if (appointment == null)
            {
                return(RedirectToAction("AccessDenied", "Account"));
            }

            if (appointment.Patient.Name != currentUser && appointment.Doctor.Name != currentUser)
            {
                return(RedirectToAction("AccessDenied", "Account"));
            }

            var edit = new EditAppointmentViewModel
            {
                Appointment = appointment,
                IsDoctor    = isDoctor
            };

            return(View(edit));
        }
        public ActionResult EditAppointment(EditAppointmentViewModel viewModel)
        {
            if (appointmentsService.IsValidModelState())
            {
                Appointment dbAppointment = appointmentsService.GetById(viewModel.AppointmentId);
                dbAppointment.StartDateTime = viewModel.StartDateTime;
                double summedMinutes = 0;
                dbAppointment.Activities.Clear();
                List <Activity> activities = activitiesService.GetAll(a => viewModel.CheckedRows.Contains(a.ActivityId)).ToList();
                foreach (Activity activity in activities)
                {
                    summedMinutes += activity.Duration;
                    dbAppointment.Activities.Add(activity);
                }

                DateTime startDateTime = viewModel.StartDateTime;
                dbAppointment.StartDateTime = startDateTime;
                TimeSpan summedDuration = TimeSpan.FromMinutes(summedMinutes);
                DateTime endDateTime    = startDateTime.Add(summedDuration);
                dbAppointment.EndDateTime = endDateTime;
                dbAppointment.UserId      = LoginUserSession.Current.UserId;
                bool hasSavedSuccessfully = appointmentsService.Edit(dbAppointment);
                if (hasSavedSuccessfully)
                {
                    TempData["SuccessfullMessage"] = "Appointment added successfully";
                    return(RedirectToAction("ViewAppointments", "Appointments"));
                }
                else
                {
                    TempData["ErrorMessage"] = "There was a server error while adding the appointment.";
                    return(RedirectToAction("Index", "Home"));
                }
            }
            return(View(viewModel));
        }
Пример #3
0
        public EditAppointmentPage(Appointment appointment)
        {
            var EditViewModel = new EditAppointmentViewModel();

            EditViewModel.TheSelectedAppointments = appointment;
            BindingContext = EditViewModel;
            InitializeComponent();
        }
        public IActionResult EditAvailable(EditAppointmentViewModel editAppointmentViewModel)
        {
            var currentAppointment = appointmentRepository.GetAppointment(editAppointmentViewModel.Id);

            currentAppointment.Date = editAppointmentViewModel.Date;
            appointmentRepository.Update(currentAppointment);
            return(RedirectToAction("Index"));
        }
        private EditAppointmentViewModel CreateViewModelFromAppointment(Appointment appointment)
        {
            EditAppointmentViewModel viewModel = new EditAppointmentViewModel();

            viewModel.AppointmentId = appointment.AppointmentId;
            viewModel.StartDateTime = appointment.StartDateTime;
            viewModel.EndDateTime   = appointment.EndDateTime;
            return(viewModel);
        }
Пример #6
0
        public IActionResult Edit(int AppointmentId)
        {
            var viewModel = new EditAppointmentViewModel
            {
                Appointment = context.Appointments.Single(x => x.Id == AppointmentId),
                SalesUsers  = context.SalesUsers.ToList()
            };

            return(View(viewModel));
        }
Пример #7
0
        public async Task <IActionResult> Save(EditAppointmentViewModel model)
        {
            var appointment = await _appointmentsRepository.GetAppointmentById(model.Appointment.Id);

            appointment.Review = model.Appointment.Review;
            appointment.Status = Status.Finished;

            await _appointmentsRepository.FinishAppointment(appointment);

            return(RedirectToAction("Index", "Doctors"));
        }
        public IActionResult EditAvailable(string AppointmentId)
        {
            var currentAppointment = appointmentRepository.GetAppointment(AppointmentId);
            var model = new EditAppointmentViewModel
            {
                CounselorId = currentAppointment.CounselorId,
                Id          = currentAppointment.Id,
                Date        = currentAppointment.Date
            };

            return(View(model));
        }
        public ActionResult Edit(EditAppointmentViewModel model, string redirectUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model: model));
            }

            var serv = Appointment.GetById(model.AppointmentsId);

            if (serv != null)
            {
                serv.AppointmentStatus = model.AppointmentStatus;
                Appointment.Update(serv);
            }

            return(RedirectToLocal(redirectUrl));
        }
        public ActionResult EditAppointment(int id)
        {
            Appointment dbAppointment  = appointmentsService.GetById(id);
            var         redirectResult = GetRedirectIfAppointmentNotOwned(dbAppointment);

            if (redirectResult != null)
            {
                return(redirectResult);
            }

            List <ActivityRow>       activityRows = GetActivityRowsForAllActivities();
            EditAppointmentViewModel viewModel    = CreateViewModelFromAppointment(dbAppointment);

            MarkActivityRowsForAppointmentActivitiesAsChecked(activityRows, dbAppointment.Activities);
            viewModel.activityRows = activityRows;
            return(View(viewModel));
        }
Пример #11
0
        public async Task <EditAppointmentViewModel> EditAppointment(int appointmentId, EditAppointmentViewModel model, CancellationToken cancellationToken)
        {
            var appointment = await _appointmentsRepository.GetAsync(appointmentId, cancellationToken).ConfigureAwait(false);

            appointment.Review            = model.Appointment.Review;
            appointment.AppointmentStatus = AppointmentStatus.Finished;

            await _appointmentsRepository.Update(appointment, cancellationToken);

            return(new EditAppointmentViewModel
            {
                Appointment = appointment
            });
        }
Пример #12
0
        public async Task <IActionResult> Save(EditAppointmentViewModel model)
        {
            await _appService.EditAppointment(model.Appointment.Id, model, CancellationToken.None);

            return(RedirectToAction("Index", "Doctors"));
        }
Пример #13
0
 public EditAppointmentView(MainViewModel mainVM, Appointment appointment)
 {
     InitializeComponent();
     DataContext = new EditAppointmentViewModel(mainVM, appointment);
 }