예제 #1
0
        public JsonResult MantenimientoCita(CitaPracticanteModelo citaModelo)
        {
            Mensaje mensajeRespuesta = new Negocios.NegociosPracticante().MantenimientoCita(citaModelo);
            bool    citaFueCerrada   = citaModelo.Accion == (char)Acciones.Actualizar && mensajeRespuesta.Exito;

            if (citaFueCerrada)
            {
                string           asunto           = ConfigurationManager.AppSettings["asuntoCorreoCalificacion"];
                ManejadorCorreos manejadorCorreos = new Models.ManejadorCorreos(citaModelo.CorreoElectronico, asunto);
                string           rutaPagina       =
                    System.Web.HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + "/Paciente/Calificacion?identificadorGUID=" + citaModelo.IdentificadorGUID;
                Dictionary <string, string> datosPaciente = new DiccionarioDatos().CrearDiccionarioCorreoCalificacion(citaModelo.Paciente, rutaPagina);
                string rutaServer    = Server.MapPath("~/");
                string rutaPlantilla = rutaServer + ConfigurationManager.AppSettings["rutaPlantillaCalificacion"];
                manejadorCorreos.CrearCuerpoCorreo(rutaPlantilla, datosPaciente);

                int           rolAdministrador     = (int)Roles.Administrador;
                List <string> listaCorreosConCopia =
                    new Negocios.NegociosUsuario().ObtenerUsuariosPorRol(rolAdministrador).Select(item => item.Correo).ToList();

                manejadorCorreos.EstablecerCorreosConCopia(listaCorreosConCopia);
                manejadorCorreos.EnviarCorreo();
            }
            var datos = new JavaScriptSerializer().Serialize(mensajeRespuesta);

            return(Json(datos, JsonRequestBehavior.AllowGet));
        }
예제 #2
0
        public JsonResult RecuperarPassword(string correo)
        {
            UsuarioModelo usuario =
                new Negocios.NegociosUsuario().ObtenerUsuariosPorCredenciales(correo, "-1").FirstOrDefault();
            bool existeUsuario = usuario != null;

            Mensaje mensajeRespuesta = new Mensaje();

            if (existeUsuario)
            {
                string passwordGenerado        = new GeneracionCodigo().GenerarCodigoUnico();
                bool   solicitarCambioPassword = true;
                mensajeRespuesta =
                    new Negocios.NegociosUsuario().ActualizarPassword(usuario.UsuarioId, passwordGenerado, solicitarCambioPassword);

                if (mensajeRespuesta.Exito)
                {
                    EnvioCorreoNuevoUsuario(usuario);
                    mensajeRespuesta.Respuesta = "Se ha enviado un link al correo para recuperar el password.";
                }
            }
            else
            {
                mensajeRespuesta.Exito     = false;
                mensajeRespuesta.Respuesta = "El correo no esta asociado a ningún usuario del sistema.";
            }

            JavaScriptSerializer seralizador = new JavaScriptSerializer();

            seralizador.MaxJsonLength = Int32.MaxValue;
            var datos = seralizador.Serialize(mensajeRespuesta);

            return(Json(datos, JsonRequestBehavior.AllowGet));
        }
예제 #3
0
        public JsonResult MantenimientoUsuarios(UsuarioModelo usuario)
        {
            bool    esAccionCrear      = usuario.Accion == (char)Acciones.Ingreasar;
            bool    esAccionActualizar = usuario.Accion == (char)Acciones.Actualizar;
            bool    esAccionEliminar   = usuario.Accion == (char)Acciones.Eliminar;
            Mensaje mensajeRespuesta   = new Mensaje();

            UsuarioModelo usuarioConsultar =
                new Negocios.NegociosUsuario().ObtenerUsuariosPorCredenciales(usuario.Correo, "-1").FirstOrDefault();
            bool correoEstaDisponible =
                esAccionCrear ? (usuarioConsultar == null) :
                esAccionActualizar ? (usuario.UsuarioId == usuarioConsultar.UsuarioId) : esAccionEliminar;

            if (correoEstaDisponible)
            {
                usuario.Password = esAccionCrear ? new GeneracionCodigo().GenerarCodigoUnico() : usuario.Password;
                mensajeRespuesta = new Negocios.NegociosUsuario().MantenimientoUsuarios(usuario);
            }
            else
            {
                mensajeRespuesta.Exito     = false;
                mensajeRespuesta.Respuesta = "El correo ya se encuentra en uso por un usuario del sistema.";
            }

            if (mensajeRespuesta.Exito && esAccionCrear)
            {
                EnvioCorreoNuevoUsuario(usuario);
            }

            var datos = new JavaScriptSerializer().Serialize(mensajeRespuesta);

            return(Json(datos, JsonRequestBehavior.AllowGet));
        }
예제 #4
0
        public JsonResult ActualizarPassword(string password)
        {
            Mensaje       mensajeRespuesta = new Mensaje();
            UsuarioModelo usuarioSesion    = new UsuarioModelo();
            bool          existeSesion     = Session["usuario"] != null;

            usuarioSesion = existeSesion ? Session["usuario"] as UsuarioModelo : usuarioSesion;

            if (existeSesion)
            {
                bool solicitarCambioPassword = false;
                mensajeRespuesta =
                    new Negocios.NegociosUsuario().ActualizarPassword(usuarioSesion.UsuarioId, password, solicitarCambioPassword);

                if (mensajeRespuesta.Exito)
                {
                    ((UsuarioModelo)Session["usuario"]).SolicitarCambioPassword = solicitarCambioPassword;
                }
            }

            JavaScriptSerializer seralizador = new JavaScriptSerializer();

            seralizador.MaxJsonLength = Int32.MaxValue;
            var datos = seralizador.Serialize(mensajeRespuesta);

            return(Json(datos, JsonRequestBehavior.AllowGet));
        }
예제 #5
0
        public JsonResult CrearCita(CrearCitaModelo crearCitaModelo)
        {
            string identificadorGUID = new GeneracionCodigo().GenerarCodigoUnico();

            crearCitaModelo.CitaModelo.IdentificadorGUID = identificadorGUID;
            Mensaje mensajeRespuesta = new Negocios.NegociosPaciente().CrearCita(crearCitaModelo);

            if (mensajeRespuesta.Exito)
            {
                string rutaServer    = Server.MapPath("~/");
                string rutaPlantilla = rutaServer + ConfigurationManager.AppSettings["rutaPlantilla"];
                string asunto        = ConfigurationManager.AppSettings["asuntoCita"];
                Dictionary <string, string> datosPaciente = new DiccionarioDatos().CrearDiccionarioDatosPaciente(crearCitaModelo);

                ManejadorCorreos manejadorCorreos = new ManejadorCorreos(crearCitaModelo.PacienteModelo.CorreoElectronico, asunto);
                manejadorCorreos.CrearCuerpoCorreo(rutaPlantilla, datosPaciente);
                int           rolAdministrador     = (int)Roles.Administrador;
                List <string> listaCorreosConCopia =
                    new Negocios.NegociosUsuario().ObtenerUsuariosPorRol(rolAdministrador).Select(item => item.Correo).ToList();
                manejadorCorreos.EstablecerCorreosConCopia(listaCorreosConCopia);
                manejadorCorreos.EnviarCorreo();
            }

            var datos = new JavaScriptSerializer().Serialize(mensajeRespuesta);

            return(Json(datos, JsonRequestBehavior.AllowGet));
        }
예제 #6
0
        public JsonResult EnviarCalificacion(CitaPracticanteModelo citaModelo)
        {
            CitaModelo cita =
                new Negocios.NegociosPaciente().ObtenerCitas(citaModelo.IdentificadorGUID).FirstOrDefault();

            citaModelo.CitaId          = cita.CitaId;
            citaModelo.Accion          = (char)Acciones.Actualizar;   //ACCION DE ACTUALIZAR
            citaModelo.Antecedentes    = cita.Antecedentes;
            citaModelo.Recomendaciones = cita.Recomendaciones;
            Mensaje mensajeRespuesta = new Negocios.NegociosPracticante().MantenimientoCita(citaModelo);

            if (mensajeRespuesta.Exito)
            {
                CitaPracticanteModelo citaPracticanteModelo = new Negocios.NegociosPracticante().ObtenerCitasPorId(cita.CitaId);
                string rutaServer    = Server.MapPath("~/");
                string rutaPlantilla = rutaServer + ConfigurationManager.AppSettings["rutaPlantillaCitaCalificada"];
                string asunto        = ConfigurationManager.AppSettings["asuntoCorreoCitaCalificada"];
                citaPracticanteModelo.Calificacion = citaModelo.Calificacion;
                Dictionary <string, string> datosCorreo = new DiccionarioDatos().CrearDiccionarioCitaCalificada(citaPracticanteModelo);

                ManejadorCorreos manejadorCorreos = new ManejadorCorreos("", asunto);
                manejadorCorreos.CrearCuerpoCorreo(rutaPlantilla, datosCorreo);
                int           rolAdministrador     = (int)Roles.Administrador;
                List <string> listaCorreosConCopia =
                    new Negocios.NegociosUsuario().ObtenerUsuariosPorRol(rolAdministrador).Select(item => item.Correo).ToList();
                manejadorCorreos.EstablecerMultiplesDestinatarios(listaCorreosConCopia);
                manejadorCorreos.EnviarCorreo();
            }

            var datos = new JavaScriptSerializer().Serialize(mensajeRespuesta);

            return(Json(datos, JsonRequestBehavior.AllowGet));
        }
예제 #7
0
        public JsonResult ObtenerRoles()
        {
            List <RolModelo>     listaRoles  = new Negocios.NegociosUsuario().ObtenerRoles();
            JavaScriptSerializer seralizador = new JavaScriptSerializer();

            seralizador.MaxJsonLength = Int32.MaxValue;
            var datos = new JavaScriptSerializer().Serialize(listaRoles);

            return(Json(datos, JsonRequestBehavior.AllowGet));
        }
예제 #8
0
        public JsonResult ObtenerUsuariosPorRol(int rolId)
        {
            List <UsuarioModelo> listaUsuarios = new Negocios.NegociosUsuario().ObtenerUsuariosPorRol(rolId);

            UsuarioModelo usuario          = Session["usuario"] as UsuarioModelo;
            bool          esRolPracticante = usuario.RolId == (int)Roles.Practicante;
            int           usuarioId        = usuario.UsuarioId;

            var data = new
            {
                ListaUsuarios    = listaUsuarios,
                EsRolPracticante = esRolPracticante,
                UsuarioId        = usuarioId
            };

            JavaScriptSerializer seralizador = new JavaScriptSerializer();

            seralizador.MaxJsonLength = Int32.MaxValue;
            var datos = seralizador.Serialize(data);

            return(Json(datos, JsonRequestBehavior.AllowGet));
        }
예제 #9
0
        public JsonResult ActualizarHorarioCita(CitaModelo citaModelo)
        {
            Mensaje mensajeRespuesta = new Negocios.NegociosPaciente().ActualizarHorarioCita(citaModelo);

            if (mensajeRespuesta.Exito)
            {
                PacienteModelo paciente =
                    new Negocios.NegociosPaciente().ObtenerPacientes(citaModelo.PacienteId).FirstOrDefault();

                string rutaServer    = Server.MapPath("~/");
                string rutaPlantilla = rutaServer + ConfigurationManager.AppSettings["rutaPlantilla"];
                string asunto        = ConfigurationManager.AppSettings["asuntoCita"];


                CrearCitaModelo crearCitaModelo = new CrearCitaModelo();
                crearCitaModelo.PacienteModelo.Nombre            = paciente.Nombre;
                crearCitaModelo.PacienteModelo.Apellidos         = paciente.Apellidos;
                crearCitaModelo.PacienteModelo.CorreoElectronico = paciente.CorreoElectronico;
                crearCitaModelo.PacienteModelo.Telefono          = paciente.Telefono;
                crearCitaModelo.PacienteModelo.Identificacion    = paciente.Identificacion;
                crearCitaModelo.CitaModelo.DetalleHora           = citaModelo.DetalleHora;
                crearCitaModelo.CitaModelo.Dia = citaModelo.Dia;

                Dictionary <string, string> datosPaciente = new DiccionarioDatos().CrearDiccionarioDatosPaciente(crearCitaModelo);

                ManejadorCorreos manejadorCorreos = new ManejadorCorreos(paciente.CorreoElectronico, asunto);
                manejadorCorreos.CrearCuerpoCorreo(rutaPlantilla, datosPaciente);
                int           rolAdministrador     = (int)Roles.Administrador;
                List <string> listaCorreosConCopia =
                    new Negocios.NegociosUsuario().ObtenerUsuariosPorRol(rolAdministrador).Select(item => item.Correo).ToList();
                manejadorCorreos.EstablecerCorreosConCopia(listaCorreosConCopia);
                manejadorCorreos.EnviarCorreo();
            }

            var datos = new JavaScriptSerializer().Serialize(mensajeRespuesta);

            return(Json(datos, JsonRequestBehavior.AllowGet));
        }
예제 #10
0
        public JsonResult ValidarCredenciales(string correo, string password)
        {
            Mensaje       mensajeRespuesta = new Mensaje();
            UsuarioModelo usuario          =
                new Negocios.NegociosUsuario().ObtenerUsuariosPorCredenciales(correo, password).FirstOrDefault();
            bool existeUsuario = usuario != null;

            mensajeRespuesta.Exito = existeUsuario;
            mensajeRespuesta.SolicitarCambioPassword = existeUsuario ? usuario.SolicitarCambioPassword : false;
            mensajeRespuesta.Respuesta = existeUsuario ? "Usuario autenticado exitosamente" : "Correo o passward inválido";

            if (mensajeRespuesta.Exito)
            {
                Session["usuario"] = usuario;
            }

            JavaScriptSerializer seralizador = new JavaScriptSerializer();

            seralizador.MaxJsonLength = Int32.MaxValue;
            var datos = seralizador.Serialize(mensajeRespuesta);

            return(Json(datos, JsonRequestBehavior.AllowGet));
        }