public ActionResult AltaNomina(string id)
 {
     try
     {
         Token.SaveToken();
         CatEmpleadoAltaNominaModels EmpleadoNomina = new CatEmpleadoAltaNominaModels();
         CatEmpleadoModels           Empleado       = new CatEmpleadoModels();
         CatEmpleado_Datos           EmleadoDatos   = new CatEmpleado_Datos();
         EmpleadoNomina.Conexion   = Conexion;
         Empleado.Conexion         = Conexion;
         EmpleadoNomina.IDEmpleado = id;
         EmpleadoNomina            = EmleadoDatos.GetEmpleadoAltaBaja(EmpleadoNomina);
         if (!EmpleadoNomina.Baja)
         {
             EmpleadoNomina = EmleadoDatos.GetNombreEmpleado(EmpleadoNomina);
             EmpleadoNomina.ListaCmbPuesto          = EmleadoDatos.obtenerComboCatPuesto(Empleado);
             EmpleadoNomina.ListaCmbCategoriaPuesto = EmleadoDatos.ObteneComboCatCategoriaPuesto(Empleado);
             return(View(EmpleadoNomina));
         }
         else
         {
             TempData["typemessage"] = "2";
             TempData["message"]     = "El empleado ya a sido dado de baja una vez";
             Token.ResetToken();
             return(RedirectToAction("Index"));
         }
     }
     catch (Exception)
     {
         CatEmpleadoModels Empleado = new CatEmpleadoModels();
         TempData["typemessage"] = "2";
         TempData["message"]     = "No se puede cargar la vista";
         return(RedirectToAction("Index"));
     }
 }
 public ActionResult BajaNomina(string id)
 {
     try
     {
         Token.SaveToken();
         CatEmpleadoBajaNominaModels EmpleadoNominaB = new CatEmpleadoBajaNominaModels();
         CatEmpleadoAltaNominaModels EmpleadoNominaA = new CatEmpleadoAltaNominaModels();
         CatEmpleado_Datos           EmleadoDatos    = new CatEmpleado_Datos();
         EmpleadoNominaB.Conexion           = Conexion;
         EmpleadoNominaA.Conexion           = Conexion;
         EmpleadoNominaB.IDEmpleado         = id;
         EmpleadoNominaA.IDEmpleado         = id;
         EmpleadoNominaA                    = EmleadoDatos.GetNombreEmpleado(EmpleadoNominaA);
         EmpleadoNominaB.NombreCompleto     = EmpleadoNominaA.NombreCompleto;
         EmpleadoNominaB.ListaCmbMotivoBaja = EmleadoDatos.ObteneComboCatMotivoBaja(EmpleadoNominaB);
         return(View(EmpleadoNominaB));
     }
     catch (Exception)
     {
         CatEmpleadoModels Empleado = new CatEmpleadoModels();
         TempData["typemessage"] = "2";
         TempData["message"]     = "No se puede cargar la vista";
         return(RedirectToAction("Index"));
     }
 }
        public ActionResult Edit(string id, CatEmpleadoModels DatosEmpleado)
        {
            CatEmpleado_Datos EmpleadoDatos = new CatEmpleado_Datos();
            _Combos_Datos     Combos        = new _Combos_Datos();

            try
            {
                if (Token.IsTokenValid())
                {
                    if (ModelState.IsValid)
                    {
                        DatosEmpleado.Conexion = Conexion;
                        DatosEmpleado.Usuario  = User.Identity.Name;
                        DatosEmpleado.Opcion   = 2;
                        DatosEmpleado          = EmpleadoDatos.AbcCatEmpleado(DatosEmpleado);
                        if (DatosEmpleado.Completado)
                        {
                            TempData["typemessage"] = "1";
                            TempData["message"]     = "Los datos se guardaron correctamente.";
                            Token.ResetToken();
                            return(RedirectToAction("Index"));
                        }
                        else
                        {
                            DatosEmpleado.ListaCmbGrupoSanguineo  = EmpleadoDatos.ObteneComboCatGrupoSanguineo(DatosEmpleado);
                            DatosEmpleado.ListaCmbSucursal        = Combos.ObtenerComboSucursales(Conexion);
                            DatosEmpleado.ListaCmbPuesto          = EmpleadoDatos.obtenerComboCatPuesto(DatosEmpleado);
                            DatosEmpleado.ListaCmbCategoriaPuesto = EmpleadoDatos.ObteneComboCatCategoriaPuesto(DatosEmpleado);
                            TempData["typemessage"] = "2";
                            TempData["message"]     = "Ocurrio un error al intentar guardar los datos. Intente más tarde.";
                            return(View(DatosEmpleado));
                        }
                    }
                    else
                    {
                        DatosEmpleado.Conexion = Conexion;
                        DatosEmpleado.ListaCmbGrupoSanguineo  = EmpleadoDatos.ObteneComboCatGrupoSanguineo(DatosEmpleado);
                        DatosEmpleado.ListaCmbSucursal        = Combos.ObtenerComboSucursales(Conexion);
                        DatosEmpleado.ListaCmbPuesto          = EmpleadoDatos.obtenerComboCatPuesto(DatosEmpleado);
                        DatosEmpleado.ListaCmbCategoriaPuesto = EmpleadoDatos.ObteneComboCatCategoriaPuesto(DatosEmpleado);
                        return(View(DatosEmpleado));
                    }
                }
                else
                {
                    return(RedirectToAction("Index"));
                }
            }
            catch
            {
                DatosEmpleado.Conexion = Conexion;
                DatosEmpleado.ListaCmbGrupoSanguineo  = EmpleadoDatos.ObteneComboCatGrupoSanguineo(DatosEmpleado);
                DatosEmpleado.ListaCmbSucursal        = Combos.ObtenerComboSucursales(Conexion);
                DatosEmpleado.ListaCmbPuesto          = EmpleadoDatos.obtenerComboCatPuesto(DatosEmpleado);
                DatosEmpleado.ListaCmbCategoriaPuesto = EmpleadoDatos.ObteneComboCatCategoriaPuesto(DatosEmpleado);
                TempData["typemessage"] = "2";
                TempData["message"]     = "Ocurrio un error al intentar guardar los datos. Contacte a soporte técnico.";
                return(View(DatosEmpleado));
            }
        }
 public ActionResult DeleteVacaciones(string id, string id2)
 {
     try
     {
         NominaVacacionesModels Datos = new NominaVacacionesModels
         {
             IDVacaciones = id,
             IDEmpleado   = id2,
             Conexion     = Conexion,
             Usuario      = User.Identity.Name
         };
         CatEmpleado_Datos EmpleadoDatos = new CatEmpleado_Datos();
         EmpleadoDatos.EliminarVacacionesEmpleado(Datos);
         if (Datos.Completado)
         {
             TempData["typemessage"] = "1";
             TempData["message"]     = "El registro se ha eliminado correctamente";
             return(Json(""));
         }
         else
         {
             return(Json(""));
         }
     }
     catch
     {
         return(View());
     }
 }
 public ActionResult Edit(string id)
 {
     try
     {
         Token.SaveToken();
         CatEmpleadoModels Empleado     = new CatEmpleadoModels();
         CatEmpleado_Datos EmleadoDatos = new CatEmpleado_Datos();
         _Combos_Datos     Combos       = new _Combos_Datos();
         Empleado.Conexion                = Conexion;
         Empleado.IDEmpleado              = id;
         Empleado                         = EmleadoDatos.ObtenerDetalleCatEmpleado(Empleado);
         Empleado.ListaCmbGrupoSanguineo  = EmleadoDatos.ObteneComboCatGrupoSanguineo(Empleado);
         Empleado.ListaCmbSucursal        = Combos.ObtenerComboSucursales(Conexion);
         Empleado.ListaCmbPuesto          = EmleadoDatos.obtenerComboCatPuesto(Empleado);
         Empleado.ListaCmbCategoriaPuesto = EmleadoDatos.ObteneComboCatCategoriaPuesto(Empleado);
         return(View(Empleado));
     }
     catch (Exception)
     {
         CatEmpleadoModels Empleado = new CatEmpleadoModels();
         TempData["typemessage"] = "2";
         TempData["message"]     = "No se puede cargar la vista";
         return(RedirectToAction("Index"));
     }
 }
        public ActionResult BajaNomina(string id, CatEmpleadoBajaNominaModels datos)
        {
            CatEmpleado_Datos EmpleadoDatos = new CatEmpleado_Datos();
            CatEmpleadoModels Empleado      = new CatEmpleadoModels();

            try
            {
                if (Token.IsTokenValid())
                {
                    if (ModelState.IsValid)
                    {
                        datos.Conexion = Conexion;
                        datos.Usuario  = User.Identity.Name;
                        datos          = EmpleadoDatos.BajaNominaEmpleado(datos);
                        if (datos.Completado && datos.Resultado == 1)
                        {
                            TempData["typemessage"] = "1";
                            TempData["message"]     = "El empleado fue dado de alta correctamente.";
                            Token.ResetToken();
                            return(RedirectToAction("Index"));
                        }
                        else if (datos.Completado && datos.Resultado == 0)
                        {
                            datos.ListaCmbMotivoBaja = EmpleadoDatos.ObteneComboCatMotivoBaja(datos);
                            TempData["typemessage"]  = "2";
                            TempData["message"]      = "El empleado debe estar dado de alta.";
                            return(View(datos));
                        }
                        else
                        {
                            datos.ListaCmbMotivoBaja = EmpleadoDatos.ObteneComboCatMotivoBaja(datos);
                            TempData["typemessage"]  = "2";
                            TempData["message"]      = "Error al dar de baja al empleado.";
                            return(View(datos));
                        }
                    }
                    else
                    {
                        datos.Conexion           = Conexion;
                        datos.ListaCmbMotivoBaja = EmpleadoDatos.ObteneComboCatMotivoBaja(datos);
                        return(View(datos));
                    }
                }
                else
                {
                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception)
            {
                datos.Conexion           = Conexion;
                datos.ListaCmbMotivoBaja = EmpleadoDatos.ObteneComboCatMotivoBaja(datos);
                TempData["typemessage"]  = "2";
                TempData["message"]      = "Ocurrio un error al intentar guardar los datos. Contacte a soporte técnico.";
                return(View(datos));
            }
        }
        public ActionResult AgregarArchivo(ArchivoEmpleadoModels ArchivoModel)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(ArchivoModel));
                }

                CatEmpleado_Datos Datos = new CatEmpleado_Datos();

                if (Path.GetExtension(ArchivoModel.Archivo.FileName).ToLower() == ".heic")
                {
                    ArchivoModel.UrlArchivo    = Guid.NewGuid().ToString() + ".png";
                    ArchivoModel.NombreArchivo = ArchivoModel.Archivo.FileName.Replace(Path.GetExtension(ArchivoModel.Archivo.FileName), ".png");
                }
                else
                {
                    ArchivoModel.UrlArchivo    = Guid.NewGuid().ToString() + Path.GetExtension(ArchivoModel.Archivo.FileName);
                    ArchivoModel.NombreArchivo = ArchivoModel.Archivo.FileName;
                }
                RespuestaAjax respuesta = Datos.EMPLEADO_ac_Archivo(ArchivoModel, Conexion, User.Identity.Name, 1);

                if (respuesta.Success)
                {
                    if (Path.GetExtension(ArchivoModel.Archivo.FileName).ToLower() == ".heic")
                    {
                        Stream oStream = ArchivoModel.Archivo.InputStream;
                        Bitmap bmp     = Auxiliar.ProcessFile(oStream);
                        bmp.Save(Server.MapPath("~/ArchivosEmpleado/" + ArchivoModel.UrlArchivo));
                    }
                    else
                    {
                        ArchivoModel.Archivo.SaveAs(Server.MapPath("~/ArchivosEmpleado/" + ArchivoModel.UrlArchivo));
                    }

                    TempData["typemessage"] = "1";
                }
                else
                {
                    TempData["typemessage"] = "2";
                }

                TempData["message"] = respuesta.Mensaje;

                return(RedirectToAction("Archivos", "CatEmpleado", new { id = ArchivoModel.Id_empleado, nombreEmpleado = respuesta.Href }));
            }
            catch (Exception ex)
            {
                TempData["typemessage"] = "2";
                TempData["message"]     = "Verifique sus datos.";
                return(RedirectToAction("Index"));
            }
        }
        public ActionResult CreateVacaciones(NominaVacacionesModels Vacaciones)
        {
            CatEmpleado_Datos EmpleadoDatos = new CatEmpleado_Datos();

            try
            {
                if (Token.IsTokenValid())
                {
                    if (ModelState.IsValid)
                    {
                        Vacaciones.Conexion = Conexion;
                        Vacaciones.Opcion   = 1;
                        Vacaciones.Usuario  = User.Identity.Name;
                        Vacaciones          = EmpleadoDatos.AVacacionesNomina(Vacaciones);
                        if (Vacaciones.Completado)
                        {
                            TempData["typemessage"] = "1";
                            TempData["message"]     = "Los datos se guardaron correctamente.";
                            Token.ResetToken();
                            return(RedirectToAction("Vacaciones", new { id = Vacaciones.IDEmpleado }));
                        }
                        else
                        {
                            if (Vacaciones.Resultado == 51000)
                            {
                                TempData["typemessage"] = "2";
                                TempData["message"]     = "El empleado ya cuenta con esa fecha asignado. Selecciones un nuevo rango de fechas";
                                return(View(Vacaciones));
                            }
                            else
                            {
                                TempData["typemessage"] = "2";
                                TempData["message"]     = "Ocurrió un error al intentar guardar los datos. Intente más tarde.";
                                return(View(Vacaciones));
                            }
                        }
                    }
                    else
                    {
                        return(View(Vacaciones));
                    }
                }
                else
                {
                    return(RedirectToAction("Vacaciones", new { id = Vacaciones.IDEmpleado }));
                }
            }
            catch (Exception)
            {
                TempData["typemessage"] = "2";
                TempData["message"]     = "Ocurrio un error al intentar guardar los datos. Contacte a soporte técnico.";
                return(View(Vacaciones));
            }
        }
        public ActionResult LoadTableArchivos(string id_empleado)
        {
            try
            {
                CatEmpleado_Datos Datos     = new CatEmpleado_Datos();
                string            datatable = Datos.EMPLEADO_index_Archivo(Conexion, id_empleado);

                return(Content(datatable, "application/json"));
            }
            catch (Exception ex)
            {
                return(Content("", "application/json"));
            }
        }
 public ActionResult ObtenerSueldoCategoriaPuesto(string IDCP)
 {
     try
     {
         CatEmpleadoAltaNominaModels Empleado      = new CatEmpleadoAltaNominaModels();
         CatEmpleado_Datos           EmpleadoDatos = new CatEmpleado_Datos();
         Empleado.IDCategoriaPuesto = IDCP;
         Empleado.Conexion          = Conexion;
         Empleado = EmpleadoDatos.GetSueldoBaseCategoriaPuesto(Empleado);
         return(Json(Empleado.sueldoBase, JsonRequestBehavior.AllowGet));
     }
     catch (Exception ex)
     {
         ex.Message.ToString();
         return(Json("", JsonRequestBehavior.AllowGet));
     }
 }
 public ActionResult ObtenerComboCategoriaPuesto(int IDP)
 {
     try
     {
         CatEmpleadoModels Empleado      = new CatEmpleadoModels();
         CatEmpleado_Datos EmpleadoDatos = new CatEmpleado_Datos();
         Empleado.IDPuesto = IDP;
         Empleado.Conexion = Conexion;
         List <CatCategoriaPuestoModels> Lista = EmpleadoDatos.ObteneComboCatCategoriaPuesto(Empleado);
         return(Json(Lista, JsonRequestBehavior.AllowGet));
     }
     catch (Exception ex)
     {
         ex.Message.ToString();
         return(Json("", JsonRequestBehavior.AllowGet));
     }
 }
 // GET: Admin/CatEmpleado
 public ActionResult Index()
 {
     try
     {
         CatEmpleadoModels Empleado      = new CatEmpleadoModels();
         CatEmpleado_Datos EmpleadoDatos = new CatEmpleado_Datos();
         Empleado.Conexion      = Conexion;
         Empleado.ListaEmpleado = EmpleadoDatos.ObtenerCatEmpleado(Empleado);
         return(View(Empleado));
     }
     catch (Exception)
     {
         CatEmpleadoModels Empleado = new CatEmpleadoModels();
         TempData["typemessage"] = "2";
         TempData["message"]     = "No se puede cargar la vista";
         return(View(Empleado));
     }
 }
 public ActionResult Vacaciones(string id)
 {
     try
     {
         NominaVacacionesModels Vacaciones    = new NominaVacacionesModels();
         CatEmpleado_Datos      EmpleadoDatos = new CatEmpleado_Datos();
         Vacaciones.Conexion              = Conexion;
         Vacaciones.IDEmpleado            = id;
         Vacaciones.ListaNominaVacaciones = EmpleadoDatos.ObtenerVacacionesNomina(Vacaciones);
         return(View(Vacaciones));
     }
     catch (Exception)
     {
         NominaVacacionesModels Vacaciones = new NominaVacacionesModels();
         TempData["typemessage"] = "2";
         TempData["message"]     = "No se puede cargar la vista";
         return(RedirectToAction("Index"));
     }
 }
        public ActionResult EliminarArchivo(string nombreArchivoServer, int?id)
        {
            try
            {
                RespuestaAjax respuesta = new RespuestaAjax();

                if ((string.IsNullOrEmpty(nombreArchivoServer.Trim())) || (id == null || id == 0))
                {
                    respuesta.Success = false;
                    respuesta.Mensaje = "Verifique sus datos";
                    return(Content(respuesta.ToJSON(), "application/json"));
                }

                //Borramos el archivo del servidor para no acumular basura
                string pathRoot = Server.MapPath("~/ArchivosEmpleado");
                string filePath = pathRoot + "\\" + nombreArchivoServer;

                if ((System.IO.File.Exists(filePath)))
                {
                    System.IO.File.Delete(filePath);
                    //Ponemos en activo 0 el archivo

                    CatEmpleado_Datos Datos = new CatEmpleado_Datos();
                    respuesta = Datos.EMPLEADO_del_Archivo(Conexion, id.Value);

                    respuesta.Success = respuesta.Success;
                    respuesta.Mensaje = respuesta.Mensaje;
                    return(Content(respuesta.ToJSON(), "application/json"));
                }
                else
                {
                    respuesta.Success = false;
                    respuesta.Mensaje = "Verifique sus datos";
                    return(Content(respuesta.ToJSON(), "application/json"));
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        public ActionResult Delete(string id, FormCollection collection)
        {
            try
            {
                CatEmpleadoModels Empleado      = new CatEmpleadoModels();
                CatEmpleado_Datos EmpleadoDatos = new CatEmpleado_Datos();
                Empleado.Conexion   = Conexion;
                Empleado.Usuario    = User.Identity.Name;
                Empleado.IDEmpleado = id;
                EmpleadoDatos.EliminarEmpleado(Empleado);
                //TempData["typemessage"] = "1";
                //TempData["message"] = "El registro se ha eliminado correctamente";
                return(Json(""));
            }
            catch
            {
                CatEmpleadoModels Empleado = new CatEmpleadoModels();

                return(View());
            }
        }
        public ActionResult CuentaUser(CuentaEmpleadoViewModels model)
        {
            CatEmpleado_Datos EmpleadoDatos = new CatEmpleado_Datos();
            _Usuario_Datos    UsuarioDatos  = new _Usuario_Datos();

            try
            {
                if (Token.IsTokenValid())
                {
                    if (ModelState.IsValid)
                    {
                        CatEmpleado_Datos datos = new CatEmpleado_Datos();
                        int Resultado           = datos.CrearCuenta(model, User.Identity.Name);
                        if (Resultado == 1)
                        {
                            TempData["typemessage"] = "1";
                            TempData["message"]     = "Los datos se guardaron correctamente.";
                            Token.ResetToken();
                            return(RedirectToAction("Index"));
                        }
                        else
                        {
                            if (Resultado == 2)
                            {
                                TempData["typemessage"]  = "2";
                                TempData["message"]      = "La cuenta de usuario ya existe. Debe ingresar otra.";
                                ViewBag.ComboTipoUsuario = UsuarioDatos.ObtenerComboTipoUsuario(new UsuarioModels {
                                    conexion = Conexion, opcion = 1
                                });
                                return(View(model));
                            }
                            else
                            {
                                TempData["typemessage"]  = "2";
                                TempData["message"]      = "Ocurrió un error al intentar guardar los datos. Intente más tarde.";
                                ViewBag.ComboTipoUsuario = UsuarioDatos.ObtenerComboTipoUsuario(new UsuarioModels {
                                    conexion = Conexion, opcion = 1
                                });
                                return(View(model));
                            }
                        }
                    }
                    else
                    {
                        ViewBag.ComboTipoUsuario = UsuarioDatos.ObtenerComboTipoUsuario(new UsuarioModels {
                            conexion = Conexion, opcion = 1
                        });
                        return(View(model));
                    }
                }
                else
                {
                    return(RedirectToAction("Index"));
                }
            }
            catch
            {
                TempData["typemessage"] = "2";
                TempData["message"]     = "Ocurrió un error al intentar guardar los datos. Contacte a soporte técnico.";
                return(View(model));
            }
        }