// GET: Asistencia
        public ActionResult Index()
        {
            //condicion si existe un ID de usuario al hacer login
            if (Session["Id"] == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            if (!(Session["perfil"].Equals("Administrador")))
            {
                return(RedirectToAction("Index", "Login"));
            }
            List <AsistenciaCLS> listaAsistencia = new List <AsistenciaCLS>();

            using (var bd = new asistenciaEntities())
            {
                listaAsistencia = (from historial in bd.asistencia
                                   join usuario in bd.usuarios
                                   on historial.USU_ID equals usuario.USU_ID
                                   orderby historial.ASI_FECHA descending
                                   select new AsistenciaCLS
                {
                    idAsistencia = historial.ASI_ID,
                    empleadoAsistencia = usuario.USU_NOMBRES,
                    fecha = (DateTime)historial.ASI_FECHA,
                    horaIngreso = historial.ASI_HORA_INGRESO,
                    horaSalida = historial.ASI_HORA_SALIDA,
                    estadoAsistencia = (int)historial.ASI_ESTADO,
                    observacion = historial.ASI_OBSERVACION,
                    atrasos = (int)historial.ASI_ATRASO
                }).ToList();
                Session["listaHistorial"] = listaAsistencia;
            }
            return(View(listaAsistencia));
        }
        public string SalidaHora()
        {
            int ok        = 0;
            int opcion    = 0;
            int numSalida = 0;
            //INFORMACION DEL USUARIO LOGEADO
            int      idUsuarioSession = (int)Session["Id"];
            DateTime fechaSession     = DateTime.Parse(Session["fechaActual"].ToString());

            fechaSession = fechaSession.Date;

            //GENERACIÓN DE HORA DEL MOMENTO
            TimeSpan hora   = new TimeSpan(DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
            String   salida = hora.ToString();

            //REGISTRO HORA EN BASE DE DATOS DEL USUARIO LOGEADO
            Models.asistencia asi = new Models.asistencia();
            using (var bd = new asistenciaEntities())
            {
                asi = (from asist in bd.asistencia
                       where asist.USU_ID.Equals(idUsuarioSession) &&
                       asist.ASI_FECHA.Equals(fechaSession)
                       select asist).First();

                asi.ASI_HORA_SALIDA = hora;
                ok = bd.SaveChanges();
            }
            LogicaHoras(idUsuarioSession, hora, opcion);
            return(salida);
        }
Example #3
0
        public string Login(UsuariosCLS oUsuarioCLS)
        {
            string mensaje  = "";
            string usuario  = oUsuarioCLS.usuario;
            string password = oUsuarioCLS.password;

            try
            {
                //inicio encriptado password
                SHA256Managed sha                 = new SHA256Managed();
                byte[]        byteContra          = Encoding.Default.GetBytes(password);
                byte[]        byteContraCifrado   = sha.ComputeHash(byteContra);
                string        cadenaContraCifrada = BitConverter.ToString(byteContraCifrado).Replace("-", "");
                password = cadenaContraCifrada;
                //fin encriptado password

                //CONEXION BASE DE DATOS
                using (var bd = new asistenciaEntities())
                {
                    //VERIFICAR SI EXISTE EL USUARIO EN BASE DE DATOS
                    int numeroVeces = bd.usuarios.Where(p => p.USU_USUARIO == usuario &&
                                                        p.USU_PASSWORD == password).Count();
                    mensaje = numeroVeces.ToString();
                    //CONDICIÓN PARA INGRESAR AL SISTEMA
                    if (mensaje == "1")
                    {
                        //OBTENER FECHA ACTUAL
                        DateTime fecha = DateTime.Now.Date;
                        Session["fechaActual"] = fecha.ToString("yyyy-MM-dd");
                        //OBTENER EL NOMBRE DEL MES ACTUAL
                        DateTimeFormatInfo formatoFecha = CultureInfo.CurrentCulture.DateTimeFormat;
                        String             mesNombre    = formatoFecha.GetMonthName(DateTime.Now.Month);
                        Session["nombreMes"] = CultureInfo.InvariantCulture.TextInfo.ToTitleCase(mesNombre);

                        //OBTENER INFORMACIÓN DEL USUARIO QUE SE LOGEA
                        usuarios oUsuario = bd.usuarios.Where(p => p.USU_USUARIO == usuario).First();
                        Session["Nombres"] = oUsuario.USU_NOMBRES;
                        Session["perfil"]  = oUsuario.USU_PERFIL;
                        Session["Id"]      = oUsuario.USU_ID;
                        Session["mes"]     = DateTime.Now.Month;
                        Session["year"]    = DateTime.Now.Year;
                    }
                    if (mensaje == "0")
                    {
                        mensaje = "Usuario o contraseña incorrecta";
                    }
                }
                return(mensaje);
            }
            catch (Exception e)
            {
                mensaje = "ERROR: " + e;
                return(mensaje);
            }
        }
        public int justificarAsistencia(AsistenciaCLS oAsistenciaCLS, int titulo)
        {
            int ok = 0;

            using (var bd = new asistenciaEntities())
            {
                Models.asistencia asi = bd.asistencia.Where(p => p.ASI_ID.Equals(titulo)).First();

                asi.ASI_OBSERVACION = oAsistenciaCLS.observacion;
                ok = bd.SaveChanges();
            }

            return(ok);
        }
 public JsonResult verificarCedula(string cedula)
 {
     try
     {
         using (var bd = new asistenciaEntities())
         {
             int cantidadCedula = bd.usuarios.Where(p => p.USU_USUARIO.Equals(cedula)).Count();
             return(Json(cantidadCedula, JsonRequestBehavior.AllowGet));
         }
     }
     catch (Exception e)
     {
         return(Json(e, JsonRequestBehavior.AllowGet));
     }
 }
        public ActionResult Filtrar(AsistenciaCLS oAsistenciaCLS)
        {
            string termino = oAsistenciaCLS.termino;
            List <AsistenciaCLS> listaAsistencia = new List <AsistenciaCLS>();

            using (var bd = new asistenciaEntities())
            {
                if (termino == null)
                {
                    listaAsistencia = (from historial in bd.asistencia
                                       join usuario in bd.usuarios
                                       on historial.USU_ID equals usuario.USU_ID
                                       orderby historial.ASI_FECHA descending
                                       select new AsistenciaCLS
                    {
                        idAsistencia = historial.ASI_ID,
                        empleadoAsistencia = usuario.USU_NOMBRES,
                        fecha = (DateTime)historial.ASI_FECHA,
                        horaIngreso = historial.ASI_HORA_INGRESO,
                        horaSalida = historial.ASI_HORA_SALIDA,
                        estadoAsistencia = (int)historial.ASI_ESTADO,
                        observacion = historial.ASI_OBSERVACION
                    }).ToList();
                    Session["listaHistorial"] = listaAsistencia;
                }
                else
                {
                    listaAsistencia = (from historial in bd.asistencia
                                       join usuario in bd.usuarios
                                       on historial.USU_ID equals usuario.USU_ID
                                       where usuario.USU_NOMBRES.Contains(termino)
                                       orderby historial.ASI_FECHA descending
                                       select new AsistenciaCLS
                    {
                        idAsistencia = historial.ASI_ID,
                        empleadoAsistencia = usuario.USU_NOMBRES,
                        fecha = (DateTime)historial.ASI_FECHA,
                        horaIngreso = historial.ASI_HORA_INGRESO,
                        horaSalida = historial.ASI_HORA_SALIDA,
                        estadoAsistencia = (int)historial.ASI_ESTADO,
                        observacion = historial.ASI_OBSERVACION
                    }).ToList();
                    Session["listaHistorial"] = listaAsistencia;
                }
            }

            return(PartialView("_tablaAsistencia", listaAsistencia));
        }
        public int justificar(AsistenciaCLS asistenciaCLS)
        {
            int rpta = 0;

            try
            {
                using (var bd = new asistenciaEntities())
                {
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(rpta);
        }
        public ActionResult Filtrar(UsuariosCLS oUsuariosCLS)
        {
            string             termino       = oUsuariosCLS.termino;
            List <UsuariosCLS> listaUsuarios = new List <UsuariosCLS>();

            using (var bd = new asistenciaEntities())
            {
                if (termino == null)
                {
                    listaUsuarios = (from usuarios in bd.usuarios
                                     orderby usuarios.USU_NOMBRES
                                     select new UsuariosCLS
                    {
                        idUsuario = usuarios.USU_ID,
                        nombres = usuarios.USU_NOMBRES,
                        usuario = usuarios.USU_USUARIO,
                        perfil = usuarios.USU_PERFIL,
                        estado = (int)usuarios.USU_ESTADO,
                        dia = (int)usuarios.USU_DIA,
                        hora = (int)usuarios.USU_HORA,
                        min = (int)usuarios.USU_MIN,
                        totalAtrasosMes = (int)usuarios.USU_TOTAL_ATRASOS_MES
                    }).ToList();
                    Session["listaEmpleados"] = listaUsuarios;
                }
                else
                {
                    listaUsuarios = (from usuarios in bd.usuarios
                                     where usuarios.USU_NOMBRES.Contains(termino)
                                     select new UsuariosCLS
                    {
                        idUsuario = usuarios.USU_ID,
                        nombres = usuarios.USU_NOMBRES,
                        usuario = usuarios.USU_USUARIO,
                        perfil = usuarios.USU_PERFIL,
                        estado = (int)usuarios.USU_ESTADO,
                        dia = (int)usuarios.USU_DIA,
                        hora = (int)usuarios.USU_HORA,
                        min = (int)usuarios.USU_MIN,
                        totalAtrasosMes = (int)usuarios.USU_TOTAL_ATRASOS_MES
                    }).ToList();
                    Session["listaEmpleados"] = listaUsuarios;
                }
            }

            return(PartialView("_tablaUsuarios", listaUsuarios));
        }
        // GET: Usuario
        public ActionResult Index()
        {
            int totalAtrasos = 0;

            //condicion si existe un ID de usuario al hacer login

            if (Session["Id"] == null)
            {
                return(RedirectToAction("Index", "Login"));
            }

            if (!(Session["perfil"].Equals("Administrador")))
            {
                return(RedirectToAction("Index", "Login"));
            }

            List <UsuariosCLS> listaUsuarios = new List <UsuariosCLS>();

            try
            {
                using (var bd = new asistenciaEntities())
                {
                    listaUsuarios = (from usuarios in bd.usuarios
                                     orderby usuarios.USU_NOMBRES
                                     select new UsuariosCLS
                    {
                        idUsuario = usuarios.USU_ID,
                        nombres = usuarios.USU_NOMBRES,
                        usuario = usuarios.USU_USUARIO,
                        perfil = usuarios.USU_PERFIL,
                        estado = (int)usuarios.USU_ESTADO,
                        dia = (int)usuarios.USU_DIA,
                        hora = (int)usuarios.USU_HORA,
                        min = (int)usuarios.USU_MIN,
                        totalAtrasosMes = (int)usuarios.USU_TOTAL_ATRASOS_MES
                    }).ToList();
                    Session["listaEmpleados"] = listaUsuarios;
                }
                listaPerfiles();
                return(View(listaUsuarios));
            }
            catch (Exception ex)
            {
                return(View(ex));
            }
        }
        public int aprobar(int id)
        {
            int ok = 0;


            using (var bd = new asistenciaEntities())
            {
                Models.asistencia infoAsistencia = bd.asistencia.Where(p => p.ASI_ID.Equals(id)).First();
                infoAsistencia.ASI_ESTADO = 1;
                infoAsistencia.ASI_ATRASO = 1;
                ok = bd.SaveChanges();
            }



            return(ok);
        }
        //Editar justificación
        public JsonResult recuperarDatos(int id)
        {
            AsistenciaCLS oAsistenciaCLS = new AsistenciaCLS();

            try
            {
                using (var bd = new asistenciaEntities())
                {
                    Models.asistencia oAsistencia = bd.asistencia.Where(p => p.ASI_ID == id).First();
                    oAsistenciaCLS.observacion = oAsistencia.ASI_OBSERVACION;
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(Json(oAsistenciaCLS, JsonRequestBehavior.AllowGet));
        }
        public JsonResult eliminar(int titulo)
        {
            string del;

            try
            {
                using (var bd = new asistenciaEntities())
                {
                    usuarios oUsuario = bd.usuarios.Where(p => p.USU_ID == titulo).First();
                    del = bd.usuarios.Remove(oUsuario).ToString();
                    bd.SaveChanges();
                }
                return(Json(del, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                return(Json(e, JsonRequestBehavior.AllowGet));
            }
        }
        public int justificar(AsistenciaCLS asistenciaCLS)
        {
            int rpta             = 0;
            int idUsuarioSession = (int)Session["Id"];

            try
            {
                using (var bd = new asistenciaEntities())
                {
                    Models.asistencia asi = bd.asistencia.Where(p => p.USU_ID.Equals(idUsuarioSession) &&
                                                                p.ASI_FECHA.Equals(asistenciaCLS.fechaJustificar)).First();
                    asi.ASI_OBSERVACION = asistenciaCLS.observacion;
                    rpta = bd.SaveChanges();
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(rpta);
        }
        public string IngresoHora()
        {
            //Declaración de variables
            int opcion = 1;

            //HORA ESTABLECIDA POR LA EMPRESA 9:10 COMO MAXIMO, POSTERIOR A ESO CUENTA COMO ATRASO
            TimeSpan horaEstablecida = new TimeSpan(09, 10, 00);

            //INFORMACION DEL USUARIO LOGEADO
            int      idUsuarioSession = (int)Session["Id"];
            DateTime fechaSession     = DateTime.Parse(Session["fechaActual"].ToString());

            fechaSession = fechaSession.Date;

            //GENERACIÓN DE HORA DEL MOMENTO
            TimeSpan hora    = new TimeSpan(DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
            String   ingreso = hora.ToString();

            //REGISTRO HORA EN BASE DE DATOS DEL USUARIO LOGEADO
            Models.asistencia asi = new Models.asistencia();
            using (var bd = new asistenciaEntities())
            {
                asi = (from asist in bd.asistencia
                       where asist.USU_ID.Equals(idUsuarioSession) &&
                       asist.ASI_FECHA.Equals(fechaSession)
                       select asist).First();

                asi.ASI_HORA_INGRESO = hora;
                asi.ASI_ESTADO       = 1;

                if (hora < horaEstablecida)
                {
                    asi.ASI_ATRASO = 1;
                }

                bd.SaveChanges();
            }
            LogicaHoras(idUsuarioSession, hora, opcion);
            return(ingreso);
        }
        public JsonResult recuperarDatos(int titulo)
        {
            UsuariosCLS oUsuarioCLS = new UsuariosCLS();

            try
            {
                using (var bd = new asistenciaEntities())
                {
                    usuarios oUsuario = bd.usuarios.Where(p => p.USU_ID == titulo).First();
                    oUsuarioCLS.idUsuario = oUsuario.USU_ID;
                    oUsuarioCLS.usuario   = oUsuario.USU_USUARIO;
                    oUsuarioCLS.nombres   = oUsuario.USU_NOMBRES;
                    oUsuarioCLS.perfil    = oUsuario.USU_PERFIL;
                }

                return(Json(oUsuarioCLS, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                return(Json(e, JsonRequestBehavior.AllowGet));
            }
        }
        //Contar numero de atrasos por usuario id
        public void Atrasos(int id)
        {
            int      cero = 0;
            int      mes  = (int)Session["mes"];
            int      year = (int)Session["year"];
            int      numAtrasos;
            usuarios usu = new usuarios();

            using (var bd = new asistenciaEntities())
            {
                numAtrasos = (from asist in bd.asistencia
                              where
                              asist.USU_ID == id &&
                              asist.ASI_ATRASO == cero &&
                              SqlFunctions.DatePart("month", asist.ASI_FECHA) == mes &&
                              SqlFunctions.DatePart("year", asist.ASI_FECHA) == year
                              select asist).Count();

                usu = bd.usuarios.Where(p => p.USU_ID.Equals(id)).First();
                usu.USU_TOTAL_ATRASOS_MES = numAtrasos;
                bd.SaveChanges();
            }
        }
        // GET: Home
        public ActionResult Index()
        {
            //condicion si existe un ID de usuario al hacer login
            if (Session["Id"] == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            //guardarmos variables de session luego de hacer login en variables locales
            int      idUsuarioSession = (int)Session["Id"];
            DateTime fechaSession     = DateTime.Parse(Session["fechaActual"].ToString());

            List <UsuariosCLS> ListaUsuarios = new List <UsuariosCLS>();
            AsistenciaCLS      asisCLS       = new AsistenciaCLS();

            using (var bd = new asistenciaEntities())
            {
                //CONSULTANDO EN BASE DE DATOS SI HAY REGISTROS CON LA FECHA DE HOY
                int numeroVeces = bd.asistencia.Where(p => p.USU_ID.Equals(idUsuarioSession) &&
                                                      p.ASI_FECHA.Equals(fechaSession)).Count();
                //SI NO HAY REGISTRO INGRESA PROCEDE A REGISTRAR
                if (numeroVeces < 1)
                {
                    //RECUPERANDO TODOS LOS USUARIOS
                    ListaUsuarios = (from usu in bd.usuarios
                                     where usu.USU_ESTADO == 1
                                     select new UsuariosCLS
                    {
                        idUsuario = usu.USU_ID
                    }).ToList();

                    //AGREGANDO REGISTRO DE FECHA DIARIA POR USUARIO A HISTORIAL
                    foreach (UsuariosCLS usuario in ListaUsuarios)
                    {
                        Models.asistencia asi = new Models.asistencia();
                        asi.USU_ID     = usuario.idUsuario;
                        asi.ASI_FECHA  = fechaSession;
                        asi.ASI_ESTADO = 0;
                        asi.ASI_ATRASO = 0;
                        bd.asistencia.Add(asi);
                        bd.SaveChanges();
                    }
                }
                //Actualizar total Atrasos por mes
                if (Session["perfil"].Equals("Administrador"))
                {
                    ListaUsuarios = (from usu in bd.usuarios
                                     select new UsuariosCLS
                    {
                        idUsuario = usu.USU_ID
                    }).ToList();
                    foreach (UsuariosCLS usuario in ListaUsuarios)
                    {
                        //Metodo registrrar total atrasos por usuarioz
                        Atrasos(usuario.idUsuario);
                    }
                }
                //Recuperando información del registro que sea igual al login
                Models.asistencia asistenciaUsuario = bd.asistencia.Where(p => p.USU_ID.Equals(idUsuarioSession) &&
                                                                          p.ASI_FECHA.Equals(fechaSession)).First();

                asisCLS.horaIngreso = asistenciaUsuario.ASI_HORA_INGRESO;
                asisCLS.horaSalida  = asistenciaUsuario.ASI_HORA_SALIDA;
            }


            return(View(asisCLS));
        }
        public void LogicaHoras(int idUuser, TimeSpan hora, int opcion)
        {
            int      diaU     = 0;
            int      horaU    = 0;
            int      minU     = 0;
            int      minDIF   = 0;
            int      horaDIF  = 0;
            int      horaTemp = horaU;
            TimeSpan horaEstablecida;
            TimeSpan diferenciaHora;
            TimeSpan cero = new TimeSpan(0, 0, 0, 0);

            if (opcion == 1)
            {
                horaEstablecida = new TimeSpan(09, 00, 00);
                diferenciaHora  = horaEstablecida - hora;
            }
            else
            {
                horaEstablecida = new TimeSpan(17, 30, 00);
                diferenciaHora  = hora - horaEstablecida;
            }

            horaDIF = diferenciaHora.Hours;
            minDIF  = diferenciaHora.Minutes;

            usuarios usuario = new usuarios();

            using (var bd = new asistenciaEntities())
            {
                usuario = (from usu in bd.usuarios
                           where usu.USU_ID.Equals(idUuser)
                           select usu).First();

                diaU  = (int)usuario.USU_DIA;
                horaU = (int)usuario.USU_HORA;
                minU  = (int)usuario.USU_MIN;

                //Condicion suma horas
                if (diferenciaHora < cero)
                {
                    if (minU <= 0)
                    {
                        if ((minU + minDIF) <= -60)
                        {
                            minU     = 60 + (minU + minDIF);
                            horaTemp = horaU - 1;
                            if (horaTemp <= -24)
                            {
                                diaU -= 1;
                                horaU = 0;
                            }
                            else
                            {
                                horaU -= 1;
                            }
                        }
                        else
                        {
                            minU += minDIF;
                        }
                    }
                    else
                    {
                        if ((minU + minDIF) < 0)
                        {
                            minU     = (minU + minDIF);
                            horaTemp = horaU - 1;
                            if (horaTemp <= -24)
                            {
                                diaU -= 1;
                                horaU = 0;
                            }
                            else
                            {
                                horaU -= 1;
                            }
                        }
                        else
                        {
                            minU += minDIF;
                        }
                    }
                }
                else
                {
                    if (minU < 0)
                    {
                        if ((minU + minDIF) >= 0)
                        {
                            minU     = minU + minDIF;
                            horaTemp = horaU + 1;
                            if (horaTemp >= 24)
                            {
                                diaU += 1;
                                horaU = 0;
                            }
                            else
                            {
                                horaU += 1;
                            }
                        }
                        else
                        {
                            minU += minDIF;
                        }
                    }
                    else
                    {
                        if ((minU + minDIF) >= 60)
                        {
                            minU     = 60 - (minU + minDIF);
                            horaTemp = horaU + 1;
                            if (horaTemp >= 24)
                            {
                                diaU += 1;
                                horaU = 0;
                            }
                            else
                            {
                                horaU += 1;
                            }
                        }
                        else
                        {
                            minU += minDIF;
                        }
                    }
                }

                //Condicion suma horas
                if (diferenciaHora < cero)
                {
                    if (horaU <= 0)
                    {
                        if ((horaU + horaDIF) <= -24)
                        {
                            horaU = 24 + (horaU + horaDIF);
                            diaU  = diaU - 1;
                        }
                        else
                        {
                            horaU += horaDIF;
                        }
                    }
                    else
                    {
                        if ((horaU + horaDIF) < 0)
                        {
                            horaU = (24 + (horaU + horaDIF)) * -1;
                            diaU  = diaU - 1;
                        }
                        else
                        {
                            horaU += horaDIF;
                        }
                    }
                }
                else
                {
                    if (horaU < 0)
                    {
                        if ((horaU + horaDIF) >= 0)
                        {
                            horaU += horaDIF;
                            diaU  += 1;
                        }
                        else
                        {
                            horaU += horaDIF;
                        }
                    }
                    else
                    {
                        if ((horaU + horaDIF) >= 24)
                        {
                            horaU = (horaU + horaDIF) - 24;
                            diaU += 1;
                        }
                        else
                        {
                            horaU += horaDIF;
                        }
                    }
                }

                usuario.USU_DIA  = diaU;
                usuario.USU_HORA = horaU;
                usuario.USU_MIN  = minU;

                bd.SaveChanges();
            }
        }
        public string Guardar(UsuariosCLS oUsuarioCLS, int titulo)
        {
            string rpta = "";

            try
            {
                if (!ModelState.IsValid)
                {
                    var query = (from state in ModelState.Values
                                 from error in state.Errors
                                 select error.ErrorMessage).ToList();
                    rpta += "<p class='text-danger' style='padding: 10px'>CORREGIR:</p><ul class='list-group'>";
                    foreach (var item in query)
                    {
                        rpta += "<li style='color:red' class='list-group-item'>" + item + "</li>";
                    }
                    rpta += "</ul>";
                }
                else
                {
                    using (var bd = new asistenciaEntities())
                    {
                        if (titulo.Equals(-1))
                        {
                            usuarios oUsuario = new usuarios();
                            oUsuario.USU_ID      = oUsuarioCLS.idUsuario;
                            oUsuario.USU_NOMBRES = oUsuarioCLS.nombres;
                            oUsuario.USU_USUARIO = oUsuarioCLS.usuario;

                            //inicio encriptado password
                            SHA256Managed sha                 = new SHA256Managed();
                            byte[]        byteContra          = Encoding.Default.GetBytes(oUsuarioCLS.password);
                            byte[]        byteContraCifrado   = sha.ComputeHash(byteContra);
                            string        cadenaContraCifrada = BitConverter.ToString(byteContraCifrado).Replace("-", "");
                            oUsuario.USU_PASSWORD = cadenaContraCifrada;
                            //fin encriptado password

                            oUsuario.USU_PERFIL            = oUsuarioCLS.perfil;
                            oUsuario.USU_ESTADO            = 1;
                            oUsuario.USU_FECHA             = DateTime.Now;
                            oUsuario.USU_DIA               = 0;
                            oUsuario.USU_HORA              = 0;
                            oUsuario.USU_MIN               = 0;
                            oUsuario.USU_TOTAL_ATRASOS_MES = 0;

                            //Guardar en base de datos
                            bd.usuarios.Add(oUsuario);
                            rpta = bd.SaveChanges().ToString();

                            if (rpta == "0")
                            {
                                rpta = "";
                            }
                        }
                        else if (titulo >= 1)
                        {
                            usuarios oUsuario = bd.usuarios.Where(p => p.USU_ID == titulo).First();
                            oUsuario.USU_USUARIO = oUsuarioCLS.usuario;
                            oUsuario.USU_NOMBRES = oUsuarioCLS.nombres;

                            if (oUsuarioCLS.password != null)
                            {
                                //inicio encriptado password
                                SHA256Managed sha                 = new SHA256Managed();
                                byte[]        byteContra          = Encoding.Default.GetBytes(oUsuarioCLS.password);
                                byte[]        byteContraCifrado   = sha.ComputeHash(byteContra);
                                string        cadenaContraCifrada = BitConverter.ToString(byteContraCifrado).Replace("-", "");
                                oUsuario.USU_PASSWORD = cadenaContraCifrada;
                                //fin encriptado password
                            }

                            oUsuario.USU_PERFIL = oUsuarioCLS.perfil;

                            rpta = bd.SaveChanges().ToString();

                            if (rpta == "0")
                            {
                                rpta = "";
                            }
                        }
                    }
                }
            }   catch (Exception ex)
            {
                return(rpta = "Error" + ex);
            }

            return(rpta);
        }