示例#1
0
        public ActionResult ListarUsuarios()
        {
            try
            {
                using (var context = new CripcoEntities())
                {
                    var listaUsuarios = context.Persona.Select(x => new ListaUsuarioViewModel {
                        Id       = x.PersonaID,
                        Nombre   = x.Nombre,
                        Apellido = x.Apellido,
                        FechaNac = x.FechaNac,
                        Email    = x.AspNetUsers.Email,
                        Estado   = x.Activo,
                        Perfil   = x.AspNetUsers.AspNetRoles.Any() ? x.AspNetUsers.AspNetRoles.FirstOrDefault().Name : "",
                        UserName = x.AspNetUsers.UserName,
                        esDoctor = x.AspNetUsers.AspNetRoles.Any(z => z.Name == "Doctor")
                    }).ToList();

                    var jsonResult = Json(listaUsuarios, JsonRequestBehavior.AllowGet);
                    jsonResult.MaxJsonLength = Int32.MaxValue;
                    return(jsonResult);
                }
            }
            catch (Exception e) {
                return(View());
            }
        }
示例#2
0
 public ActionResult CrearHorarioSimple(CrearHorarioViewModel model)
 {
     using (var context = new CripcoEntities())
     {
         Thread.CurrentThread.CurrentCulture = new CultureInfo("es-ES");
         var idUsuario    = ObtenerIdUsuario();
         var HorarioNuevo = new DateTime(model.FechaInicio.Year, model.FechaInicio.Month, model.FechaInicio.Day, model.FechaInicio.Hour, 0, 0);
         if (HorarioExistente(HorarioNuevo, idUsuario))
         {
             return(Json(EnviarResultado(true, "El horario ya existe", "Si estaba inactivo se cambio a activo", ""), JsonRequestBehavior.AllowGet));
         }
         else
         {
             context.Horario.Add(new Horario {
                 PersonaID     = idUsuario,
                 Hora          = HorarioNuevo,
                 Reservado     = false,
                 CreadoPor     = User.Identity.Name,
                 FechaCreado   = DateTime.Now,
                 ModificadoPor = User.Identity.Name,
                 Activo        = true,
                 IdSala        = model.IdSala
             });
             return(Json(EnviarResultado(context.SaveChanges() > 0, "Crear Horario"), JsonRequestBehavior.AllowGet));
         }
     }
 }
示例#3
0
        public ActionResult Crear(CrearRolViewModel model)
        {
            var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(new ApplicationDbContext()));

            if (roleManager.RoleExists(model.Nombre.Trim()))
            {
                return(Json(new MensajeRespuestaViewModel {
                    Titulo = "Crear Rol", Mensaje = "El Rol ya Existe", Estado = false
                }, JsonRequestBehavior.AllowGet));
            }
            var result = roleManager.Create(new IdentityRole {
                Name = model.Nombre.Trim()
            });

            if (result.Succeeded)
            {
                using (var context = new CripcoEntities())
                {
                    context.AspNetRoles.FirstOrDefault(x => x.Name == model.Nombre.Trim()).Activo = true;
                    context.SaveChanges();
                }
            }
            return(Json(new MensajeRespuestaViewModel {
                Titulo = "Crear Rol", Mensaje = result.Succeeded ? "Se creo Satisfactoriamente" : "Error al crear el Rol: " + result.Errors.FirstOrDefault(), Estado = result.Succeeded
            }, JsonRequestBehavior.AllowGet));
        }
示例#4
0
 public ActionResult ResetContrasena(int Id)
 {
     using (var context = new CripcoEntities())
     {
         return(PartialView(new CambiarContrasenaViewModel {
             IdUser = Id
         }));
     }
 }
示例#5
0
 public ActionResult CambiarEstado(int Id)
 {
     using (var context = new CripcoEntities())
     {
         var horario = context.Horario.Find(Id);
         horario.Activo = !horario.Activo;
         return(Json(EnviarResultado(context.SaveChanges() > 0, "Cambiar Estado"), JsonRequestBehavior.AllowGet));
     }
 }
示例#6
0
 public ActionResult Editar(string Id)
 {
     using (var context = new CripcoEntities())
     {
         var role = context.AspNetRoles.Find(Id);
         return(PartialView(new CrearRolViewModel {
             Id = role.Id, Nombre = role.Name, EsEditar = true, Estado = role.Activo ?? false
         }));
     }
 }
        public FileResult DescargarArchivo(int Id)
        {
            using (var context = new CripcoEntities())
            {
                var expediente = context.Expediente.Find(Id);

                byte[] fileBytes = expediente.Documento;
                return(File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, expediente.ExtensionDocumento));
            }
        }
 public ActionResult MostrarCrearExpediente(int Id)
 {
     using (var context = new CripcoEntities())
     {
         var cita = context.Cita.FirstOrDefault(x => x.HorarioID == Id && x.Activo);
         return(PartialView(new ExpedientesViewModel {
             CitaID = cita.CitaID
         }));
     }
 }
示例#9
0
 public ActionResult Listar()
 {
     using (var context = new CripcoEntities())
     {
         var jsonResult = Json(context.AspNetRoles.Select(x => new CrearRolViewModel {
             Id = x.Id, Nombre = x.Name, Estado = x.Activo ?? false
         }).ToList(), JsonRequestBehavior.AllowGet);
         jsonResult.MaxJsonLength = Int32.MaxValue;
         return(jsonResult);
     }
 }
示例#10
0
 public ActionResult Listar()
 {
     using (var context = new CripcoEntities())
     {
         var idUsuario  = ObtenerIdUsuario();
         var jsonResult = Json(context.Horario.Any(x => x.PersonaID == idUsuario) ? context.Horario.Where(x => x.PersonaID == idUsuario)?.Select(x => new ListaHorarioViewModel {
             Id = x.HorarioID, Fecha = x.Hora, Estado = x.Activo, Reservado = x.Reservado
         }).OrderBy(x => x.Fecha).ToList(): new List <ListaHorarioViewModel>(), JsonRequestBehavior.AllowGet);
         jsonResult.MaxJsonLength = Int32.MaxValue;
         return(jsonResult);
     }
 }
示例#11
0
 public ActionResult CrearUsuario()
 {
     using (var context = new CripcoEntities())
     {
         ViewBag.ListaTipoUsuario = context.AspNetRoles.Where(x => x.Activo ?? false).Select(x => new SelectListItem {
             Value = x.Id, Text = x.Name
         }).ToList();
         return(View(new CrearUsuarioViewModel {
             FechaNac = DateTime.Now
         }));
     }
 }
示例#12
0
 public ActionResult MostrarCrearHorario()
 {
     using (var context = new CripcoEntities())
     {
         Thread.CurrentThread.CurrentCulture = new CultureInfo("es-ES");
         ViewBag.ListaSalas = context.Sala.Where(x => x.Activo ?? false).Select(x => new SelectListItem {
             Value = x.SalaID.ToString(), Text = x.Area.Nombre + " / " + x.Nombre
         }).ToList();
         return(PartialView(new CrearHorarioViewModel {
             FechaInicio = DateTime.Now, FechaFinal = DateTime.Now
         }));
     }
 }
 public ActionResult MostrarEditarExpediente(int id)
 {
     using (var context = new CripcoEntities())
     {
         var expediente = context.Expediente.Find(id);
         return(PartialView(new ExpedientesViewModel
         {
             Comentario = expediente.Comentario,
             Documento = (HttpPostedFileBase) new MemoryPostedFile(expediente.Documento),
             Activo = expediente.Activo,
             Id = expediente.ExpedienteID
         }));
     }
 }
示例#14
0
 public ActionResult Editar(CrearRolViewModel model)
 {
     using (var context = new CripcoEntities())
     {
         var rol = context.AspNetRoles.Find(model.Id);
         rol.Name   = model.Nombre;
         rol.Activo = model.Estado;
         context.Entry(rol).State = System.Data.Entity.EntityState.Modified;
         var result = context.SaveChanges() > 0;
         return(Json(new MensajeRespuestaViewModel {
             Titulo = "Editar Rol", Mensaje = result ? "Se edito Satisfactoriamente" : "Error al editar ", Estado = result
         }, JsonRequestBehavior.AllowGet));
     }
 }
示例#15
0
 public ActionResult EditarInfoUsuario(int Id)
 {
     using (var context = new CripcoEntities())
     {
         var usuario = context.Persona.Find(Id);
         return(PartialView(new CrearUsuarioViewModel
         {
             Nombre = usuario.Nombre,
             Apellido = usuario.Apellido,
             FechaNac = usuario.FechaNac,
             Telefono = usuario.Telefono,
             Identidad = usuario.Identidad
         }));
     }
 }
 // GET: Expedientes
 public ActionResult Index()
 {
     using (var context = new CripcoEntities())
     {
         var listaExpediente = context.Expediente.Select(x => new ListaExpedienteViewModel {
             Id         = x.ExpedienteID,
             Comentario = x.Comentario,
             Documento  = x.Documento,
             Activo     = x.Activo,
             Paciente   = x.Cita.Persona.Nombre + " " + x.Cita.Persona.Apellido,
             Extension  = x.ExtensionDocumento
         }).ToList();
         return(View(listaExpediente));
     }
 }
示例#17
0
        public ActionResult DeshabilitarUsuario(int Id)
        {
            using (var context = new CripcoEntities())
            {
                var usuario = context.Persona.Find(Id);
                usuario.Activo = false;

                var result = context.SaveChanges() > 0;
                return(Json(new MensajeRespuestaViewModel
                {
                    Titulo = "Deshabilitar Usuario",
                    Mensaje = result ? "Se deshabilito Satisfactoriamente" : "Error al deshabilitar el usuario",
                    Estado = result
                }, JsonRequestBehavior.AllowGet));
            }
        }
示例#18
0
        public async Task <ActionResult> ResetContrasena(CambiarContrasenaViewModel model)
        {
            using (var context = new CripcoEntities())
            {
                var    User = context.Persona.Find(model.IdUser);
                string code = await UserManager.GeneratePasswordResetTokenAsync(User.IdAspnetUser);

                var result = await UserManager.ResetPasswordAsync(User.IdAspnetUser, code, model.NewPassword);

                return(Json(new MensajeRespuestaViewModel
                {
                    Titulo = "Cambiar Contrasena",
                    Mensaje = result.Succeeded ? "Se cambio Satisfactoriamente" : "Error al cambiar la contrasena",
                    Estado = result.Succeeded
                }, JsonRequestBehavior.AllowGet));
            }
        }
 public ActionResult EditarExpediente(ExpedientesViewModel model)
 {
     using (var context = new CripcoEntities())
     {
         var expediente = context.Expediente.Find(model.Id);
         expediente.Comentario           = model.Comentario;
         expediente.ModificadoPor        = User.Identity.Name;
         context.Entry(expediente).State = EntityState.Modified;
         var result = context.SaveChanges() > 0;
         return(Json(new MensajeRespuestaViewModel
         {
             Titulo = "Editar Expediente",
             Mensaje = result ? "Se edito satisfactoriamente" : "Error al editar el expediente",
             Estado = result
         }, JsonRequestBehavior.AllowGet));
     }
 }
示例#20
0
 public ActionResult Edit([Bind(Include = "EspecialidadID,Nombre,CreadoPor,FechaCreado,ModificadoPor,Activo")] Especialidad especialidad)
 {
     using (var context = new CripcoEntities())
     {
         context.Especialidad.Add(new Especialidad
         {
             Nombre        = especialidad.Nombre,
             CreadoPor     = User.Identity.Name,
             ModificadoPor = User.Identity.Name,
             FechaCreado   = DateTime.Now,
             Activo        = true
         });
         var result = context.SaveChanges() > 0;
         // return Json((context.SaveChanges() > 0, "Crear Expediente"), JsonRequestBehavior.AllowGet);
         return(RedirectToAction("Index"));
     }
 }
示例#21
0
        public ActionResult DetalleUsuario()
        {
            using (var context = new CripcoEntities())
            {
                int idUsuario = ObtenerIdUsuario();
                var Usuario   = context.Persona.FirstOrDefault(x => x.PersonaID == idUsuario);

                var detalleUsuario = new DetalleUsuarioViewModel {
                    PersonaID = Usuario.PersonaID,
                    Nombre    = Usuario.Nombre,
                    Apellido  = Usuario.Apellido,
                    Identidad = Usuario.Identidad,
                    FechaNac  = Usuario.FechaNac,
                    Telefono  = Usuario.Telefono,
                };
                return(View(detalleUsuario));
            }
        }
示例#22
0
        public async Task <ActionResult> CrearUsuario(CrearUsuarioViewModel model)
        {
            try
            {
                using (var context = new CripcoEntities())
                {
                    var user = new ApplicationUser {
                        UserName = model.UserName.Trim(), Email = model.Email.Trim()
                    };
                    var result = await UserManager.CreateAsync(user, model.Password.Trim());

                    if (result.Succeeded)
                    {
                        await UserManager.AddToRoleAsync(user.Id, context.AspNetRoles.Find(model.RoleUsuario).Name);

                        var test = context.Persona.Add(new Persona
                        {
                            Nombre        = model.Nombre.Trim(),
                            Apellido      = model.Apellido.Trim(),
                            FechaNac      = model.FechaNac,
                            IdAspnetUser  = user.Id,
                            Telefono      = model.Telefono,
                            Identidad     = model.Identidad,
                            Activo        = true,
                            CreadoPor     = User.Identity.Name,
                            ModificadoPor = User.Identity.Name,
                            FechaCreado   = DateTime.Now,
                        });

                        var resultado = context.SaveChanges() > 0;
                        return(Json(EnviarResultado(resultado, "Crear Usuario"), JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        return(Json(EnviarResultado(result.Succeeded, result.Errors.FirstOrDefault()), JsonRequestBehavior.AllowGet));
                    }
                }
            }
            catch (Exception e)
            {
                return(Json(EnviarResultado(false, e.Message), JsonRequestBehavior.AllowGet));
            }
        }
示例#23
0
 public bool HorarioExistente(DateTime HorarioNuevo, int idUsuario)
 {
     using (var context = new CripcoEntities())
     {
         foreach (var horario in context.Horario.Where(x => x.PersonaID == idUsuario).ToList())
         {
             if (DateTime.Compare(HorarioNuevo, horario.Hora) == 0)
             {
                 if (!horario.Activo)
                 {
                     horario.Activo = true;
                     context.SaveChanges();
                 }
                 return(true);
             }
         }
         return(false);
     }
 }
        public ActionResult CrearExpediente(ExpedientesViewModel model)
        {
            using (var context = new CripcoEntities())
            {
                byte[] uploadedFile = new byte[model.Documento.InputStream.Length];

                context.Expediente.Add(new Expediente {
                    CitaID             = model.CitaID,
                    Activo             = true,
                    ExtensionDocumento = model.Documento.FileName,
                    Comentario         = model.Comentario,
                    Documento          = uploadedFile,
                    CreadoPor          = User.Identity.Name,
                    ModificadoPor      = User.Identity.Name,
                    FechaCreado        = DateTime.Now,
                });
                var result = context.SaveChanges() > 0;
                return(RedirectToAction("Index"));
            }
        }
示例#25
0
        public ActionResult VerCitasDelPaciente()
        {
            using (var context = new CripcoEntities())
            {
                var IdUsuario     = ObtenerIdUsuario();
                var listaHorarios = context.Cita.Any(x => x.PersonaPacienteID == IdUsuario && x.Activo) ? context.Cita.Where(x => x.PersonaPacienteID == IdUsuario && x.Activo)?.Select(x => new ListaHorarioViewModel {
                    Id = x.HorarioID, Fecha = x.Horario.Hora, Estado = x.Activo, Reservado = x.Horario.Reservado
                }).ToList() : new List <ListaHorarioViewModel>();
                var listfinal = new List <ListaHorarioViewModel>();
                listaHorarios.ForEach(x =>
                {
                    if (x.Fecha.Date > DateTime.Now.Date)
                    {
                        listfinal.Add(x);
                    }
                });

                return(PartialView(listfinal));
            }
        }
示例#26
0
        public ActionResult CrearRangoHorario(CrearHorarioViewModel model)
        {
            using (var context = new CripcoEntities())
            {
                var idUsuario   = ObtenerIdUsuario();
                var HoraInicio  = new DateTime(model.HoraInicio.Year, model.HoraInicio.Month, model.HoraInicio.Day, model.HoraInicio.Hour, 0, 0);
                var HoraFinal   = new DateTime(model.HoraFinal.Year, model.HoraFinal.Month, model.HoraFinal.Day, model.HoraFinal.Hour, 0, 0);
                var FechaInicio = new DateTime(model.FechaInicio.Year, model.FechaInicio.Month, model.FechaInicio.Day, 0, 0, 0);
                var FechaFinal  = new DateTime(model.FechaFinal.Year, model.FechaFinal.Month, model.FechaFinal.Day, 0, 0, 0);

                var CantidadTiempo = FechaFinal - FechaInicio;
                var CantidadHoras  = HoraFinal - HoraInicio;
                var Fecha          = FechaInicio;

                for (var i = 0; i <= CantidadTiempo.Days; i++)
                {
                    var Hora = HoraInicio;
                    for (var j = 0; j <= CantidadHoras.Hours; j++)
                    {
                        var HorarioNuevo = new DateTime(Fecha.Year, Fecha.Month, Fecha.Day, Hora.Hour, 0, 0);
                        if (!HorarioExistente(HorarioNuevo, idUsuario))// { }// return Json(EnviarResultado(true, "El horario ya existe", "Si estaba inactivo se cambio a activo", ""), JsonRequestBehavior.AllowGet);
                        {
                            context.Horario.Add(new Horario
                            {
                                PersonaID     = idUsuario,
                                Hora          = HorarioNuevo,
                                Reservado     = false,
                                CreadoPor     = User.Identity.Name,
                                FechaCreado   = DateTime.Now,
                                ModificadoPor = User.Identity.Name,
                                Activo        = true,
                                IdSala        = model.IdSala
                            });
                        }
                        Hora = Hora.AddHours(1);
                    }
                    Fecha = Fecha.AddDays(1);
                }
                return(Json(EnviarResultado(context.SaveChanges() > 0, "Crear Horarios", "Se crearon nuevos horarios", "Horario Existente"), JsonRequestBehavior.AllowGet));
            }
        }
示例#27
0
        public ActionResult ReservarCita(int IdHorario, int?IdUsuario)
        {
            using (var context = new CripcoEntities())
            {
                context.Cita.Add(new Cita {
                    Activo            = true,
                    CreadoPor         = User.Identity.Name,
                    ModificadoPor     = User.Identity.Name,
                    FechaCreado       = DateTime.Now,
                    HorarioID         = IdHorario,
                    PersonaPacienteID = IdUsuario.HasValue?IdUsuario ?? 0: ObtenerIdUsuario(),
                });

                var horario = context.Horario.Find(IdHorario);
                horario.Reservado = true;

                var result = context.SaveChanges() > 0;

                return(Json(EnviarResultado(result, "Reservar Cita"), JsonRequestBehavior.AllowGet));
            }
        }
示例#28
0
 public ActionResult EditarInfoUsuario(CrearUsuarioViewModel model)
 {
     using (var context = new CripcoEntities())
     {
         var usuario = context.Persona.Find(model.Id);
         usuario.Nombre               = model.Nombre;
         usuario.Apellido             = model.Apellido;
         usuario.FechaNac             = model.FechaNac;
         usuario.Telefono             = model.Telefono;
         usuario.Identidad            = model.Identidad;
         usuario.ModificadoPor        = User.Identity.Name;
         context.Entry(usuario).State = EntityState.Modified;
         var result = context.SaveChanges() > 0;
         return(Json(new MensajeRespuestaViewModel
         {
             Titulo = "Editar Usuario",
             Mensaje = result ? "Se edito Satisfactoriamente" : "Error al editar el usuario",
             Estado = result
         }, JsonRequestBehavior.AllowGet));
     }
 }
示例#29
0
        public async Task <ActionResult> EditarCuentaUsuario(int Id)
        {
            using (var context = new CripcoEntities())
            {
                ViewBag.ListaTipoUsuario = context.AspNetRoles.Where(x => x.Activo ?? false).Select(x => new SelectListItem {
                    Value = x.Id, Text = x.Name
                }).ToList();
                var usuario = context.Persona.Find(Id);
                var roles   = await UserManager.GetRolesAsync(usuario.IdAspnetUser);

                return(PartialView(new CrearUsuarioViewModel
                {
                    Id = usuario.PersonaID,
                    UserName = usuario.AspNetUsers.UserName,
                    Email = usuario.AspNetUsers.Email,
                    IdAspNetUser = usuario.IdAspnetUser,
                    RoleUsuario = usuario.AspNetUsers.AspNetRoles.FirstOrDefault()?.Id ?? "",
                    Estado = usuario.Activo
                }));
            }
        }
示例#30
0
        public ActionResult ObtenerListaEspecialidades(int Id)
        {
            try
            {
                using (var context = new CripcoEntities())
                {
                    ViewBag.IdPersona = Id;
                    var listarEspecialidades = context.Especialidad.Select(x => new SeleccionEspecialidadesViewModel {
                        id     = x.EspecialidadID,
                        nombre = x.Nombre,
                        especialidadSeleccionada = x.PersonaEspecialidad.Any(y => y.PersonaID == Id)
                    }).ToList();

                    return(PartialView(listarEspecialidades));
                }
            }
            catch (Exception e)
            {
                return(View());
            }
        }