public Cita CrearCita(Cita citaACrear) { Observacion obs = null; try { ICollection <Cita> _listaMedCita = dao.BuscarMedicosConCitas(citaACrear).ToList(); if (_listaMedCita.Count() == 0) { ICollection <Cita> _listaPacCita = dao.BuscarPacienteConCita(citaACrear).ToList(); if (_listaPacCita.Count() == 0) { Cita beansalida = null; try { beansalida = dao.Crear(citaACrear); PacienteService.PacientesServiceClient clientPaciente = new PacienteService.PacientesServiceClient(); Paciente beanPac = clientPaciente.consultarPaciente(citaACrear.IdPaciente); NotificacionService.EmailNotificationProxyPortTypeClient e = new NotificacionService.EmailNotificationProxyPortTypeClient(); e.notifyViaEmailReserva("Reserva", beanPac.Nombres, beanPac.Correo, citaACrear.IdCita.ToString(), citaACrear.FecReserva, citaACrear.IdEspecialidad.ToString()); } catch (Exception) { } return(beansalida); } else { obs = new Observacion(); obs.CodigoError = 1; obs.MensajeError = "Ya se cuenta con una reserva de cita en el horario seleccionado"; throw new Exception(); } } else { obs = new Observacion(); obs.CodigoError = 2; obs.MensajeError = "El doctor no cuenta con este horario disponible"; throw new Exception(); } } catch (Exception e) { if (obs != null) { throw new WebFaultException <Observacion>(obs, HttpStatusCode.InternalServerError); } else { string rutacola = @".\private$\CitaRecibida"; if (!MessageQueue.Exists(rutacola)) { MessageQueue.Create(rutacola); } MessageQueue cola = new MessageQueue(rutacola); Message mensaje = new Message(); mensaje.Label = "Nueva Cita"; mensaje.Body = citaACrear; cola.Send(mensaje); citaACrear.IdCita = -1; return(citaACrear); } } }
public Cita CrearCita(Cita citaACrear) { Observacion obs = null; try { ICollection<Cita> _listaMedCita = dao.BuscarMedicosConCitas(citaACrear).ToList(); if (_listaMedCita.Count() == 0) { ICollection<Cita> _listaPacCita = dao.BuscarPacienteConCita(citaACrear).ToList(); if (_listaPacCita.Count() == 0) { Cita beansalida=null; try { beansalida=dao.Crear(citaACrear); PacienteService.PacientesServiceClient clientPaciente=new PacienteService.PacientesServiceClient(); Paciente beanPac=clientPaciente.consultarPaciente(citaACrear.IdPaciente); NotificacionService.EmailNotificationProxyPortTypeClient e = new NotificacionService.EmailNotificationProxyPortTypeClient(); e.notifyViaEmailReserva("Reserva", beanPac.Nombres, beanPac.Correo, citaACrear.IdCita.ToString(), citaACrear.FecReserva, citaACrear.IdEspecialidad.ToString()); } catch (Exception) { } return beansalida; } else { obs=new Observacion(); obs.CodigoError=1; obs.MensajeError = "Ya se cuenta con una reserva de cita en el horario seleccionado"; throw new Exception(); } } else { obs=new Observacion(); obs.CodigoError = 2; obs.MensajeError = "El doctor no cuenta con este horario disponible"; throw new Exception(); } } catch (Exception e) { if (obs != null) { throw new WebFaultException<Observacion>(obs, HttpStatusCode.InternalServerError); } else { string rutacola = @".\private$\CitaRecibida"; if (!MessageQueue.Exists(rutacola)) MessageQueue.Create(rutacola); MessageQueue cola = new MessageQueue(rutacola); Message mensaje = new Message(); mensaje.Label = "Nueva Cita"; mensaje.Body = citaACrear; cola.Send(mensaje); citaACrear.IdCita = -1; return citaACrear; } } }