示例#1
0
        /// <summary>
        /// Metodo que obtiene el Usuario con el Id de la session activa
        /// </summary>
        /// <returns></returns>
        public static SYA_Usuarios GetUsuarioEnSession()
        {
            ControlUsuario cu = new ControlUsuario();

            var usuario = cu.GetUsuarioById(SessionHelpers.GetIdUsuario());

            return(usuario);
        }
示例#2
0
        // GET: Usuarios
        public ActionResult Index()
        {
            var IdUser = SessionHelpers.GetIdUsuario();
            var modelo = _ctx.GetUsuarioById(IdUser);

            ViewBag.UserPicture = GetPicture(modelo.Fotografia);
            return(View(modelo));
        }
示例#3
0
        public FileResult DescargarPlantilla()
        {
            //Obtiene el nombre del usuario
            var            id       = SessionHelpers.GetIdUsuario();
            ControlUsuario cu       = new ControlUsuario();
            var            usuario  = cu.GetUsuarioById(id);
            var            userName = usuario == null ? "Alianza" : usuario.Usuario;

            //Se crea la carpeta temporal
            var path = Server.MapPath("~//Files/ImportacionMasiva/" + userName);

            if (!System.IO.Directory.Exists(path))
            {
                System.IO.Directory.CreateDirectory(path);
            }
            else
            {
                System.IO.Directory.Delete(path, true);
                System.IO.Directory.CreateDirectory(path);
            }

            //Path del archivo nuevo en la carpeta temporal
            var fileName = Server.MapPath("~//Files/ImportacionMasiva/" + userName + "/ImportacionMasiva.xlsx");

            //Copia la plantilla a la carpeta temporal
            var pathPlantilla = Server.MapPath("~//Files/ImportacionMasiva/Plantilla.xlsx");

            System.IO.File.Copy(pathPlantilla, fileName);


            //se obtiene los datos de la sucursal
            var sucursal = Session["sucursal"] as SucursalDatos;

            //se genera el archivo
            ImportacionMasivaEmpleados ime = new ImportacionMasivaEmpleados();
            var status = ime.FormarPlantilla(fileName, sucursal.IdCliente, sucursal.IdSucursal, sucursal.Nombre);

            //Se lee el archivo
            byte[] fyleBytes = System.IO.File.ReadAllBytes(fileName);

            //Se crea un nuevo nombre de archivo para el usuario
            string newFileName = "Plantilla-Importacion-Masiva.xlsx";

            //se nombra la plantilla de excel
            var nombreArchivoPlantilla = "Plantilla-" + sucursal.Nombre + "-" + sucursal.Ciudad + ".xlsx";

            //Regresa el archivo
            return(File(fyleBytes, System.Net.Mime.MediaTypeNames.Application.Octet, nombreArchivoPlantilla));
        }
示例#4
0
        /// <summary>
        /// Metodo para validar si el usuario tiene acceso a la sucursal idSucursal
        /// </summary>
        /// <param name="idSucursal"></param>
        /// <param name="idUser"></param>
        /// <returns></returns>
        public static bool AccesoSucursal(int idSucursal)
        {
            var user = ControlAccesoxx.GetUsuarioEnSession();

            if (user == null)
            {
                return(false);
            }

            if (user.IdPerfil == 1)
            {
                return(true);
            }

            var cu     = new ControlUsuario();
            var result = false;

            var usuario = cu.GetUsuarioById(user.IdUsuario);


            if (usuario == null)
            {
                return(false);
            }
            if (usuario.Sucursales.Trim() == "*")
            {
                return(true);
            }

            var arraySucursales = usuario.Sucursales.Split(',');

            var encontrado = (from elemento in arraySucursales
                              where elemento == idSucursal.ToString()
                              select elemento).Count();

            if (encontrado > 0)
            {
                result = true;
            }


            return(result);
        }
示例#5
0
        /// <summary>
        /// Genera varias plantillas y las guarda en un archivo zip
        /// </summary>
        /// <param name="IdPlantilla"></param>
        /// <param name="TipoPlantilla"></param>
        /// <param name="empleados"></param>
        /// <returns></returns>
        public string FormarPlantilla(int IdPlantilla, int TipoPlantilla, int[] elementos)
        {
            //Obtiene el nombre del usuario
            var            id       = SessionHelpers.GetIdUsuario();
            ControlUsuario cu       = new ControlUsuario();
            var            usuario  = cu.GetUsuarioById(id);
            var            userName = usuario == null ? "Alianza" : usuario.Usuario;

            var plantilla = GetPlantillaById(IdPlantilla);
            //carpeta donde se encuentra la plantilla original
            var sourcePath = HttpContext.Current.Server.MapPath("~//Files/Plantillas");

            //carpeta donde se guardará la copia
            var targetPath = HttpContext.Current.Server.MapPath("~//Files/Plantillas/" + userName);

            if (!System.IO.Directory.Exists(targetPath))
            {
                System.IO.Directory.CreateDirectory(targetPath);
            }
            else
            {
                System.IO.Directory.Delete(targetPath, true);
                System.IO.Directory.CreateDirectory(targetPath);
            }

            var sourceFile = System.IO.Path.Combine(sourcePath, plantilla.NombreArchivo);
            var destFile   = System.IO.Path.Combine(targetPath, plantilla.NombreArchivo);

            try
            {
                if (System.IO.File.Exists(destFile))
                {
                    System.IO.File.Delete(destFile);
                }
                System.IO.File.Copy(sourceFile, destFile, true);
            }
            catch (System.IO.IOException)
            {
                return(null);
            }

            if (destFile != null)
            {
                //Forma una carpeta temporal
                var newPath = FormarCarpetaTemporal(userName);

                //Aquí la porción de código para sustituir palabras
                switch (TipoPlantilla)
                {
                case 1:
                    //Contratos
                    PlantillaContrato(destFile, newPath, elementos);
                    break;

                case 2:
                    //Vacaciones
                    PlantillaVacaciones(destFile, newPath, elementos);
                    break;

                case 3:
                    //Incapacidades
                    break;

                case 4:
                    //Baja
                    PlantillaBaja(destFile, newPath, elementos);
                    break;

                case 5:
                    //Permisos
                    PlantillaPermisos(destFile, newPath, elementos);
                    break;

                case 6:
                //Préstamos
                case 7:
                    //Movimiento de Personal
                    PlantillaMovimientoPersonal(destFile, newPath, elementos);
                    break;

                case 8:
                    //Carta de Antigüedad
                    PlantillaCartaAntiguedad(destFile, newPath, elementos);
                    break;

                case 9:
                    //Gastos Médicos Menores
                    PlantillaGastosMedicosMenores(destFile, newPath, elementos);
                    break;

                case 10:
                    //Sindicato
                    PlantillaSindicato(destFile, newPath, elementos);
                    break;

                default:
                    break;
                }

                //Crea un archivo zip para descargar las plantillas en caso de que sean varias
                var zipFile = HttpContext.Current.Server.MapPath("~//Files/Plantillas/" + userName + "/" + DateTime.Now.ToString("dd-MM-yyyy") + ".zip");
                ZipDirectory(newPath, zipFile);

                return(zipFile);
            }

            return(null);
        }