public IActionResult UpdateAvailability(IFormCollection collection)
        {
            var  user_id      = _userManager.GetUserId(HttpContext.User);
            Guid clinician_id = _profileService.Get().FirstOrDefault(e => e.user_id == user_id).id;

            var start_date = collection["start_date"];

            _clinicianAvailabilityService.AddOrUpdate(
                new mp_clinician_availability
            {
                start_time   = DateTime.Parse(collection["start_time"]),
                end_time     = DateTime.Parse(collection["end_time"]),
                created_at   = DateTime.Now,
                clinician_id = clinician_id
            });
            return(RedirectToAction("MyProfile"));
        }
        public IActionResult UpdateAvailability(IFormCollection collection)
        {
            try
            {
                var  user_id      = _userManager.GetUserId(HttpContext.User);
                Guid clinician_id = _clinicianService.Get().FirstOrDefault(e => e.user_id == user_id).id;

                var dayDate   = DateTime.ParseExact(collection["day_name"], "MM/dd/yyyy", null);
                var startTime = DateTime.ParseExact(collection["start_time"], "h:mm tt", null).TimeOfDay;
                var endTime   = DateTime.ParseExact(collection["end_time"], "h:mm tt", null).TimeOfDay;
                var dayName   = dayDate.DayOfWeek.ToString();
                _clinicianAvailabilityService.AddOrUpdate(
                    new mp_clinician_availability
                {
                    day_name     = dayName,
                    start_time   = dayDate.Add(startTime),
                    end_time     = dayDate.Add(endTime),
                    status       = bool.Parse(collection["status"]),
                    created_at   = DateTime.Now,
                    clinician_id = clinician_id
                });
                //return RedirectToAction("MyProfile");
                return(Redirect(Request.Headers["Referer"].ToString()));
            }
            catch (Exception ex)
            {
                ViewBag.Error = ex.Message + ex.InnerException;
                var user_id = _userManager.GetUserId(HttpContext.User);
                var profile = _clinicianService.Get().FirstOrDefault(e => e.user_id == user_id);
                //get all the appointments of the profile
                ViewBag.appointment = _appointmentService.GetProfileAppointments(profile.id);
                ViewBag.schedules   = _clinicianAvailabilityService.Get(profile.id);
                //get the clients of the clinician
                ViewBag.profiles = _profileService.Get().Where(e => e.profile_type == 1);
                return(View("CProfile", profile));
            }
        }
Пример #3
0
        public IActionResult PostClinicianAvailability(AvailabilityModel model)
        {
            var days = new[] { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };

            foreach (var day in days)
            {
                var availabilities = model.availability.Where(e => e.Key.EndsWith(day));
                if (availabilities.Any() && availabilities.Count() == 2)
                {
                    if (!string.IsNullOrEmpty(model.availability["End_" + day]) && !string.IsNullOrEmpty(model.availability["End_" + day]))
                    {
                        try
                        {
                            var end_time   = Convert.ToDateTime(model.availability["End_" + day]);
                            var start_time = Convert.ToDateTime(model.availability["Start_" + day]);

                            _clinicianAvailabilityService.AddOrUpdate(
                                new mp_clinician_availability
                            {
                                day_name     = day,
                                start_time   = start_time,
                                end_time     = end_time,
                                status       = true,
                                created_at   = DateTime.Now,
                                clinician_id = model.clinician_id
                            });
                        }
                        catch (Exception)
                        {
                        }
                    }
                }
            }

            return(Ok(200));
        }