Ejemplo n.º 1
0
        public void AltaArchivosModulo(ArchivoModulo newArchivo, int countFiles, int entityId)
        {
            ArchivoModuloRepository objectRepository = new ArchivoModuloRepository();

            //Consigo el objeto TipoArchivoModulo
            TipoArchivoModuloRepository tipoArchivoModulo = new TipoArchivoModuloRepository();
            TipoArchivoModulo           tipoArchivo       = tipoArchivoModulo.GetFiltered(x => x.Tipo.ToLower().Trim().Equals(newArchivo.NombreTipoArchivoModulo.ToLower().Trim())).First();

            newArchivo.TipoArchivoModulo_Id = tipoArchivo.Id;

            var currentFile = Request.Files[countFiles];

            if (currentFile != null && currentFile.ContentLength > 0)
            {
                string extension = Path.GetExtension(newArchivo.Path);
                string name      = DateTime.Now.Day.ToString("00") + DateTime.Now.Month.ToString("00") + DateTime.Now.Year.ToString()
                                   + DateTime.Now.Hour.ToString("00") + DateTime.Now.Minute.ToString("00") + DateTime.Now.Second.ToString("00")
                                   + "_T" + newArchivo.TipoArchivoModulo_Id + extension;

                string fileName = Server.MapPath(ConfigurationManager.AppSettings["FILES.PATH"]) + name;
                currentFile.SaveAs(fileName);

                newArchivo.Path = name;
            }


            //Si no hay paises va a retornar cero, nunca va a retornar cero porque primero guardo el pais
            //y entonces voy a conseguir el ultimo id que va a corresponder al pais que acabo de guardar
            //if(lastPaisId == null)
            //    lastPaisId = (paisRepository.GetAll().Max(r => r == null ? 0 : r.Id));

            newArchivo.Entity_Id = entityId.ToString();

            objectRepository.Add(newArchivo, this.User.UserID);
        }
        public void AltaArchivosModulo(ArchivoModulo newArchivo, string entityId)
        {
            ArchivoModuloRepository objectRepository = new ArchivoModuloRepository();

            //Consigo el objeto TipoArchivoModulo
            TipoArchivoModuloRepository tipoArchivoModulo = new TipoArchivoModuloRepository();
            TipoArchivoModulo           tipoArchivo       = tipoArchivoModulo.GetFiltered(x => x.Tipo.ToLower().Trim().Equals(newArchivo.NombreTipoArchivoModulo.ToLower().Trim())).First();

            newArchivo.TipoArchivoModulo_Id = tipoArchivo.Id;

            //string oldFileName = Server.MapPath("~/Content/TempFiles/") + newArchivo.Path;
            string oldFileName = HostingEnvironment.MapPath("~/Content/TempFiles/") + newArchivo.Path;
            //if (newArchivo.Id != 0)
            //{
            //    oldFileName = Server.MapPath("~/Content/Files/") + newArchivo.Path;
            //}
            //else
            //{
            //    //obtengo la url del archivo temporal
            //    oldFileName = Server.MapPath("~/Content/TempFiles/") + newArchivo.Path;
            //}

            string extension = Path.GetExtension(newArchivo.Path);
            string newName   = DateTime.Now.Day.ToString("00") + DateTime.Now.Month.ToString("00") + DateTime.Now.Year.ToString()
                               + DateTime.Now.Hour.ToString("00") + DateTime.Now.Minute.ToString("00") + DateTime.Now.Second.ToString("00")
                               + "_T" + newArchivo.TipoArchivoModulo_Id + extension;

            //string newFileName = Server.MapPath("~/Content/Files/") + newName;
            string newFileName = HostingEnvironment.MapPath("~/Content/Files/") + newName;

            // Muevo el archivo de la carpeta temporal a la carpeta donde se alojan los archivos permanentes
            System.IO.File.Move(oldFileName, newFileName);
            //Elimino el archivo de la carpeta temporal
            System.IO.File.Delete(oldFileName);

            newArchivo.Path = newName;

            newArchivo.Entity_Id = entityId;

            objectRepository.Add(newArchivo, this.User.UserID);
        }
Ejemplo n.º 3
0
        public ActionResult Edit([Bind(Include = "Id,NombreApellido,UserName,Password,Estado,FechaCreacion,idUsuario,ArchivosModulo,CambiarPass,FechaUltimoAcceso,Email")] Usuario usuario)
        {
            try
            {
                if (!IsAdmin && User.UserID != 1157)
                {
                    if (usuario.Id != User.UserID)
                    {
                        SetMessage(ERROR, " Error al intentar modificar un usuario sin permisos.");
                        ModelState.AddModelError("", "No tiene permisis para editar usuarios");
                        return(RedirectToAction("Index", "Home"));
                    }
                }

                if (usuario.ArchivosModulo == null)
                {
                    usuario.ArchivosModulo = new List <ArchivoModulo>().ToArray();
                }

                if (ModelState.IsValid)
                {
                    if (usuarioRepository.GetFiltered(x => x.UserName.ToLower().Trim().Equals(usuario.UserName.ToLower().Trim()) && x.Id != usuario.Id).Any())
                    {
                        ModelState.AddModelError(string.Empty, "El Nombre de Usuario ya ha sido utilizado!");
                        return(View(usuario));
                    }
                    else
                    {
                        if (usuario.Password.Length >= 4)
                        {
                            string idString = usuario.Id.ToString();
                            ArchivoModuloRepository archivoModuloRepository = new ArchivoModuloRepository(this.UserContext);
                            List <ArchivoModulo>    list = archivoModuloRepository.GetFiltered(x => x.Entity_Id == idString && x.Estado == true).ToList();

                            if (usuario.ArchivosModulo != null)
                            {
                                foreach (ArchivoModulo archivoModulo in usuario.ArchivosModulo)
                                {
                                    if ((archivoModuloRepository.GetFiltered(x => x.Id == archivoModulo.Id).Any() == false) && archivoModulo.Deleted != true)
                                    {
                                        AltaArchivosModulo(archivoModulo, usuario.Id.ToString());
                                    }

                                    if (archivoModulo.Deleted == true)
                                    {
                                        archivoModuloRepository.Remove(archivoModulo, this.User.UserID);
                                    }
                                }
                            }

                            usuarioRepository.Modify(usuario, this.User.UserID);
                            SetMessage(SUCCESS, "Guardado.");
                        }
                        else
                        {
                            ModelState.AddModelError(string.Empty, "La Password debe contener más de 4 caracteres");
                            return(View(usuario));
                        }
                    }
                }
                else
                {
                    return(View(usuario));
                }

                TipoArchivoModuloRepository tipoArchivoModulo = new TipoArchivoModuloRepository();
                TipoArchivoModulo           tipoArchivo       = tipoArchivoModulo.GetFiltered(x => x.Tipo.ToLower().Trim().Equals(_ControllerName.ToLower().Trim())).First();

                if (usuario.ArchivosModulo != null)
                {
                    foreach (ArchivoModulo archivo in usuario.ArchivosModulo)
                    {
                        archivo.TipoArchivoModulo = tipoArchivo;
                    }
                }
            }
            catch (Exception ex)
            {
                SetMessage(ERROR, " Error al guardar usuario :" + ex.Message);
                ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists, see your system administrator.");
                return(View(usuario));
            }
            if (!IsAdmin)
            {
                return(RedirectToAction("Index", "Home"));
            }

            return(Index());
        }