public ActionResult Ver(string id) { ConsultationBL oBL = new ConsultationBL(); int pIntID = 0; int.TryParse(id, out pIntID); ConsultationViewModel pConsultationViewModel = oBL.Obtener(pIntID); NotificationBL oNotificationBL = new NotificationBL(); oNotificationBL.ActualizarNotificacionLeido("/Consultation/Ver/" + id, AuthorizeUserAttribute.UsuarioLogeado().user_id); SelectorBL oSelectorBL = new SelectorBL(); pConsultationViewModel.interest_areasMultiSelectList = new MultiSelectList(oSelectorBL.InterestAreasSelector(), "Value", "Text"); List <SelectOptionItem> oConsultationTypes = oSelectorBL.ConsultationTypesSelector(); List <SelectListItem> consultation_types = Helper.ConstruirDropDownList <SelectOptionItem>(oConsultationTypes, "Value", "Text", "", false, "", ""); ViewBag.consultation_types = consultation_types; return(View(pConsultationViewModel)); }
public IHttpActionResult ConsultationCrear(ConsultationViewModel pConsultationViewModel) { // TODO: Add insert logic here pConsultationViewModel.consultation_id = 0; ConsultationBL oBL = new ConsultationBL(); oBL.Agregar(pConsultationViewModel); ConsultationTypeBL oConsultationTypeBL = new ConsultationTypeBL(); var subject = oConsultationTypeBL.Obtener(pConsultationViewModel.consultation_type_id.Value).name; NotificacionNuevaSolicitud(pConsultationViewModel, subject); var result = new { status = 1 }; return(Ok(result)); }
public void Agregar(ConsultationViewModel pConsultationViewModel) { consultations oconsultations = new consultations { consultation_id = 0, title = pConsultationViewModel.title, message = pConsultationViewModel.message, consultation_type_id = pConsultationViewModel.consultation_type_id, date_created = DateTime.Now, user_id_created = pConsultationViewModel.user_id_created }; oRepositorio.Add(oconsultations); foreach (int interest_area_id in pConsultationViewModel.interest_areas) { oRepositorioConsultationInterestArea.Add(new consultations_interest_areas { interest_area_id = interest_area_id, consultation_id = pConsultationViewModel.consultation_id, date_created = DateTime.Now, user_id_created = pConsultationViewModel.user_id_created, date_modified = DateTime.Now, user_id_modified = pConsultationViewModel.user_id_created, }); } oUnitOfWork.SaveChanges(); pConsultationViewModel.consultation_id = oconsultations.consultation_id; }
public async Task <IActionResult> PatientNewConsultation([Bind(Prefix = "Item2")] ConsultationViewModel vm) { var doctor = await doctroRepo.GetDoctorByUserNameAsync(User.Identity.Name); var patient = await patientRepo.GetPatientByIdAsync(vm.PatientId); if (!doctor.Patients.Contains(patient)) { return(new RedirectResult("/Denied")); } var consultation = new Consultation() { Header = vm.Header, Description = vm.Description, Time = vm.Time, DoctorId = doctor.Id, Doctor = doctor, PatientId = vm.PatientId, Patient = patient, Drugs = new HashSet <Drug>() }; patient.Consultations = patient.Consultations ?? new HashSet <Consultation>(); patient.Consultations.Add(consultation); patient.Consultations = patient.Consultations.OrderByDescending(x => x.Time).ToList(); patientRepo.UpdatePatient(patient); await doctroRepo.SaveChangesAsync(); return(PartialView("PatientHistory", patient)); }
public ConsultationWindow(IHospital hospital, ObservableCollection <Patient> patients) { InitializeComponent(); var vm = new ConsultationViewModel((Hospital)hospital, patients); this.DataContext = vm; if (vm.CloseAction == null) { vm.CloseAction = this.Close; } }
public ConsultationModel MapShortConsultationModel(ConsultationViewModel consultation) { return(new ConsultationModel() { Id = consultation.Id, ConsultationStatusID = consultation.ConsultationStatusID, ConsultationTime = consultation.ConsultationTime, ModifiedBy = consultation.ModifiedBy, ModifiedByEntity = consultation.ModifiedEntity, TenantID = consultation.TanentId }); }
public IActionResult Post([FromBody] ConsultationViewModel consultationViewModel) { if (!ModelState.IsValid) { NotifyModelStateErrors(); return(Response(consultationViewModel)); } _consultationService.Register(consultationViewModel); return(Response(consultationViewModel)); }
public async Task <IActionResult> Consultation(ConsultationViewModel consultationViewModel) { try { await _consultationViewModelService.Update(consultationViewModel); return(RedirectToAction("Index", "Consultations")); } catch (Exception exp) { throw (exp); } }
public async Task <IActionResult> Consultation([FromRoute] int id) { try { var consultationViewModel = new ConsultationViewModel(); consultationViewModel = await _consultationViewModelService.GetConsultation(id); return(View(consultationViewModel)); } catch (Exception exp) { throw (exp); } }
public IHttpActionResult UpdateConsultationTime(RequestCarrier requestCarrier) { ResponseCarrier response; if (requestCarrier != null && requestCarrier.TanentId != 0 && requestCarrier.From != string.Empty && requestCarrier.UserId.HasValue && requestCarrier.UserId.Value > 0) { ConsultationViewModel cViewModel = WebCommon.Instance.GetObject <ConsultationViewModel>(requestCarrier.PayLoad); cViewModel.TanentId = requestCarrier.TanentId; string validationResponse = this._consultationMapper.ValidateConsultationDetailsForTimeUpdate(cViewModel); if (string.IsNullOrEmpty(validationResponse)) { var consultationDetailModel = this._consultationMapper.MapConsultation(cViewModel); consultationDetailModel.CreatedBy = (int)requestCarrier.UserId.Value; consultationDetailModel.CreatedByEntity = Convert.ToInt32(requestCarrier.From); consultationDetailModel.ModifiedBy = (int)requestCarrier.UserId.Value; consultationDetailModel.ModifiedByEntity = Convert.ToInt32(requestCarrier.From); var consultationResponse = _dataServices.ConsultationService.UpdateConsultationTime(consultationDetailModel); if (consultationResponse.Success) { cViewModel.Id = consultationResponse.Id; response = new ResponseCarrier() { Status = true, TanentId = requestCarrier.TanentId }; } else { response = new ResponseCarrier() { Status = false, TanentId = requestCarrier.TanentId, ErrorMessage = consultationResponse.ErrorMessage }; } } else { response = new ResponseCarrier() { Status = false, TanentId = requestCarrier.TanentId, ErrorMessage = validationResponse }; } } else { response = new ResponseCarrier() { Status = false, PayLoad = null, ErrorMessage = "TanentId or RequestFrom or UserId not provided.", TanentId = requestCarrier.TanentId }; } return(Json(response)); }
public JsonResult ObtenerInvestigadores(DataTableAjaxPostModel ofilters)//DataTableAjaxPostModel model { ConsultationBL oConsultationBL = new ConsultationBL(); ConsultationViewModel pConsultationViewModel = oConsultationBL.Obtener(ofilters.consultation_id); GridModel <InvestigatorViewModel> grid = oConsultationBL.ObtenerInvestigadores(ofilters, pConsultationViewModel.interest_areas); return(Json(new { // this is what datatables wants sending back draw = ofilters.draw, recordsTotal = grid.total, recordsFiltered = grid.recordsFiltered, data = grid.rows })); }
public string ValidateConsultationDetails(ConsultationViewModel patientDetailViewModel) { if (string.IsNullOrEmpty(patientDetailViewModel.Description)) { return("Description is require"); } if (patientDetailViewModel.ConsultationTime == null) { return("Consultation time is require"); } if (patientDetailViewModel.DoctorId <= 0) { return("Doctor for Consultation is require"); } if (patientDetailViewModel.PatientId <= 0) { return("Patient for Consultation is require"); } return(string.Empty); }
public ConsultationModel MapConsultation(ConsultationViewModel vmodel) { return(new ConsultationModel { Id = vmodel.Id, IsDeleted = vmodel.IsDeleted, CreatedBy = vmodel.CreatedBy, CreatedByEntity = vmodel.CreatedByEntity, CreatedOn = vmodel.CreatedOn, ModifiedBy = vmodel.ModifiedBy, ModifiedByEntity = vmodel.ModifiedEntity, ModifiedOn = vmodel.ModifiedOn, ConsultationModeID = vmodel.ConsultationModeID, ConsultationStatusID = vmodel.ConsultationStatusID, ConsultationTime = vmodel.ConsultationTime, Description = vmodel.Description, DoctorId = vmodel.DoctorId, PatientId = vmodel.PatientId, TenantID = vmodel.TanentId }); }
public ActionResult Crear([Bind(Include = "consultation_id,title,message,interest_areas,consultation_type_id")] ConsultationViewModel pConsultationViewModel) { // TODO: Add insert logic here if (pConsultationViewModel == null) { return(HttpNotFound()); } pConsultationViewModel.consultation_id = 0; pConsultationViewModel.user_id_created = AuthorizeUserAttribute.UsuarioLogeado().user_id; ConsultationBL oBL = new ConsultationBL(); oBL.Agregar(pConsultationViewModel); ConsultationTypeBL oConsultationTypeBL = new ConsultationTypeBL(); var subject = oConsultationTypeBL.Obtener(pConsultationViewModel.consultation_type_id.Value).name; NotificacionNuevaSolicitud(pConsultationViewModel, subject); return(RedirectToAction("Index")); }
private void NotificacionNuevaSolicitud(ConsultationViewModel pConsultationViewModel, string subject) { var base_url = ConfigurationManager.AppSettings["site.url"]; UserBL userBL = new UserBL(); List <UserViewModel> evaluadores = userBL.ObtenerPorPermiso(118);// 12 = perfil evaluador foreach (UserViewModel evaluador in evaluadores) { SendEmailNotificationBL oSendEmailNotificationBL = new SendEmailNotificationBL(); NotificationGeneralAccountViewModel oNotificationConceptViewModel = new NotificationGeneralAccountViewModel(); oNotificationConceptViewModel.name = evaluador.contact_name; oNotificationConceptViewModel.url_solicitud_concepto = base_url + @"/Consultation/Ver/" + pConsultationViewModel.consultation_id; oNotificationConceptViewModel.to = evaluador.user_email; oNotificationConceptViewModel.url_home = ConfigurationManager.AppSettings["site.url"]; oNotificationConceptViewModel.url_politicas = ConfigurationManager.AppSettings["site.url.politicas"]; oNotificationConceptViewModel.url_contacto = ConfigurationManager.AppSettings["site.url.contacto"]; oNotificationConceptViewModel.url_privacidad = ConfigurationManager.AppSettings["site.url.privacidad"]; oSendEmailNotificationBL.EnviarNotificacionSolicitudConcepto(oNotificationConceptViewModel, subject); NotificationBL oNotificationBL = new NotificationBL(); NotificationViewModel pNotificationViewModel = new NotificationViewModel(); pNotificationViewModel.user_id = evaluador.id; pNotificationViewModel.message = "Hay una nueva solicitud de concepto con número '" + pConsultationViewModel.consultation_id + "'"; pNotificationViewModel.url = @"/Consultation/Ver/" + pConsultationViewModel.consultation_id; oNotificationBL.Agregar(pNotificationViewModel); } }
public Task Update(ConsultationViewModel consultationViewModel) { throw new NotImplementedException(); }
public string ValidateConsultationDetailsForTimeUpdate(ConsultationViewModel patientDetailViewModel) { return(string.Empty); }
public void Register(ConsultationViewModel consultationViewModel) { var registerConsultationCommand = _mapper.Map <RegisterConsultationCommand>(consultationViewModel); _mediator.SendCommand(registerConsultationCommand); }
public IHttpActionResult UpdateConsultationStatus(RequestCarrier requestCarrier) { ResponseCarrier response; if (requestCarrier != null && requestCarrier.TanentId != 0 && requestCarrier.From != string.Empty && requestCarrier.UserId.HasValue && requestCarrier.UserId.Value > 0) { ConsultationViewModel cViewModel = WebCommon.Instance.GetObject <ConsultationViewModel>(requestCarrier.PayLoad); cViewModel.TanentId = requestCarrier.TanentId; string validationResponse = this._consultationMapper.ValidateConsultationDetailsForStatusUpdate(cViewModel); if (string.IsNullOrEmpty(validationResponse)) { var consultationDetailModel = this._consultationMapper.MapConsultation(cViewModel); consultationDetailModel.CreatedBy = (int)requestCarrier.UserId.Value; consultationDetailModel.CreatedByEntity = Convert.ToInt32(requestCarrier.From); consultationDetailModel.ModifiedBy = (int)requestCarrier.UserId.Value; consultationDetailModel.ModifiedByEntity = Convert.ToInt32(requestCarrier.From); var consultationResponse = _dataServices.ConsultationService.UpdateConsultationStatus(consultationDetailModel); if (consultationResponse.Success) { cViewModel.Id = consultationResponse.Id; if (consultationDetailModel.CreatedByEntity == 2 || consultationDetailModel.CreatedByEntity == 5)//doctor { if (WebCommon.NotificationEnabled) { var consultationDetails = _dataServices.ConsultationService.GetConsultationDetails(consultationDetailModel.Id, consultationDetailModel.TenantID); if (consultationDetails != null) { var userDetails = _dataServices.UserService.GetUser(consultationDetails.CreatedBy, consultationDetailModel.TenantID); var doctor = _dataServices.DoctorService.GetDoctor(consultationDetails.DoctorId, consultationDetailModel.TenantID); List <object> additionalParameters = new List <object>(); additionalParameters.Add(userDetails.Email); additionalParameters.Add(userDetails.PhoneNumber); additionalParameters.Add(doctor.EmailAddress); additionalParameters.Add(doctor.PhoneNumber); additionalParameters.Add(consultationDetails.Patient.PatientName); additionalParameters.Add(doctor.FirstName + " " + doctor.LastName); additionalParameters.Add(consultationDetails.AmountCharged); additionalParameters.Add(consultationDetails.ConsultationMode); additionalParameters.Add(consultationDetails.ConsultationTime); if (consultationDetailModel.ConsultationStatusID == 2)//accepted by doctor { NotificationClient.Instance.SendMessage(null, ImTech.Notification.Messages.MessageType.Booking_Accepted_Patient, additionalParameters); } else if (consultationDetailModel.ConsultationStatusID == 3)//end by doctor { NotificationClient.Instance.SendMessage(null, ImTech.Notification.Messages.MessageType.Booking_End_Patient, additionalParameters); NotificationClient.Instance.SendMessage(null, ImTech.Notification.Messages.MessageType.Booking_End_Doctor, additionalParameters); } } } } else if (consultationDetailModel.CreatedByEntity == 1 || consultationDetailModel.CreatedByEntity == 4)//user { if (WebCommon.NotificationEnabled) { var consultationDetails = _dataServices.ConsultationService.GetConsultationDetails(consultationDetailModel.Id, consultationDetailModel.TenantID); if (consultationDetails != null) { var userDetails = _dataServices.UserService.GetUser(consultationDetails.CreatedBy, consultationDetailModel.TenantID); var doctor = _dataServices.DoctorService.GetDoctor(consultationDetails.DoctorId, consultationDetailModel.TenantID); List <object> additionalParameters = new List <object>(); additionalParameters.Add(userDetails.Email); additionalParameters.Add(userDetails.PhoneNumber); additionalParameters.Add(doctor.EmailAddress); additionalParameters.Add(doctor.PhoneNumber); additionalParameters.Add(consultationDetails.Patient.PatientName); additionalParameters.Add(doctor.FirstName + " " + doctor.LastName); additionalParameters.Add(consultationDetails.AmountCharged); additionalParameters.Add(consultationDetails.ConsultationMode); additionalParameters.Add(consultationDetails.ConsultationTime); if (consultationDetailModel.ConsultationStatusID == 3)//cancelled by patient { NotificationClient.Instance.SendMessage(null, ImTech.Notification.Messages.MessageType.Booking_Cancelled_Patient, additionalParameters); NotificationClient.Instance.SendMessage(null, ImTech.Notification.Messages.MessageType.Booking_Cancelled_Doctor, additionalParameters); } } } } response = new ResponseCarrier() { Status = true, PayLoad = cViewModel, TanentId = requestCarrier.TanentId }; } else { response = new ResponseCarrier() { Status = false, TanentId = requestCarrier.TanentId, ErrorMessage = consultationResponse.ErrorMessage }; } } else { response = new ResponseCarrier() { Status = false, TanentId = requestCarrier.TanentId, ErrorMessage = validationResponse }; } } else { response = new ResponseCarrier() { Status = false, PayLoad = null, ErrorMessage = "TanentId or RequestFrom or UserId not provided.", TanentId = requestCarrier.TanentId }; } return(Json(response)); }