/// <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); }
// GET: Usuarios public ActionResult Index() { var IdUser = SessionHelpers.GetIdUsuario(); var modelo = _ctx.GetUsuarioById(IdUser); ViewBag.UserPicture = GetPicture(modelo.Fotografia); return(View(modelo)); }
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)); }
/// <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); }
/// <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); }