public async Task <ActionResult> CreateConsultationAsync(Consultation consultation)
        {
            Notification <bool> notifier = consultationService.CreateConsultation(consultation);

            if (notifier.HasErrors())
            {
                ViewData["Errors"] = notifier.GetErrors();
                return(View("Error"));
            }
            var patient = consultationService.GetConsultationById(consultation.Id);
            var message = String.Format("You have a new consultation with {0} at {1}.", patient.GetPatient().Name, consultation.GetAppointmentDate().ToString());

            await SendMessage(message);

            return(RedirectToAction("Consultations"));
        }
        public ActionResult ProcessConsultation(PurchaseModel purchaseModel)
        {
            try
            {
                var contact = _contactService.Find(purchaseModel.ContactId);

                _consultationService.CreateConsultation(new Consultation
                {
                    ConsultationDuration = (EConsultationDuration)purchaseModel.Quantity,
                    ContactId            = purchaseModel.ContactId
                }, contact);

                return(Json(new { success = true }));
            }
            catch (Exception ex)
            {
                _logger.Error($"SupportController => ProcessConsultation => Error: {ex.GetFullErrorMessage()}");
                return(Json(new { success = false, error = ex.Message }));
            }
        }