Ejemplo n.º 1
0
        public async Task <IActionResult> Edit(Carrera carrera)
        {
            var i = (ClaimsIdentity)User.Identity;
            List <SelectListItem> Facultad = new SelectList(_context.Facultad.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList();

            if (i.IsAuthenticated)
            {
                try
                {
                    if (ModelState.IsValid)
                    {
                        try
                        {
                            carrera.Codigo = Encriptacion.Decrypt(carrera.Codigo);
                            _context.Update(carrera);
                            await _context.SaveChangesAsync();

                            await _auditoria.GuardarLogAuditoria(Funciones.ObtenerFechaActual("SA Pacific Standard Time"), i.Name, "Carrera", carrera.Codigo, "U");

                            Facultad.Insert(0, vacio);
                            ViewData["CodigoFacultad"] = Facultad;

                            ViewBag.Message = "Save";

                            return(View(carrera));
                        }
                        catch (DbUpdateConcurrencyException)
                        {
                            throw;
                        }
                    }

                    Facultad.Insert(0, vacio);
                    ViewData["CodigoFacultad"] = Facultad;

                    return(View(carrera));
                }
                catch (Exception e)
                {
                    string mensaje = e.Message;
                    if (e.InnerException != null)
                    {
                        mensaje = MensajesError.UniqueKey(e.InnerException.Message);
                    }

                    Facultad.Insert(0, vacio);
                    ViewData["CodigoFacultad"] = Facultad;

                    ViewBag.Message = mensaje;

                    return(View(carrera));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }
Ejemplo n.º 2
0
        // GET: CertificadosMedicos/Edit/5
        public async Task <IActionResult> Edit(string Codigo)
        {
            var i = (ClaimsIdentity)User.Identity;

            if (i.IsAuthenticated)
            {
                var permisos = i.Claims.Where(c => c.Type == "CertificadosMedicos").Select(c => c.Value).SingleOrDefault().Split(";");
                Codigo = Encriptacion.Decrypt(Codigo);

                if (Convert.ToBoolean(permisos[2]))
                {
                    if (Codigo == null)
                    {
                        return(NotFound());
                    }


                    var cita = await _context.CitaOdontologica.Include(c => c.Paciente).Include(c => c.Personal).SingleOrDefaultAsync(f => f.Codigo == Codigo);

                    var diag = _context.Diagnostico.Include(d => d.DiagnosticoCie10).ThenInclude(d => d.Cie10).Where(d => d.CodigoCitaOdontologica == cita.Codigo).SingleOrDefault();
                    if (cita == null)
                    {
                        return(NotFound());
                    }

                    CertificadoMedicoImprimir cmi = new CertificadoMedicoImprimir();

                    cmi.CedulaPaciente = cita.Paciente.Identificacion;
                    cmi.NombrePaciente = cita.Paciente.NombreCompleto;
                    cmi.FechaCita      = cita.FechaInicio;               //new DateTime(cita.FechaInicio.Day, cita.FechaInicio.Month, cita.FechaInicio.Year);
                    cmi.HoraInicio     = cita.HoraInicio;
                    cmi.HoraFin        = cita.HoraFin;
                    List <SelectListItem> Cie10 = new SelectList(_context.Cie10.OrderBy(f => f.CodigoInterno), "Codigo", "CodigoNombre", diag.DiagnosticoCie10[0].Cie10.Codigo).ToList();
                    Cie10.Insert(0, vacio);
                    ViewData["CIE10"] = Cie10;
                    cmi.CIE10Nombre   = diag.DiagnosticoCie10[0].Cie10.CodigoInterno + " - " + diag.DiagnosticoCie10[0].Cie10.Nombre;
                    cmi.Procedimiento = "";
                    cmi.Pieza         = diag.Pieza;
                    cmi.Reposo        = false;
                    //cmi.FechaInicioReposo = Funciones.ObtenerFechaActual("SA Pacific Standard Time");
                    //	cmi.FechaFinReposo = Funciones.ObtenerFechaActual("SA Pacific Standard Time");
                    //cmi.FechaReincorporarse = Funciones.ObtenerFechaActual("SA Pacific Standard Time");
                    cmi.Fecha        = Funciones.ObtenerFechaActual("SA Pacific Standard Time");
                    cmi.NombreMedico = cita.Personal.NombreCompleto;

                    return(View(cmi));
                }
                else
                {
                    return(Redirect("../CertificadosMedicos"));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }
Ejemplo n.º 3
0
        // GET: Pacientes/Edit/5
        public async Task <IActionResult> Edit(string codigo)
        {
            var i = (ClaimsIdentity)User.Identity;

            if (i.IsAuthenticated)
            {
                var permisos = i.Claims.Where(c => c.Type == "Pacientes").Select(c => c.Value).SingleOrDefault().Split(";");
                codigo = Encriptacion.Decrypt(codigo);
                if (Convert.ToBoolean(permisos[2]))
                {
                    if (codigo == null)
                    {
                        return(NotFound());
                    }

                    var paciente = await _context.Paciente.Include(p => p.TipoIdentificacion)
                                   .Include(p => p.Carrera)
                                   .Include(p => p.Facultad).
                                   SingleOrDefaultAsync(f => f.Codigo == codigo);


                    if (paciente == null)
                    {
                        return(NotFound());
                    }


                    List <SelectListItem> TipoIdentificacion = new SelectList(_context.TipoIdentificacion.OrderBy(t => t.Nombre), "Codigo", "Nombre", paciente.CodigoTipoIdentificacion).ToList();
                    TipoIdentificacion.Insert(0, vacio);
                    ViewData["CodigoTipoIdentificacion"] = TipoIdentificacion;

                    List <SelectListItem> Facultad = new SelectList(_context.Facultad.OrderBy(f => f.Nombre), "Codigo", "Nombre", paciente.CodigoFacultad).ToList();
                    Facultad.Insert(0, vacio);
                    ViewData["CodigoFacultad"] = Facultad;

                    List <SelectListItem> Carrera = new SelectList(_context.Carrera.OrderBy(f => f.Nombre), "Codigo", "Nombre", paciente.CodigoCarrera).ToList();
                    Carrera.Insert(0, vacio);
                    ViewData["CodigoCarrera"] = Carrera;

                    return(View(paciente));
                }
                else
                {
                    return(Redirect("../Pacientes"));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }
        // GET: RecetaMedica/Edit/5
        public async Task <IActionResult> Edit(string codigo)
        {
            var i = (ClaimsIdentity)User.Identity;

            if (i.IsAuthenticated)
            {
                var permisos = i.Claims.Where(c => c.Type == "RecetaMedica").Select(c => c.Value).SingleOrDefault().Split(";");
                codigo = Encriptacion.Decrypt(codigo);
                if (Convert.ToBoolean(permisos[2]))
                {
                    if (codigo == null)
                    {
                        return(NotFound());
                    }

                    var receta = await _context.RecetaMedica.Include(a => a.CitaOdontologica).ThenInclude(h => h.Paciente)
                                 .Include(an => an.CitaOdontologica).ThenInclude(hc => hc.Personal).SingleOrDefaultAsync(f => f.Codigo == codigo);

                    if (receta == null)
                    {
                        return(NotFound());
                    }


                    List <SelectListItem> Personal = new SelectList(_context.Personal.OrderBy(c => c.NombreCompleto).Where(c => c.Estado == true), "Codigo", "NombreCompleto", receta.CitaOdontologica.Personal.Codigo).ToList();
                    Personal.Insert(0, vacio);
                    ViewData["CodigoPersonal"] = Personal;

                    List <SelectListItem> Paciente = new SelectList(_context.Paciente.OrderBy(p => p.NombreCompleto).Where(p => p.Estado == true), "Codigo", "NombreCompleto", receta.CitaOdontologica.Paciente.Codigo).ToList();
                    Paciente.Insert(0, vacio);
                    ViewData["CodigoPaciente"] = Paciente;

                    List <SelectListItem> PlantillaRM = new SelectList(_context.PlantillaRecetaMedica.OrderBy(c => c.Nombre), "Codigo", "Nombre", receta.CodigoPlantillaRecetaMedica).ToList();;
                    PlantillaRM.Insert(0, vacio);
                    ViewData["CodigoPlantillaReceta"] = PlantillaRM;

                    return(View(receta));
                }
                else
                {
                    return(Redirect("../RecetaMedica"));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }
        public async Task <IActionResult> Edit(Cie10 cie10)
        {
            var i = (ClaimsIdentity)User.Identity;

            if (i.IsAuthenticated)
            {
                try
                {
                    if (ModelState.IsValid)
                    {
                        try
                        {
                            cie10.Codigo = Encriptacion.Decrypt(cie10.Codigo);
                            _context.Update(cie10);
                            await _context.SaveChangesAsync();

                            await _auditoria.GuardarLogAuditoria(Funciones.ObtenerFechaActual("SA Pacific Standard Time"), i.Name, "CIE10", cie10.Codigo, "U");

                            ViewBag.Message = "Save";

                            return(View(cie10));
                        }
                        catch (DbUpdateConcurrencyException)
                        {
                            throw;
                        }
                    }

                    return(View(cie10));
                }
                catch (Exception e)
                {
                    string mensaje = e.Message;
                    if (e.InnerException != null)
                    {
                        mensaje = MensajesError.UniqueKey(e.InnerException.Message);
                    }

                    ViewBag.Message = mensaje;

                    return(View(cie10));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }
Ejemplo n.º 6
0
        // GET: Personals/Edit/5
        public async Task <IActionResult> Edit(string codigo)
        {
            var i = (ClaimsIdentity)User.Identity;

            if (i.IsAuthenticated)
            {
                var permisos = i.Claims.Where(c => c.Type == "Personal").Select(c => c.Value).SingleOrDefault().Split(";");
                codigo = Encriptacion.Decrypt(codigo);
                if (Convert.ToBoolean(permisos[2]))
                {
                    if (codigo == null)
                    {
                        return(NotFound());
                    }

                    var personal = await _context.Personal.SingleOrDefaultAsync(f => f.Codigo == codigo);

                    if (personal == null)
                    {
                        return(NotFound());
                    }


                    List <SelectListItem> Cargo = new SelectList(_context.Cargo.OrderBy(c => c.Nombre), "Codigo", "Nombre").ToList();
                    Cargo.Insert(0, vacio);
                    ViewData["CodigoCargo"] = Cargo;


                    List <SelectListItem> TipoIdentificacion = new SelectList(_context.TipoIdentificacion.OrderBy(ti => ti.Nombre), "Codigo", "Nombre").ToList();
                    TipoIdentificacion.Insert(0, vacio);
                    ViewData["CodigoTipoIdentificacion"] = TipoIdentificacion;

                    return(View(personal));
                }
                else
                {
                    return(Redirect("../Personal"));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }
        // GET: Usuario/Edit/5
        public async Task <IActionResult> Edit(String codigo)
        {
            var i = (ClaimsIdentity)User.Identity;

            if (i.IsAuthenticated)
            {
                var permisos = i.Claims.Where(c => c.Type == "Usuarios").Select(c => c.Value).SingleOrDefault().Split(";");
                codigo = Encriptacion.Decrypt(codigo);
                if (Convert.ToBoolean(permisos[2]))
                {
                    if (codigo == null)
                    {
                        return(NotFound());
                    }

                    var usuario = await _context.Usuario.SingleOrDefaultAsync(f => f.Codigo == codigo);

                    if (usuario == null)
                    {
                        return(NotFound());
                    }

                    List <SelectListItem> Perfil = new SelectList(_context.Perfil.OrderBy(f => f.Nombre), "Codigo", "Nombre", usuario.CodigoPerfil).ToList();
                    Perfil.Insert(0, vacio);
                    ViewData["CodigoPerfil"] = Perfil;

                    List <SelectListItem> Personal = new SelectList(_context.Personal.OrderBy(f => f.NombreCompleto), "Codigo", "NombreCompleto", usuario.CodigoPersonal).ToList();
                    Personal.Insert(0, vacio);
                    ViewData["CodigoPersonal"] = Personal;

                    return(View(usuario));
                }
                else
                {
                    return(Redirect("../Usuarios"));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }
Ejemplo n.º 8
0
        // GET: Carrera/Edit/5
        public async Task <IActionResult> Edit(String codigo)
        {
            var i = (ClaimsIdentity)User.Identity;

            if (i.IsAuthenticated)
            {
                var permisos = i.Claims.Where(c => c.Type == "Carreras").Select(c => c.Value).SingleOrDefault().Split(";");
                codigo = Encriptacion.Decrypt(codigo);
                if (Convert.ToBoolean(permisos[2]))
                {
                    if (codigo == null)
                    {
                        return(NotFound());
                    }

                    var carrera = await _context.Carrera.SingleOrDefaultAsync(f => f.Codigo == codigo);

                    if (carrera == null)
                    {
                        return(NotFound());
                    }

                    List <SelectListItem> Facultad = new SelectList(_context.Facultad.OrderBy(f => f.Nombre), "Codigo", "Nombre", carrera.CodigoFacultad).ToList();
                    Facultad.Insert(0, vacio);
                    ViewData["CodigoFacultad"] = Facultad;

                    return(View(carrera));
                }
                else
                {
                    return(Redirect("../Carreras"));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }
Ejemplo n.º 9
0
        // GET: CitasOdontologicas/Edit/5
        public async Task <IActionResult> Edit(string Codigo)
        {
            var i = (ClaimsIdentity)User.Identity;

            if (i.IsAuthenticated)
            {
                var permisos = i.Claims.Where(c => c.Type == "CitasOdontologicas").Select(c => c.Value).SingleOrDefault().Split(";");
                Codigo = Encriptacion.Decrypt(Codigo);
                if (Convert.ToBoolean(permisos[2]))
                {
                    if (Codigo == null)
                    {
                        return(NotFound());
                    }

                    var citaOdontologica = await _context.CitaOdontologica.SingleOrDefaultAsync(f => f.Codigo == Codigo);

                    if (citaOdontologica == null)
                    {
                        return(NotFound());
                    }

                    //var cita = _context.CitaOdontologica.Where(c => c.Codigo == codigo).SingleOrDefault();
                    var paciente = _context.Paciente.Where(p => p.Codigo == citaOdontologica.CodigoPaciente).Include(p => p.Facultad).Include(p => p.Carrera).SingleOrDefault();

                    //datos del paciente
                    ViewData["Cedula"]    = paciente.Identificacion;
                    ViewData["Nombre"]    = paciente.NombreCompleto;
                    ViewData["Direccion"] = paciente.Direccion;
                    ViewData["Correo"]    = paciente.MailEpn;
                    ViewData["Telefono"]  = paciente.Celular;

                    citaOdontologica.Identificacion = paciente.Identificacion;

                    if (paciente.Facultad == null)
                    {
                        ViewData["Facultad"] = "";
                        ViewData["Carrera"]  = "";
                    }
                    else
                    {
                        ViewData["Facultad"] = paciente.Facultad.Nombre;
                        ViewData["Carrera"]  = paciente.Carrera.Nombre;
                    }

                    ViewData["CodigoCitaOdontologica"] = Codigo;

                    //paciente
                    List <SelectListItem> TipoIdentificacion = new SelectList(_context.TipoIdentificacion.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList();
                    ViewData["CodigoTipoIdentificacion"] = TipoIdentificacion;

                    List <SelectListItem> Facultad = new SelectList(_context.Facultad.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList();
                    Facultad.Insert(0, vacio);
                    ViewData["CodigoFacultad"] = Facultad;

                    //anamnesis

                    List <SelectListItem> Enfermedades = null;
                    Enfermedades = new SelectList(_context.Enfermedad.OrderBy(c => c.Nombre).Where(c => c.Estado == true), "Codigo", "Nombre").ToList();
                    ViewData["AnamnesisEnfermedad"] = Enfermedades;

                    //diagnostico
                    List <SelectListItem> Cie10 = new SelectList(_context.Cie10.OrderBy(f => f.CodigoInterno), "Codigo", "CodigoNombre").ToList();                   //.Where(f => f.Nombre.StartsWith("C")).ToList(); //QUITAR LUEGO					;
                    Cie10.Insert(0, vacio);
                    ViewData["CIE10"] = Cie10;

                    //consentimiento informado
                    var PlantillaCI = _context.PlantillaConsentimientoInformado.Where(c => c.Nombre.Contains("Consentimiento Informado")).SingleOrDefault();
                    ViewData["Descripcion"] = PlantillaCI.Descripcion;

                    //receta medica
                    List <SelectListItem> PlantillaRM = new SelectList(_context.PlantillaRecetaMedica.OrderBy(c => c.Nombre), "Codigo", "Nombre").ToList();
                    PlantillaRM.Insert(0, vacio);
                    ViewData["CodigoPlantillaReceta"] = PlantillaRM;

                    return(View(citaOdontologica));
                }
                else
                {
                    return(Redirect("../CitasOdontologicas"));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }
        public async Task <IActionResult> Edit(Perfil perfil)
        {
            var i = (ClaimsIdentity)User.Identity;

            if (i.IsAuthenticated)
            {
                var permisos = i.Claims.Where(c => c.Type == "Perfiles").Select(c => c.Value).SingleOrDefault().Split(",");
                try
                {
                    if (perfil.Codigo == null)
                    {
                        return(NotFound());
                    }

                    if (ModelState.IsValid)
                    {
                        try
                        {
                            perfil.Codigo = Encriptacion.Decrypt(perfil.Codigo);
                            var PerfilAntiguo = _context.Perfil.Include(p => p.PerfilDetalle).SingleOrDefault(p => p.Codigo == perfil.Codigo);
                            PerfilAntiguo.Nombre              = perfil.Nombre;
                            PerfilAntiguo.FechaModificacion   = Funciones.ObtenerFechaActual("SA Pacific Standard Time");
                            PerfilAntiguo.UsuarioModificacion = i.Name;
                            foreach (PerfilDetalle perfilDetalle in perfil.PerfilDetalle)
                            {
                                perfilDetalle.CodigoPerfil = perfil.Codigo;
                                perfilDetalle.Menu         = null;
                            }
                            PerfilAntiguo.PerfilDetalle = perfil.PerfilDetalle;
                            _context.Update(PerfilAntiguo);
                            await _context.SaveChangesAsync();

                            await _auditoria.GuardarLogAuditoria(Convert.ToDateTime(PerfilAntiguo.FechaModificacion), PerfilAntiguo.UsuarioModificacion, "Perfil", perfil.Codigo, "U");

                            ViewBag.Message = "Save";
                            List <Menu> men = _context.Menu.ToList();
                            return(View(perfil));
                        }
                        catch (DbUpdateConcurrencyException)
                        {
                            throw;
                        }
                    }
                    List <Menu> menus = _context.Menu.ToList();
                    return(View(perfil));
                }
                catch (Exception e)
                {
                    string mensaje = e.Message;
                    if (e.InnerException != null)
                    {
                        mensaje = MensajesError.UniqueKey(e.InnerException.Message);
                    }

                    ViewBag.Message = mensaje;
                    List <Menu> menus = _context.Menu.ToList();
                    return(View(perfil));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }
        // GET: Perfiles/Edit/5
        public async Task <IActionResult> Edit(string codigo)
        {
            var i = (ClaimsIdentity)User.Identity;

            if (i.IsAuthenticated)
            {
                var permisos = i.Claims.Where(c => c.Type == "Perfiles").Select(c => c.Value).SingleOrDefault().Split(";");
                codigo = Encriptacion.Decrypt(codigo);
                if (Convert.ToBoolean(permisos[2]))
                {
                    if (codigo == null)
                    {
                        return(NotFound());
                    }

                    var perfil = await _context.Perfil.Include(f => f.PerfilDetalle).SingleOrDefaultAsync(f => f.Codigo == codigo);

                    if (perfil == null)
                    {
                        return(NotFound());
                    }

                    List <Menu> menus = _context.Menu.Include(m => m.SubMenu).Where(m => m.CodigoMenu == null).ToList();

                    Perfil p = new Perfil
                    {
                        Codigo          = perfil.Codigo,
                        Nombre          = perfil.Nombre,
                        FechaCreacion   = perfil.FechaCreacion,
                        UsuarioCreacion = perfil.UsuarioCreacion,
                        PerfilDetalle   = new List <PerfilDetalle>()
                    };
                    foreach (Menu menu in menus.Where(m => m.CodigoMenu == null))
                    {
                        var           a       = perfil.PerfilDetalle.Single(f => f.CodigoMenu == menu.Codigo);
                        PerfilDetalle detalle = new PerfilDetalle
                        {
                            CodigoPerfil = a.CodigoPerfil,
                            CodigoMenu   = a.CodigoMenu,
                            Menu         = new Menu()
                        };
                        detalle.Menu.Codigo     = a.Menu.Codigo;
                        detalle.Menu.CodigoMenu = menu.CodigoMenu;
                        detalle.Menu.Nombre     = menu.Nombre;
                        detalle.Menu.Visible    = menu.Visible;
                        detalle.Menu.Ver        = menu.Ver;
                        detalle.Menu.Crear      = menu.Crear;
                        detalle.Menu.Editar     = menu.Editar;
                        detalle.Menu.Eliminar   = menu.Eliminar;
                        detalle.Menu.Exportar   = menu.Exportar;
                        detalle.Menu.Importar   = menu.Importar;
                        p.PerfilDetalle.Add(detalle);
                        foreach (Menu subMenu in menu.SubMenu.OrderBy(s => s.Orden))
                        {
                            var           b        = perfil.PerfilDetalle.Single(f => f.CodigoMenu == subMenu.Codigo);
                            PerfilDetalle detalle1 = new PerfilDetalle
                            {
                                CodigoPerfil = b.CodigoPerfil,
                                CodigoMenu   = b.CodigoMenu,
                                Ver          = b.Ver,
                                Crear        = b.Crear,
                                Editar       = b.Editar,
                                Eliminar     = b.Eliminar,
                                Exportar     = b.Exportar,
                                Importar     = b.Importar,
                                Menu         = new Menu
                                {
                                    Codigo     = subMenu.Codigo,
                                    CodigoMenu = subMenu.CodigoMenu,
                                    Nombre     = subMenu.Nombre,
                                    Visible    = subMenu.Visible,
                                    Ver        = subMenu.Ver,
                                    Crear      = subMenu.Crear,
                                    Editar     = subMenu.Editar,
                                    Eliminar   = subMenu.Eliminar,
                                    Exportar   = subMenu.Exportar,
                                    Importar   = subMenu.Importar
                                }
                            };
                            p.PerfilDetalle.Add(detalle1);
                        }
                    }

                    return(View(p));
                }
                else
                {
                    return(Redirect("../Perfiles"));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }
        public async Task <IActionResult> Edit(Anamnesis anamnesis, List <string> enfermedades)
        {
            var i = (ClaimsIdentity)User.Identity;
            List <SelectListItem> Personal = new SelectList(_context.Personal.OrderBy(c => c.NombreCompleto).Where(c => c.Estado == true), "Codigo", "NombreCompleto", anamnesis.CodigoPersonal).ToList();
            List <SelectListItem> Paciente = new SelectList(_context.Paciente.OrderBy(p => p.NombreCompleto).Where(p => p.Estado == true), "Codigo", "NombreCompleto", anamnesis.CodigoPaciente).ToList();

            if (i.IsAuthenticated)
            {
                try
                {
                    if (ModelState.IsValid)
                    {
                        try
                        {
                            var transaction = _context.Database.BeginTransaction();
                            //actualizar anamnesis
                            anamnesis.Codigo = Encriptacion.Decrypt(anamnesis.Codigo);
                            Anamnesis anamnesisAntiguo = _context.Anamnesis.SingleOrDefault(p => p.Codigo == anamnesis.Codigo);
                            anamnesisAntiguo.Codigo = anamnesis.Codigo;
                            anamnesisAntiguo.CodigoCitaOdontologica = anamnesis.CodigoCitaOdontologica;
                            anamnesisAntiguo.MotivoConsulta         = anamnesis.MotivoConsulta;
                            anamnesisAntiguo.EnfermedadActual       = anamnesis.EnfermedadActual;
                            anamnesisAntiguo.Alerta   = anamnesis.Alerta;
                            anamnesisAntiguo.Alergico = anamnesis.Alergico;
                            anamnesisAntiguo.AntecedentesQuirurgicos = anamnesis.AntecedentesQuirurgicos;
                            anamnesisAntiguo.Alergico               = anamnesis.Alergico;
                            anamnesisAntiguo.Medicamentos           = anamnesis.Medicamentos;
                            anamnesisAntiguo.Habitos                = anamnesis.Habitos;
                            anamnesisAntiguo.AntecedentesFamiliares = anamnesis.AntecedentesFamiliares;
                            anamnesisAntiguo.Fuma                   = anamnesis.Fuma;
                            anamnesisAntiguo.Embarazada             = anamnesis.Embarazada;
                            anamnesisAntiguo.UltimaVisitaOdontologo = anamnesis.UltimaVisitaOdontologo;
                            anamnesisAntiguo.Endocrino              = anamnesis.Endocrino;
                            anamnesisAntiguo.Traumatologico         = anamnesis.Traumatologico;
                            anamnesisAntiguo.Fecha                  = fecha;

                            var anamnesisEnf = _context.AnamnesisEnfermedad.Where(a => a.CodigoAnamnesis == anamnesis.Codigo).ToList();
                            foreach (var item in anamnesisEnf)
                            {
                                _context.AnamnesisEnfermedad.Remove(item);
                            }
                            _context.SaveChanges();

                            //guardar AnamenesisEnefermedad
                            Int64 maxCodigoAe = 0;
                            maxCodigoAe = Convert.ToInt64(_context.AnamnesisEnfermedad.Max(f => f.Codigo));

                            foreach (var enf in enfermedades)
                            {
                                AnamnesisEnfermedad anamnesisEnfermedad = new AnamnesisEnfermedad();
                                maxCodigoAe += 1;
                                anamnesisEnfermedad.Codigo           = maxCodigoAe.ToString("D8");
                                anamnesisEnfermedad.CodigoAnamnesis  = anamnesis.Codigo;
                                anamnesisEnfermedad.CodigoEnfermedad = enf;
                                _context.AnamnesisEnfermedad.Add(anamnesisEnfermedad);
                            }

                            //foreach (var enf in anamnesis.AnamnesisEnfermedad)
                            //{
                            //	if (enf.Seleccionado)
                            //	{
                            //		AnamnesisEnfermedad anamnesisEnfermedad = new AnamnesisEnfermedad();
                            //		maxCodigoAe += 1;
                            //		anamnesisEnfermedad.Codigo = maxCodigoAe.ToString("D8");
                            //		//anamnesisEnfermedad.CodigoAnamnesis = null;
                            //		anamnesisEnfermedad.CodigoAnamnesis = anamnesis.Codigo;
                            //		anamnesisEnfermedad.CodigoEnfermedad = enf.Enfermedad.Codigo;
                            //		_context.AnamnesisEnfermedad.Add(anamnesisEnfermedad);
                            //	}
                            //}

                            _context.Update(anamnesisAntiguo);
                            _context.SaveChanges();
                            transaction.Commit();
                            await _auditoria.GuardarLogAuditoria(Funciones.ObtenerFechaActual("SA Pacific Standard Time"), i.Name, "Anamnesis", anamnesis.Codigo, "U");

                            ViewBag.Message = "Save";

                            Personal.Insert(0, vacio);
                            ViewData["CodigoPersonal"] = Personal;

                            Paciente.Insert(0, vacio);
                            ViewData["CodigoPaciente"] = Paciente;

                            return(View(anamnesis));
                        }
                        catch (DbUpdateConcurrencyException)
                        {
                            throw;
                        }
                    }

                    Personal.Insert(0, vacio);
                    ViewData["CodigoPersonal"] = Personal;

                    Paciente.Insert(0, vacio);
                    ViewData["CodigoPaciente"] = Paciente;

                    return(View(anamnesis));
                }
                catch (Exception e)
                {
                    string mensaje = e.Message;
                    if (e.InnerException != null)
                    {
                        mensaje = MensajesError.UniqueKey(e.InnerException.Message);
                    }

                    ViewBag.Message = mensaje;

                    Personal.Insert(0, vacio);
                    ViewData["CodigoPersonal"] = Personal;

                    Paciente.Insert(0, vacio);
                    ViewData["CodigoPaciente"] = Paciente;

                    return(View(anamnesis));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }
        // GET: Anamnesis/Edit/5
        public async Task <IActionResult> Edit(string codigo)
        {
            var i = (ClaimsIdentity)User.Identity;

            if (i.IsAuthenticated)
            {
                var permisos = i.Claims.Where(c => c.Type == "Anamnesis").Select(c => c.Value).SingleOrDefault().Split(";");
                codigo = Encriptacion.Decrypt(codigo);
                if (Convert.ToBoolean(permisos[2]))
                {
                    if (codigo == null)
                    {
                        return(NotFound());
                    }

                    var anamnesis = await _context.Anamnesis.Include(a => a.AnamnesisEnfermedad)
                                    .ThenInclude(a => a.Enfermedad)
                                    .Include(a => a.CitaOdontologica).ThenInclude(h => h.Paciente)
                                    .Include(an => an.CitaOdontologica).ThenInclude(hc => hc.Personal)

                                    .SingleOrDefaultAsync(f => f.Codigo == codigo);

                    if (anamnesis == null)
                    {
                        return(NotFound());
                    }

                    //lista de enfermedades
                    var listaEnfermedades = _context.Enfermedad.OrderBy(f => f.Nombre).ToList();
                    listaEnfermedades = listaEnfermedades.FindAll(f => f.Estado == true);

                    List <AnamnesisEnfermedad> tci = new List <AnamnesisEnfermedad>();
                    tci = anamnesis.AnamnesisEnfermedad;
                    for (int l = 0; l < tci.Count(); l++)
                    {
                        tci[l].Seleccionado = true;
                    }
                    //enfermedades que estan en anamnesisenfermedad
                    List <Enfermedad> listaImpuestosTCI = new List <Enfermedad>();
                    List <string>     listaE            = new List <string>();
                    string            listaEE           = "";
                    foreach (var item in tci)
                    {
                        listaImpuestosTCI.Add(item.Enfermedad);
                        listaE.Add(item.Codigo);
                        listaEE = listaEE + item.Codigo + ",";
                    }
                    //enfermedad que faltan en anamnesisEnfermedad
                    var listaImpuestosAgregar = (from t in listaEnfermedades where !listaImpuestosTCI.Any(x => x.Codigo == t.Codigo) select t).ToList();

                    //agregar a la lista de anamnesisEnfermedad
                    foreach (var l in listaImpuestosAgregar)
                    {
                        AnamnesisEnfermedad ti = new AnamnesisEnfermedad();
                        ti.Enfermedad   = l;
                        ti.Seleccionado = false;
                        anamnesis.AnamnesisEnfermedad.Add(ti);
                    }

                    anamnesis.AnamnesisEnfermedad.OrderBy(p => p.Enfermedad.Nombre);

                    ViewData["AnamnesisEnfermedadSeleccionadas"] = listaEE;                    //listaE.ToString();

                    List <SelectListItem> Enfermedades = null;
                    Enfermedades = new SelectList(_context.Enfermedad.OrderBy(c => c.Nombre).Where(c => c.Estado == true), "Codigo", "Nombre").ToList();
                    //SelectListItem test = new SelectListItem(value: "9", text: "test", selected: true );
                    //Enfermedades.Insert(8, test);

                    ViewData["AnamnesisEnfermedad"] = Enfermedades;


                    //ViewData["AnamnesisEnfermedad"] = anamnesis.AnamnesisEnfermedad;


                    List <SelectListItem> Personal = new SelectList(_context.Personal.OrderBy(c => c.NombreCompleto).Where(c => c.Estado == true), "Codigo", "NombreCompleto", anamnesis.CitaOdontologica.Personal.Codigo).ToList();
                    Personal.Insert(0, vacio);
                    ViewData["CodigoPersonal"] = Personal;

                    List <SelectListItem> Paciente = new SelectList(_context.Paciente.OrderBy(p => p.NombreCompleto).Where(p => p.Estado == true), "Codigo", "NombreCompleto", anamnesis.CitaOdontologica.Paciente.Codigo).ToList();
                    Paciente.Insert(0, vacio);
                    ViewData["CodigoPaciente"] = Paciente;

                    return(View(anamnesis));
                }
                else
                {
                    return(Redirect("../Anamnesis"));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }
        // GET: Diagnostico/Edit/5
        public async Task <IActionResult> Edit(string codigo)
        {
            var i = (ClaimsIdentity)User.Identity;

            if (i.IsAuthenticated)
            {
                var permisos = i.Claims.Where(c => c.Type == "Diagnostico").Select(c => c.Value).SingleOrDefault().Split(";");
                codigo = Encriptacion.Decrypt(codigo);
                if (Convert.ToBoolean(permisos[2]))
                {
                    if (codigo == null)
                    {
                        return(NotFound());
                    }

                    var diagnostico = await _context.Diagnostico.Include(a => a.DiagnosticoCie10)
                                      .ThenInclude(a => a.Cie10)
                                      .Include(a => a.CitaOdontologica).ThenInclude(h => h.Paciente)
                                      .Include(an => an.CitaOdontologica).ThenInclude(hc => hc.Personal)
                                      .SingleOrDefaultAsync(f => f.Codigo == codigo);

                    if (diagnostico == null)
                    {
                        return(NotFound());
                    }

                    //lista de cie10
                    //var listaCie10 = _context.Cie10.OrderBy(f => f.Nombre).ToList();

                    //List<DiagnosticoCie10> tci = new List<DiagnosticoCie10>();
                    //tci = diagnostico.DiagnosticoCie10;
                    //for (int l = 0; l < tci.Count(); l++)
                    //{
                    //	tci[l].Seleccionado = true;
                    //}
                    ////cie10 que estan en diagnosticoCie10
                    //List<Cie10> listaImpuestosTCI = new List<Cie10>();
                    //foreach (var item in tci)
                    //{
                    //	listaImpuestosTCI.Add(item.Cie10);
                    //}
                    ////cie10 que faltan en diagnosticoCie10
                    //var listaCie10Agregar = (from t in listaCie10 where !listaImpuestosTCI.Any(x => x.Codigo == t.Codigo) select t).ToList();

                    ////agregar a la lista de diagnosticoCie10
                    //foreach (var l in listaCie10Agregar)
                    //{
                    //	DiagnosticoCie10 ti = new DiagnosticoCie10();
                    //	ti.Cie10 = l;
                    //	ti.Seleccionado = false;
                    //	diagnostico.DiagnosticoCie10.Add(ti);
                    //}

                    //diagnostico.DiagnosticoCie10.OrderBy(p => p.Cie10.Nombre);

                    //diagnostico.CodigoDiagnosticoCie10.DiagnosticoCie10;

                    ViewData["ImagenDiagnostico"] = diagnostico.Firma;

                    List <SelectListItem> Cie10 = new SelectList(_context.Cie10.OrderBy(f => f.CodigoInterno), "Codigo", "CodigoNombre", diagnostico.DiagnosticoCie10[0].CodigoCie10).ToList();                   //.Where(f => f.Nombre.StartsWith("C")).ToList(); //QUITAR LUEGO					;
                    Cie10.Insert(0, vacio);
                    ViewData["CIE10"] = Cie10;

                    List <SelectListItem> Personal = new SelectList(_context.Personal.OrderBy(c => c.NombreCompleto).Where(c => c.Estado == true), "Codigo", "NombreCompleto", diagnostico.CitaOdontologica.Personal.Codigo).ToList();
                    Personal.Insert(0, vacio);
                    ViewData["CodigoPersonal"] = Personal;

                    List <SelectListItem> Paciente = new SelectList(_context.Paciente.OrderBy(p => p.NombreCompleto).Where(p => p.Estado == true), "Codigo", "NombreCompleto", diagnostico.CitaOdontologica.Paciente.Codigo).ToList();
                    Paciente.Insert(0, vacio);
                    ViewData["CodigoPaciente"] = Paciente;

                    return(View(diagnostico));
                }
                else
                {
                    return(Redirect("../Diagnostico"));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }
Ejemplo n.º 15
0
        public async Task <IActionResult> Edit(Paciente paciente)
        {
            var i = (ClaimsIdentity)User.Identity;
            List <SelectListItem> TipoIdentificacion = new SelectList(_context.TipoIdentificacion.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList();
            List <SelectListItem> Facultad           = new SelectList(_context.Facultad.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList();
            List <SelectListItem> Carrera            = new SelectList(_context.Carrera.OrderBy(f => f.Nombre).Where(p => p.CodigoFacultad == paciente.CodigoFacultad), "Codigo", "Nombre").ToList();

            if (i.IsAuthenticated)
            {
                try
                {
                    if (paciente.FechaNacimiento >= Funciones.ObtenerFechaActual("SA Pacific Standard Time").Date)
                    {
                        var mensajeR = "La fecha debe ser menor a la actual.";
                        if (!string.IsNullOrEmpty(mensajeR))
                        {
                            ModelState.AddModelError("FechaNacimiento", mensajeR);
                        }
                    }

                    if (paciente.CodigoTipoIdentificacion == "0001")
                    {
                        var mensajeR = validaciones.VerifyCedula(paciente.Identificacion);
                        if (!string.IsNullOrEmpty(mensajeR))
                        {
                            ModelState.AddModelError("Identificacion", mensajeR);
                        }
                    }

                    if (paciente.TipoPaciente == "E" || paciente.TipoPaciente == "EB" || paciente.TipoPaciente == "EC" || paciente.TipoPaciente == "EN")
                    {
                        var mensajeR = validaciones.VerifyCampoRequerido(paciente.NumeroUnico);
                        if (!string.IsNullOrEmpty(mensajeR))
                        {
                            ModelState.AddModelError("NumeroUnico", mensajeR);
                        }

                        mensajeR = validaciones.VerifyComboRequerido(paciente.CodigoFacultad);
                        if (!string.IsNullOrEmpty(mensajeR))
                        {
                            ModelState.AddModelError("Facultad", mensajeR);
                        }

                        mensajeR = validaciones.VerifyComboRequerido(paciente.CodigoCarrera);
                        if (!string.IsNullOrEmpty(mensajeR))
                        {
                            ModelState.AddModelError("Carrera", mensajeR);
                        }
                    }
                    else if (paciente.TipoPaciente == "D" || paciente.TipoPaciente == "PA")
                    {
                        var mensajeR = validaciones.VerifyCampoRequerido(paciente.Cargo);
                        if (!string.IsNullOrEmpty(mensajeR))
                        {
                            ModelState.AddModelError("Cargo", mensajeR);
                        }
                    }
                    else
                    {
                        var mensajeR = validaciones.VerifyComboRequerido(paciente.TipoPaciente);
                        if (!string.IsNullOrEmpty(mensajeR))
                        {
                            ModelState.AddModelError("TipoPaciente", mensajeR);
                        }
                    }

                    if (ModelState.IsValid)
                    {
                        try
                        {
                            paciente.Codigo = Encriptacion.Decrypt(paciente.Codigo);
                            _context.Update(paciente);
                            await _context.SaveChangesAsync();

                            await _auditoria.GuardarLogAuditoria(Funciones.ObtenerFechaActual("SA Pacific Standard Time"), i.Name, "Paciente", paciente.Codigo, "U");

                            ViewBag.Message = "Save";

                            TipoIdentificacion.Insert(0, vacio);
                            ViewData["CodigoTipoIdentificacion"] = TipoIdentificacion;

                            Facultad.Insert(0, vacio);
                            ViewData["CodigoFacultad"] = Facultad;

                            Carrera.Insert(0, vacio);
                            ViewData["CodigoCarrera"] = Carrera;

                            return(View(paciente));
                        }
                        catch (DbUpdateConcurrencyException)
                        {
                            throw;
                        }
                    }

                    TipoIdentificacion.Insert(0, vacio);
                    ViewData["CodigoTipoIdentificacion"] = TipoIdentificacion;

                    Facultad.Insert(0, vacio);
                    ViewData["CodigoFacultad"] = Facultad;

                    Carrera.Insert(0, vacio);
                    ViewData["CodigoCarrera"] = Carrera;

                    return(View(paciente));
                }
                catch (Exception e)
                {
                    string mensaje = e.Message;
                    if (e.InnerException != null)
                    {
                        mensaje = MensajesError.UniqueKey(e.InnerException.Message);
                    }

                    ViewBag.Message = mensaje;

                    TipoIdentificacion.Insert(0, vacio);
                    ViewData["CodigoTipoIdentificacion"] = TipoIdentificacion;

                    Facultad.Insert(0, vacio);
                    ViewData["CodigoFacultad"] = Facultad;

                    Carrera.Insert(0, vacio);
                    ViewData["CodigoCarrera"] = Carrera;

                    return(View(paciente));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }
Ejemplo n.º 16
0
        public async Task <IActionResult> Edit(CitaOdontologica citaOdontologica, List <string> enfermedades)
        {
            var i           = (ClaimsIdentity)User.Identity;
            var transaction = _context.Database.BeginTransaction();

            DateTime fecha1 = Convert.ToDateTime("29/04/2020");
            var      fechaC = Funciones.ObtenerFecha(fecha1, "SA Pacific Standard Time");

            var fechaU = Funciones.ObtenerFecha(Convert.ToDateTime(citaOdontologica.UltimaVisitaOdontologo), "SA Pacific Standard Time");

            if (i.IsAuthenticated)
            {
                try
                {
                    if (citaOdontologica.UltimaVisitaOdontologo >= Funciones.ObtenerFechaActual("SA Pacific Standard Time").Date)
                    {
                        var mensajeR = "La fecha debe ser menor a la actual.";
                        if (!string.IsNullOrEmpty(mensajeR))
                        {
                            ModelState.AddModelError("UltimaVisitaOdontologo", mensajeR);
                        }
                    }

                    if (!String.IsNullOrEmpty(citaOdontologica.DescripcionReceta))
                    {
                        if (String.IsNullOrEmpty(citaOdontologica.Indicaciones))
                        {
                            var mensajeR = "Debe llenar las indicaciones para los medicamentos";
                            if (!string.IsNullOrEmpty(mensajeR))
                            {
                                ModelState.AddModelError("Indicaciones", mensajeR);
                            }
                        }
                    }

                    if (!String.IsNullOrEmpty(citaOdontologica.Indicaciones))
                    {
                        if (String.IsNullOrEmpty(citaOdontologica.DescripcionReceta))
                        {
                            var mensajeR = "Debe llenar los medicamentos";
                            if (!string.IsNullOrEmpty(mensajeR))
                            {
                                ModelState.AddModelError("DescripcionReceta", mensajeR);
                            }
                        }
                    }


                    if (ModelState.IsValid)
                    {
                        //guardar los imagenes de las firmas
                        String FirmaConsentimiento = string.Empty;
                        String FirmaDiagnostico    = string.Empty;

                        if (citaOdontologica.FirmaC != null)
                        {
                            if (GetMimeTypes().SingleOrDefault(p => p.Value == citaOdontologica.FirmaC.ContentType && p.Key == "." + citaOdontologica.FirmaC.FileName.Split(".")[citaOdontologica.FirmaC.FileName.Split(".").Count() - 1]).Value != null)
                            {
                                FirmaConsentimiento = UploadFile(citaOdontologica.FirmaC, Encriptacion.Decrypt(citaOdontologica.Codigo), citaOdontologica.Identificacion, "CI");
                            }
                            else
                            {
                                citaOdontologica.FirmaC      = null;
                                ViewData["ExtensionArchivo"] = "Extensión del documento incorrecto";
                            }
                        }

                        if (citaOdontologica.FirmaD != null)
                        {
                            if (GetMimeTypes().SingleOrDefault(p => p.Value == citaOdontologica.FirmaD.ContentType && p.Key == "." + citaOdontologica.FirmaC.FileName.Split(".")[citaOdontologica.FirmaC.FileName.Split(".").Count() - 1]).Value != null)
                            {
                                FirmaDiagnostico = UploadFile(citaOdontologica.FirmaD, Encriptacion.Decrypt(citaOdontologica.Codigo), citaOdontologica.Identificacion, "DG");
                            }
                            else
                            {
                                citaOdontologica.FirmaC      = null;
                                ViewData["ExtensionArchivo"] = "Extensión del documento incorrecto";
                            }
                        }


                        DateTime fecha = Funciones.ObtenerFechaActual("SA Pacific Standard Time");
                        citaOdontologica.Codigo = Encriptacion.Decrypt(citaOdontologica.Codigo);

                        //anamnesis
                        Anamnesis anamnesis          = new Anamnesis();
                        Int64     maxCodigoAnamnesis = 0;
                        maxCodigoAnamnesis  = Convert.ToInt64(_context.Anamnesis.Max(f => f.Codigo));
                        maxCodigoAnamnesis += 1;
                        anamnesis.Codigo    = maxCodigoAnamnesis.ToString("D8");
                        anamnesis.CodigoCitaOdontologica = citaOdontologica.Codigo;
                        anamnesis.MotivoConsulta         = citaOdontologica.MotivoConsulta;
                        anamnesis.EnfermedadActual       = citaOdontologica.EnfermedadActual;
                        anamnesis.Alerta   = citaOdontologica.Alerta;
                        anamnesis.Alergico = citaOdontologica.Alergico;
                        anamnesis.AntecedentesQuirurgicos = citaOdontologica.AntecedentesQuirurgicos;
                        anamnesis.Alergico               = citaOdontologica.Alergico;
                        anamnesis.Medicamentos           = citaOdontologica.Medicamentos;
                        anamnesis.Habitos                = citaOdontologica.Habitos;
                        anamnesis.AntecedentesFamiliares = citaOdontologica.AntecedentesFamiliares;
                        anamnesis.Fuma                   = citaOdontologica.Fuma;
                        anamnesis.Embarazada             = citaOdontologica.Embarazada;
                        anamnesis.UltimaVisitaOdontologo = citaOdontologica.UltimaVisitaOdontologo;
                        anamnesis.Endocrino              = citaOdontologica.Endocrino;
                        anamnesis.Traumatologico         = citaOdontologica.Traumatologico;
                        anamnesis.Fecha                  = fecha;
                        _context.Anamnesis.Add(anamnesis);

                        var anamnesisEnf = _context.AnamnesisEnfermedad.Where(a => a.CodigoAnamnesis == anamnesis.Codigo).ToList();
                        foreach (var item in anamnesisEnf)
                        {
                            _context.AnamnesisEnfermedad.Remove(item);
                        }

                        _context.SaveChanges();

                        //guardar AnamenesisEnefermedad
                        Int64 maxCodigoAe = 0;
                        maxCodigoAe = Convert.ToInt64(_context.AnamnesisEnfermedad.Max(f => f.Codigo));

                        foreach (var enf in enfermedades)
                        {
                            AnamnesisEnfermedad anamnesisEnfermedad = new AnamnesisEnfermedad();
                            maxCodigoAe += 1;
                            anamnesisEnfermedad.Codigo           = maxCodigoAe.ToString("D8");
                            anamnesisEnfermedad.CodigoAnamnesis  = anamnesis.Codigo;
                            anamnesisEnfermedad.CodigoEnfermedad = enf;
                            _context.AnamnesisEnfermedad.Add(anamnesisEnfermedad);
                        }

                        _context.SaveChanges();

                        //diagnostico
                        Diagnostico diagnostico   = new Diagnostico();
                        Int64       maxCodigoDiag = 0;
                        maxCodigoDiag      = Convert.ToInt64(_context.Diagnostico.Max(f => f.Codigo));
                        maxCodigoDiag     += 1;
                        diagnostico.Codigo = maxCodigoDiag.ToString("D8");
                        diagnostico.CodigoCitaOdontologica = citaOdontologica.Codigo;
                        diagnostico.Fecha         = fecha;
                        diagnostico.Pieza         = citaOdontologica.Pieza;
                        diagnostico.Observacion   = citaOdontologica.Observacion;
                        diagnostico.Firma         = FirmaDiagnostico;
                        diagnostico.Acuerdo       = true;
                        diagnostico.Recomendacion = citaOdontologica.Recomendacion;
                        _context.Diagnostico.Add(diagnostico);

                        var diagnosticoCie10 = _context.DiagnosticoCie10.Where(a => a.CodigoDiagnostico == diagnostico.Codigo).ToList();
                        foreach (var item in diagnosticoCie10)
                        {
                            _context.DiagnosticoCie10.Remove(item);
                        }
                        _context.SaveChanges();

                        //guardar diagnosticoCie10
                        Int64 maxCodigoCie = 0;
                        maxCodigoCie  = Convert.ToInt64(_context.DiagnosticoCie10.Max(f => f.Codigo));
                        maxCodigoCie += 1;
                        DiagnosticoCie10 diagCie10 = new DiagnosticoCie10();
                        diagCie10.Codigo            = maxCodigoCie.ToString("D8");
                        diagCie10.CodigoDiagnostico = diagnostico.Codigo;
                        diagCie10.CodigoCie10       = citaOdontologica.CodigoDiagnosticoCie10;
                        _context.DiagnosticoCie10.Add(diagCie10);
                        _context.SaveChanges();

                        //consentimiento informado
                        ConsentimientoInformado consentimientoInformado = new ConsentimientoInformado();
                        Int64 maxCodigoCi = 0;
                        maxCodigoCi  = Convert.ToInt64(_context.ConsentimientoInformado.Max(f => f.Codigo));
                        maxCodigoCi += 1;
                        consentimientoInformado.Codigo = maxCodigoCi.ToString("D8");
                        consentimientoInformado.CodigoCitaOdontologica = citaOdontologica.Codigo;
                        consentimientoInformado.Descripcion            = citaOdontologica.Descripcion;
                        consentimientoInformado.Firma   = FirmaConsentimiento;         //citaOdontologica.FirmaConcentimiento;
                        consentimientoInformado.Acuerdo = true;                        //citaOdontologica.AcuerdoConsentimiento;
                        consentimientoInformado.Fecha   = fecha;
                        _context.Add(consentimientoInformado);
                        _context.SaveChanges();

                        var     codigoReceta   = "";
                        Boolean registroReceta = false;
                        if (!((string.IsNullOrEmpty(citaOdontologica.DescripcionReceta)) && (string.IsNullOrEmpty(citaOdontologica.Indicaciones))))
                        {
                            //receta medica
                            RecetaMedica recetaMedica = new RecetaMedica();
                            Int64        maxCodigoR   = 0;
                            maxCodigoR          = Convert.ToInt64(_context.RecetaMedica.Max(f => f.Codigo));
                            maxCodigoR         += 1;
                            recetaMedica.Codigo = maxCodigoR.ToString("D8");
                            recetaMedica.CodigoCitaOdontologica = citaOdontologica.Codigo;
                            recetaMedica.Descripcion            = citaOdontologica.DescripcionReceta;
                            recetaMedica.Fecha = fecha;
                            if (citaOdontologica.CodigoPlantillaRecetaMedica == "0")
                            {
                                recetaMedica.CodigoPlantillaRecetaMedica = null;
                            }
                            else
                            {
                                recetaMedica.CodigoPlantillaRecetaMedica = citaOdontologica.CodigoPlantillaRecetaMedica;
                            }

                            recetaMedica.Indicaciones = citaOdontologica.Indicaciones;
                            codigoReceta = recetaMedica.Codigo;
                            _context.Add(recetaMedica);
                            _context.SaveChanges();
                            registroReceta = true;
                        }


                        CitaOdontologica citaAntigua = _context.CitaOdontologica.SingleOrDefault(p => p.Codigo == citaOdontologica.Codigo);
                        citaAntigua.Codigo               = citaOdontologica.Codigo;
                        citaAntigua.CodigoPaciente       = citaOdontologica.CodigoPaciente;
                        citaAntigua.CodigoPersonal       = citaOdontologica.CodigoPersonal;
                        citaAntigua.FechaCreacion        = citaOdontologica.FechaCreacion;
                        citaAntigua.Observaciones        = citaOdontologica.Observaciones;
                        citaAntigua.Estado               = "A";
                        citaAntigua.FechaInicio          = citaOdontologica.FechaInicio;
                        citaAntigua.FechaFin             = citaOdontologica.FechaFin;
                        citaAntigua.HoraInicio           = citaOdontologica.HoraInicio;
                        citaAntigua.HoraFin              = citaOdontologica.HoraFin;
                        citaAntigua.UsuarioCreacion      = i.Name;
                        citaAntigua.RegistroRecetaMedica = registroReceta;
                        _context.Update(citaAntigua);

                        _context.SaveChanges();

                        await _auditoria.GuardarLogAuditoria(fecha, i.Name, "Anamnesis", anamnesis.Codigo, "I");

                        await _auditoria.GuardarLogAuditoria(fecha, i.Name, "Diagnostico", diagnostico.Codigo, "I");

                        await _auditoria.GuardarLogAuditoria(fecha, i.Name, "ConsentmientoInformado", consentimientoInformado.Codigo, "I");

                        if (!string.IsNullOrEmpty(codigoReceta))
                        {
                            await _auditoria.GuardarLogAuditoria(fecha, i.Name, "Receta", codigoReceta, "I");
                        }

                        await _auditoria.GuardarLogAuditoria(fecha, i.Name, "CitaOdontologica", citaOdontologica.Codigo, "I");

                        transaction.Commit();

                        //cargar los datos

                        var paciente = _context.Paciente.Where(p => p.Codigo == citaOdontologica.CodigoPaciente).Include(p => p.Facultad).Include(p => p.Carrera).SingleOrDefault();

                        //datos del paciente
                        ViewData["Cedula"]    = paciente.Identificacion;
                        ViewData["Nombre"]    = paciente.NombreCompleto;
                        ViewData["Direccion"] = paciente.Direccion;
                        ViewData["Correo"]    = paciente.MailEpn;
                        ViewData["Telefono"]  = paciente.Celular;
                        if (paciente.Facultad == null)
                        {
                            ViewData["Facultad"] = "";
                            ViewData["Carrera"]  = "";
                        }
                        else
                        {
                            ViewData["Facultad"] = paciente.Facultad.Nombre;
                            ViewData["Carrera"]  = paciente.Carrera.Nombre;
                        }

                        ViewData["CodigoCitaOdontologica"] = citaOdontologica.Codigo;

                        //paciente
                        List <SelectListItem> TipoIdentificacion = new SelectList(_context.TipoIdentificacion.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList();
                        ViewData["CodigoTipoIdentificacion"] = TipoIdentificacion;

                        List <SelectListItem> Facultad = new SelectList(_context.Facultad.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList();
                        Facultad.Insert(0, vacio);
                        ViewData["CodigoFacultad"] = Facultad;

                        //anamnesis

                        List <SelectListItem> Enfermedades = null;
                        Enfermedades = new SelectList(_context.Enfermedad.OrderBy(c => c.Nombre).Where(c => c.Estado == true), "Codigo", "Nombre").ToList();
                        ViewData["AnamnesisEnfermedad"] = Enfermedades;

                        //diagnostico
                        List <SelectListItem> Cie10 = new SelectList(_context.Cie10.OrderBy(f => f.CodigoInterno), "Codigo", "CodigoNombre").ToList();                       //.Where(f => f.Nombre.StartsWith("C")).ToList(); //QUITAR LUEGO					;
                        Cie10.Insert(0, vacio);
                        ViewData["CIE10"] = Cie10;

                        //consentimiento informado
                        var PlantillaCI = _context.PlantillaConsentimientoInformado.Where(c => c.Nombre.Contains("Consentimiento Informado")).SingleOrDefault();
                        ViewData["Descripcion"] = PlantillaCI.Descripcion;

                        //receta medica
                        List <SelectListItem> PlantillaRM = new SelectList(_context.PlantillaRecetaMedica.OrderBy(c => c.Nombre), "Codigo", "Nombre").ToList();
                        PlantillaRM.Insert(0, vacio);
                        ViewData["CodigoPlantillaReceta"] = PlantillaRM;

                        //imagen


                        ViewBag.Message = "Save";
                        return(View(citaOdontologica));
                    }
                    else
                    {
                        //cargar los datos

                        var paciente = _context.Paciente.Where(p => p.Codigo == citaOdontologica.CodigoPaciente).Include(p => p.Facultad).Include(p => p.Carrera).SingleOrDefault();

                        //datos del paciente
                        ViewData["Cedula"]    = paciente.Identificacion;
                        ViewData["Nombre"]    = paciente.NombreCompleto;
                        ViewData["Direccion"] = paciente.Direccion;
                        ViewData["Correo"]    = paciente.MailEpn;
                        ViewData["Telefono"]  = paciente.Celular;
                        if (paciente.Facultad == null)
                        {
                            ViewData["Facultad"] = "";
                            ViewData["Carrera"]  = "";
                        }
                        else
                        {
                            ViewData["Facultad"] = paciente.Facultad.Nombre;
                            ViewData["Carrera"]  = paciente.Carrera.Nombre;
                        }

                        ViewData["CodigoCitaOdontologica"] = citaOdontologica.Codigo;

                        //paciente
                        List <SelectListItem> TipoIdentificacion = new SelectList(_context.TipoIdentificacion.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList();
                        ViewData["CodigoTipoIdentificacion"] = TipoIdentificacion;

                        List <SelectListItem> Facultad = new SelectList(_context.Facultad.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList();
                        Facultad.Insert(0, vacio);
                        ViewData["CodigoFacultad"] = Facultad;

                        //anamnesis

                        List <SelectListItem> Enfermedades = null;
                        Enfermedades = new SelectList(_context.Enfermedad.OrderBy(c => c.Nombre).Where(c => c.Estado == true), "Codigo", "Nombre").ToList();
                        ViewData["AnamnesisEnfermedad"] = Enfermedades;

                        //diagnostico
                        List <SelectListItem> Cie10 = new SelectList(_context.Cie10.OrderBy(f => f.CodigoInterno), "Codigo", "CodigoNombre").ToList();                       //.Where(f => f.Nombre.StartsWith("C")).ToList(); //QUITAR LUEGO					;
                        Cie10.Insert(0, vacio);
                        ViewData["CIE10"] = Cie10;

                        //consentimiento informado
                        var PlantillaCI = _context.PlantillaConsentimientoInformado.Where(c => c.Nombre.Contains("Consentimiento Informado")).SingleOrDefault();
                        ViewData["Descripcion"] = PlantillaCI.Descripcion;

                        //receta medica
                        List <SelectListItem> PlantillaRM = new SelectList(_context.PlantillaRecetaMedica.OrderBy(c => c.Nombre), "Codigo", "Nombre").ToList();
                        PlantillaRM.Insert(0, vacio);
                        ViewData["CodigoPlantillaReceta"] = PlantillaRM;

                        try
                        {
                            var odontograma = await _context.Odontograma.SingleOrDefaultAsync(f => f.CodigoCitaOdontologica == Encriptacion.Decrypt(citaOdontologica.Codigo));

                            _context.Odontograma.Remove(odontograma);
                            await _context.SaveChangesAsync();
                        }
                        catch (Exception e)
                        {
                            string mens = e.Message;
                            ViewBag.Message = mens;
                        }

                        ViewBag.Message = "Debe revisar los datos de Anamnesis o Receta Medica";

                        return(View(citaOdontologica));
                    }
                }
                catch (Exception e)
                {
                    string mensaje = e.Message;
                    if (e.InnerException != null)
                    {
                        mensaje = MensajesError.UniqueKey(e.InnerException.Message);
                    }

                    ViewBag.Message = mensaje;

                    transaction.Rollback();

                    //eliminar el odontograma si hay algun error
                    //citaOdontologica.Codigo = Encriptacion.Decrypt(citaOdontologica.Codigo);
                    var odontograma = await _context.Odontograma.SingleOrDefaultAsync(f => f.CodigoCitaOdontologica == citaOdontologica.Codigo);

                    _context.Odontograma.Remove(odontograma);
                    await _context.SaveChangesAsync();

                    //cargar los datos
                    var paciente = _context.Paciente.Where(p => p.Codigo == citaOdontologica.CodigoPaciente).Include(p => p.Facultad).Include(p => p.Carrera).SingleOrDefault();

                    //datos del paciente
                    ViewData["Cedula"]    = paciente.Identificacion;
                    ViewData["Nombre"]    = paciente.NombreCompleto;
                    ViewData["Direccion"] = paciente.Direccion;
                    ViewData["Correo"]    = paciente.MailEpn;
                    ViewData["Telefono"]  = paciente.Celular;
                    if (paciente.Facultad == null)
                    {
                        ViewData["Facultad"] = "";
                        ViewData["Carrera"]  = "";
                    }
                    else
                    {
                        ViewData["Facultad"] = paciente.Facultad.Nombre;
                        ViewData["Carrera"]  = paciente.Carrera.Nombre;
                    }

                    ViewData["CodigoCitaOdontologica"] = citaOdontologica.Codigo;

                    //paciente
                    List <SelectListItem> TipoIdentificacion = new SelectList(_context.TipoIdentificacion.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList();
                    ViewData["CodigoTipoIdentificacion"] = TipoIdentificacion;

                    List <SelectListItem> Facultad = new SelectList(_context.Facultad.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList();
                    Facultad.Insert(0, vacio);
                    ViewData["CodigoFacultad"] = Facultad;

                    //anamnesis

                    List <SelectListItem> Enfermedades = null;
                    Enfermedades = new SelectList(_context.Enfermedad.OrderBy(c => c.Nombre).Where(c => c.Estado == true), "Codigo", "Nombre").ToList();
                    ViewData["AnamnesisEnfermedad"] = Enfermedades;

                    //diagnostico
                    List <SelectListItem> Cie10 = new SelectList(_context.Cie10.OrderBy(f => f.CodigoInterno), "Codigo", "CodigoNombre").ToList();                   //.Where(f => f.Nombre.StartsWith("C")).ToList(); //QUITAR LUEGO					;
                    Cie10.Insert(0, vacio);
                    ViewData["CIE10"] = Cie10;

                    //consentimiento informado
                    var PlantillaCI = _context.PlantillaConsentimientoInformado.Where(c => c.Nombre.Contains("Consentimiento Informado")).SingleOrDefault();
                    ViewData["Descripcion"] = PlantillaCI.Descripcion;

                    //receta medica
                    List <SelectListItem> PlantillaRM = new SelectList(_context.PlantillaRecetaMedica.OrderBy(c => c.Nombre), "Codigo", "Nombre").ToList();
                    PlantillaRM.Insert(0, vacio);
                    ViewData["CodigoPlantillaReceta"] = PlantillaRM;
                    //fin cargar datos
                    return(View(citaOdontologica));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }
        public async Task <string> Edit(List <Odontograma> odontograma)
        {
            var i = (ClaimsIdentity)User.Identity;
            List <SelectListItem> Personal = new SelectList(_context.Personal.OrderBy(c => c.NombreCompleto).Where(c => c.Estado == true), "Codigo", "NombreCompleto", odontograma[0].CodigoPersonal).ToList();
            List <SelectListItem> Paciente = new SelectList(_context.Paciente.OrderBy(p => p.NombreCompleto).Where(p => p.Estado == true), "Codigo", "NombreCompleto", odontograma[0].CodigoPaciente).ToList();

            if (i.IsAuthenticated)
            {
                try
                {
                    if (ModelState.IsValid)
                    {
                        try
                        {
                            var transaction = _context.Database.BeginTransaction();
                            //actualizar odontograma
                            odontograma[0].Codigo = Encriptacion.Decrypt(odontograma[0].Codigo);
                            Odontograma odontogramaAntiguo = _context.Odontograma.SingleOrDefault(p => p.Codigo == odontograma[0].Codigo);
                            odontogramaAntiguo.Codigo = odontograma[0].Codigo;
                            odontogramaAntiguo.CodigoCitaOdontologica = odontograma[0].CodigoCitaOdontologica;
                            odontogramaAntiguo.FechaActualizacion     = fecha;
                            odontogramaAntiguo.Observaciones          = null;
                            odontogramaAntiguo.Estado = "A";


                            var tipoComprobantesImpuesto = _context.OdontogramaDetalle.Where(a => a.CodigoOdontograma == odontograma[0].Codigo).ToList();
                            foreach (var item in tipoComprobantesImpuesto)
                            {
                                _context.OdontogramaDetalle.Remove(item);
                            }
                            _context.SaveChanges();

                            //guardar odontogramaDetalle
                            Int64 maxCodigoOd = 0;
                            maxCodigoOd = Convert.ToInt64(_context.OdontogramaDetalle.Max(f => f.Codigo));
                            foreach (var detalle in odontograma[0].OdontogramaDetalle)
                            {
                                OdontogramaDetalle odontDetalle = new OdontogramaDetalle();
                                maxCodigoOd                   += 1;
                                odontDetalle.Codigo            = maxCodigoOd.ToString("D8");
                                odontDetalle.CodigoOdontograma = odontograma[0].Codigo;
                                odontDetalle.Pieza             = detalle.Pieza;
                                odontDetalle.Region            = detalle.Region;
                                odontDetalle.Enfermedad        = detalle.Enfermedad;
                                odontDetalle.Valor             = detalle.Valor;
                                odontDetalle.Diagnostico       = detalle.Diagnostico;
                                _context.OdontogramaDetalle.Add(odontDetalle);
                            }

                            _context.Update(odontogramaAntiguo);
                            _context.SaveChanges();
                            transaction.Commit();
                            await _auditoria.GuardarLogAuditoria(Funciones.ObtenerFechaActual("SA Pacific Standard Time"), i.Name, "Odontograma", odontograma[0].Codigo, "U");

                            ViewBag.Message = "Save";

                            Personal.Insert(0, vacio);
                            ViewData["CodigoPersonal"] = Personal;

                            Paciente.Insert(0, vacio);
                            ViewData["CodigoPaciente"] = Paciente;

                            return("Save");
                        }
                        catch (DbUpdateConcurrencyException)
                        {
                            throw;
                        }
                    }

                    Personal.Insert(0, vacio);
                    ViewData["CodigoPersonal"] = Personal;

                    Paciente.Insert(0, vacio);
                    ViewData["CodigoPaciente"] = Paciente;

                    return("No es valido");
                }
                catch (Exception e)
                {
                    string mensaje = e.Message;
                    if (e.InnerException != null)
                    {
                        mensaje = MensajesError.UniqueKey(e.InnerException.Message);
                    }

                    ViewBag.Message = mensaje;

                    Personal.Insert(0, vacio);
                    ViewData["CodigoPersonal"] = Personal;

                    Paciente.Insert(0, vacio);
                    ViewData["CodigoPaciente"] = Paciente;

                    return(e.InnerException.Message);
                }
            }
            else
            {
                return("No autenticado");
            }
        }
Ejemplo n.º 18
0
        public async Task <IActionResult> Edit(ConsentimientoInformado consentimientoInformado)
        {
            var i = (ClaimsIdentity)User.Identity;
            List <SelectListItem> Personal = new SelectList(_context.Personal.OrderBy(c => c.NombreCompleto).Where(c => c.Estado == true), "Codigo", "NombreCompleto", consentimientoInformado.CodigoPersonal).ToList();
            List <SelectListItem> Paciente = new SelectList(_context.Paciente.OrderBy(p => p.NombreCompleto).Where(p => p.Estado == true), "Codigo", "NombreCompleto", consentimientoInformado.CodigoPaciente).ToList();
            var PlantillaCI = _context.PlantillaConsentimientoInformado.SingleOrDefault();

            ViewData["Descripcion"] = PlantillaCI.Descripcion;

            if (i.IsAuthenticated)
            {
                try
                {
                    if (ModelState.IsValid)
                    {
                        try
                        {
                            consentimientoInformado.Codigo = Encriptacion.Decrypt(consentimientoInformado.Codigo);
                            consentimientoInformado.Fecha  = Funciones.ObtenerFechaActual("SA Pacific Standard Time");
                            _context.Update(consentimientoInformado);
                            await _context.SaveChangesAsync();

                            await _auditoria.GuardarLogAuditoria(consentimientoInformado.Fecha, i.Name, "ConsentimientoInformado", consentimientoInformado.Codigo, "U");

                            ViewBag.Message = "Save";

                            Personal.Insert(0, vacio);
                            ViewData["CodigoPersonal"] = Personal;

                            Paciente.Insert(0, vacio);
                            ViewData["CodigoPaciente"] = Paciente;

                            ViewData["Descripcion"] = PlantillaCI.Descripcion;

                            return(View(consentimientoInformado));
                        }
                        catch (DbUpdateConcurrencyException)
                        {
                            throw;
                        }
                    }
                    Personal.Insert(0, vacio);
                    ViewData["CodigoPersonal"] = Personal;

                    Paciente.Insert(0, vacio);
                    ViewData["CodigoPaciente"] = Paciente;

                    ViewData["Descripcion"] = PlantillaCI.Descripcion;

                    return(View(consentimientoInformado));
                }
                catch (Exception e)
                {
                    string mensaje = e.Message;
                    if (e.InnerException != null)
                    {
                        mensaje = MensajesError.UniqueKey(e.InnerException.Message);
                    }

                    ViewBag.Message = mensaje;

                    Personal.Insert(0, vacio);
                    ViewData["CodigoPersonal"] = Personal;

                    Paciente.Insert(0, vacio);
                    ViewData["CodigoPaciente"] = Paciente;

                    ViewData["Descripcion"] = PlantillaCI.Descripcion;

                    return(View(consentimientoInformado));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }
Ejemplo n.º 19
0
        public async Task <IActionResult> Edit(Personal personal)
        {
            var i = (ClaimsIdentity)User.Identity;
            List <SelectListItem> Cargo = new SelectList(_context.Cargo.OrderBy(c => c.Nombre), "Codigo", "Nombre").ToList();
            List <SelectListItem> TipoIdentificacion = new SelectList(_context.TipoIdentificacion.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList();

            if (i.IsAuthenticated)
            {
                try
                {
                    if (ModelState.IsValid)
                    {
                        try
                        {
                            personal.Codigo = Encriptacion.Decrypt(personal.Codigo);
                            _context.Update(personal);
                            await _context.SaveChangesAsync();

                            await _auditoria.GuardarLogAuditoria(Funciones.ObtenerFechaActual("SA Pacific Standard Time"), i.Name, "Personal", personal.Codigo, "U");

                            ViewBag.Message = "Save";


                            Cargo.Insert(0, vacio);
                            ViewData["CodigoCargo"] = Cargo;


                            TipoIdentificacion.Insert(0, vacio);
                            ViewData["CodigoTipoIdentificacion"] = TipoIdentificacion;
                            return(View(personal));
                        }
                        catch (DbUpdateConcurrencyException)
                        {
                            throw;
                        }
                    }

                    Cargo.Insert(0, vacio);
                    ViewData["CodigoCargo"] = Cargo;


                    TipoIdentificacion.Insert(0, vacio);
                    ViewData["CodigoTipoIdentificacion"] = TipoIdentificacion;

                    return(View(personal));
                }
                catch (Exception e)
                {
                    string mensaje = e.Message;
                    if (e.InnerException != null)
                    {
                        mensaje = MensajesError.UniqueKey(e.InnerException.Message);
                    }

                    ViewBag.Message = mensaje;

                    Cargo.Insert(0, vacio);
                    ViewData["CodigoCargo"] = Cargo;


                    TipoIdentificacion.Insert(0, vacio);
                    ViewData["CodigoTipoIdentificacion"] = TipoIdentificacion;

                    return(View(personal));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }
Ejemplo n.º 20
0
        [Route("getpass/{param1}")] //   /api/example/get1/1?param2=4
        public async Task <string> Get(int param1)
        {
            var lBAcces = await _context.LBAcces.FindAsync(param1);

            return(Encriptacion.Decrypt(lBAcces.passWd));
        }
        public async Task <IActionResult> Edit(Usuario usuario)
        {
            var i = (ClaimsIdentity)User.Identity;
            List <SelectListItem> Perfil   = new SelectList(_context.Perfil.OrderBy(f => f.Nombre), "Codigo", "Nombre").ToList();
            List <SelectListItem> Personal = new SelectList(_context.Personal.OrderBy(f => f.NombreCompleto), "Codigo", "NombreCompleto").ToList();

            if (i.IsAuthenticated)
            {
                try
                {
                    if (ModelState.IsValid)
                    {
                        try
                        {
                            usuario.Codigo = Encriptacion.Decrypt(usuario.Codigo);

                            usuario.SecurityStamp = Guid.NewGuid().ToString();
                            var us = new UsuarioLogin {
                                UserName = usuario.CorreoElectronico
                            };
                            usuario.PasswordHash = _userManager.PasswordHasher.HashPassword(us, usuario.Contrasenia);


                            if (usuario.CodigoPersonal == "0")
                            {
                                usuario.CodigoPersonal = null;
                            }

                            _context.Update(usuario);
                            await _context.SaveChangesAsync();

                            await _auditoria.GuardarLogAuditoria(Funciones.ObtenerFechaActual("SA Pacific Standard Time"), i.Name, "Usuario", usuario.Codigo, "U");

                            ViewBag.Message = "Save";

                            Perfil.Insert(0, vacio);
                            ViewData["CodigoPerfil"] = Perfil;

                            Personal.Insert(0, vacio);
                            ViewData["CodigoPersonal"] = Personal;

                            return(View(usuario));
                        }
                        catch (DbUpdateConcurrencyException)
                        {
                            throw;
                        }
                    }

                    Perfil.Insert(0, vacio);
                    ViewData["CodigoPerfil"] = Perfil;

                    Personal.Insert(0, vacio);
                    ViewData["CodigoPersonal"] = Personal;

                    return(View(usuario));
                }
                catch (Exception e)
                {
                    string mensaje = e.Message;
                    if (e.InnerException != null)
                    {
                        mensaje = MensajesError.UniqueKey(e.InnerException.Message);
                    }

                    Perfil.Insert(0, vacio);
                    ViewData["CodigoPerfil"] = Perfil;

                    Personal.Insert(0, vacio);
                    ViewData["CodigoPersonal"] = Personal;

                    ViewBag.Message = mensaje;

                    return(View(usuario));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }
        public async Task <IActionResult> Edit(Diagnostico diagnostico)
        {
            var i = (ClaimsIdentity)User.Identity;

            List <SelectListItem> Cie10    = new SelectList(_context.Cie10.OrderBy(f => f.CodigoInterno), "Codigo", "CodigoNombre", diagnostico.CodigoDiagnosticoCie10).ToList();
            List <SelectListItem> Personal = new SelectList(_context.Personal.OrderBy(c => c.NombreCompleto).Where(c => c.Estado == true), "Codigo", "NombreCompleto", diagnostico.CodigoPersonal).ToList();
            List <SelectListItem> Paciente = new SelectList(_context.Paciente.OrderBy(p => p.NombreCompleto).Where(p => p.Estado == true), "Codigo", "NombreCompleto", diagnostico.CodigoPaciente).ToList();

            if (i.IsAuthenticated)
            {
                try
                {
                    if (ModelState.IsValid)
                    {
                        try
                        {
                            var transaction = _context.Database.BeginTransaction();
                            //actualizar tipocomprobante
                            diagnostico.Codigo = Encriptacion.Decrypt(diagnostico.Codigo);
                            Diagnostico diagnosticoAntiguo = _context.Diagnostico.SingleOrDefault(p => p.Codigo == diagnostico.Codigo);
                            diagnosticoAntiguo.Codigo = diagnostico.Codigo;
                            diagnosticoAntiguo.CodigoCitaOdontologica = diagnostico.CodigoCitaOdontologica;
                            diagnosticoAntiguo.Fecha         = Funciones.ObtenerFechaActual("SA Pacific Standard Time");
                            diagnosticoAntiguo.Pieza         = diagnostico.Pieza;
                            diagnosticoAntiguo.Observacion   = diagnostico.Observacion;
                            diagnosticoAntiguo.Firma         = diagnostico.Firma;
                            diagnosticoAntiguo.Recomendacion = diagnostico.Recomendacion;

                            var diagnosticoCie10 = _context.DiagnosticoCie10.Where(a => a.CodigoDiagnostico == diagnostico.Codigo).ToList();
                            foreach (var item in diagnosticoCie10)
                            {
                                _context.DiagnosticoCie10.Remove(item);
                            }
                            _context.SaveChanges();

                            //guardar AnamenesisEnefermedad
                            Int64 maxCodigoAe = 0;
                            maxCodigoAe = Convert.ToInt64(_context.DiagnosticoCie10.Max(f => f.Codigo));
                            DiagnosticoCie10 diagCie10 = new DiagnosticoCie10();
                            maxCodigoAe                += 1;
                            diagCie10.Codigo            = maxCodigoAe.ToString("D8");
                            diagCie10.CodigoDiagnostico = diagnostico.Codigo;
                            diagCie10.CodigoCie10       = diagnostico.CodigoDiagnosticoCie10;
                            _context.DiagnosticoCie10.Add(diagCie10);
                            //foreach (var diag in diagnostico.DiagnosticoCie10)
                            //{
                            //	if (diag.Seleccionado)
                            //	{
                            //		DiagnosticoCie10 diagCie10 = new DiagnosticoCie10();
                            //		maxCodigoAe += 1;
                            //		diagCie10.Codigo = maxCodigoAe.ToString("D8");
                            //		//diagCie10.CodigoDiagnostico = null;
                            //		diagCie10.CodigoDiagnostico = diagnostico.Codigo;
                            //		diagCie10.CodigoCie10 = diag.Cie10.Codigo;
                            //		_context.DiagnosticoCie10.Add(diagCie10);
                            //	}
                            //}

                            _context.Update(diagnosticoAntiguo);
                            _context.SaveChanges();
                            transaction.Commit();
                            await _auditoria.GuardarLogAuditoria(diagnosticoAntiguo.Fecha, i.Name, "Diagnostico", diagnostico.Codigo, "U");

                            ViewBag.Message = "Save";

                            Cie10.Insert(0, vacio);
                            ViewData["CIE10"] = Cie10;

                            Personal.Insert(0, vacio);
                            ViewData["CodigoPersonal"] = Personal;

                            Paciente.Insert(0, vacio);
                            ViewData["CodigoPaciente"] = Paciente;

                            return(View(diagnostico));
                        }
                        catch (DbUpdateConcurrencyException)
                        {
                            throw;
                        }
                    }

                    Cie10.Insert(0, vacio);
                    ViewData["CIE10"] = Cie10;

                    Personal.Insert(0, vacio);
                    ViewData["CodigoPersonal"] = Personal;

                    Paciente.Insert(0, vacio);
                    ViewData["CodigoPaciente"] = Paciente;

                    return(View(diagnostico));
                }
                catch (Exception e)
                {
                    string mensaje = e.Message;
                    if (e.InnerException != null)
                    {
                        mensaje = MensajesError.UniqueKey(e.InnerException.Message);
                    }

                    ViewBag.Message = mensaje;


                    Cie10.Insert(0, vacio);
                    ViewData["CIE10"] = Cie10;

                    Personal.Insert(0, vacio);
                    ViewData["CodigoPersonal"] = Personal;

                    Paciente.Insert(0, vacio);
                    ViewData["CodigoPaciente"] = Paciente;

                    return(View(diagnostico));
                }
            }
            else
            {
                return(Redirect("../Identity/Account/Login"));
            }
        }
Ejemplo n.º 23
0
 public IActionResult CertificadoMedico(string Codigo)
 {
     Codigo = Encriptacion.Decrypt(Codigo);
     return(new ViewAsPdf("CertificadoPDF", GetOne(Codigo)));
 }