public async Task <ActionResult> ViewProfile(int id) { using (DataquadEntities db = new DataquadEntities()) { var userPersonalDetails = db.userPersonalDetails.Where(x => x.userId == id).FirstOrDefault(); ViewBag.userImages = db.userProfileImages.Where(x => x.UserId == id).FirstOrDefault(); ViewBag.files = await GetAllFiles.GetAllFilesByUserId(id); ViewBag.userId = id; return(View(userPersonalDetails)); } }
//To present a view to upload files public async Task <ActionResult> UploadFiles(int?id) { userFilesCollection uploadFileCollection = new userFilesCollection(); uploadFileCollection.UserId = id; using (DataquadEntities db = new DataquadEntities()) { var watch = new Stopwatch(); var files = await GetAllFiles.GetAllFilesByUserId(id); ViewBag.files = files; ViewBag.userImages = ImageFiles(files); } return(View(uploadFileCollection)); }
/// <summary> /// Creates a file locker and immediately locks <paramref name="file"/> /// </summary> /// <param name="file">The file to lock/unlock</param> /// <param name="timeTillDeath">the time until the file automatically locks itself</param> public Locker(List <string> file, long timeTillDeath, bool shouldChangePass = false) { TimeTillDeath = timeTillDeath; Files = GetAllFiles.GetAllFilesFromPaths(file); Password = GetPassword.GetPasswordFromCMD(); // start new line from GetPasswordFromCMD() Console.WriteLine(); for (int i = 0; i < file.Count(); i++) { var f = file[i]; // if the file is already locked if (Path.GetExtension(f) == ".lock") { // let File be the original file name without .lock Files[i] = f.Remove(f.Length - 5); try { UnlockFile(f, Files[i]); } catch (CryptographicException) { Console.WriteLine("Password is incorrect."); File.Delete(Files[i]); Environment.Exit(1); } } } // in case of ctrl-c, lock the file Console.CancelKeyPress += new ConsoleCancelEventHandler(HandleConsoleEnd); if (shouldChangePass) { ChangePassword(); } else { // wait until timer dies Thread.Sleep((int)TimeTillDeath); } }
//Upload files public async Task <ActionResult> UploadFiles(userFilesCollection uploadedFiles, int?userId) { string fileNameString, fileExtensionString; userFilesCollection uploadFileCollection = new userFilesCollection(); if (uploadedFiles.Files[0] != null) { foreach (var file in uploadedFiles.Files) { //Images image = new Images(); fileNameString = (file.FileName.Split('.'))[0]; fileExtensionString = (file.FileName.Split('.'))[1]; uploadFileCollection.FileName = fileNameString; uploadFileCollection.FileExtension = fileExtensionString; uploadFileCollection.FileSize = file.ContentLength; uploadFileCollection.FileContentType = file.ContentType; byte[] data = new byte[file.ContentLength]; file.InputStream.Read(data, 0, file.ContentLength); uploadFileCollection.FileData = data; uploadFileCollection.UserId = userId; DataquadEntities db = new DataquadEntities(); db.userFilesCollections.Add(uploadFileCollection); db.SaveChanges(); } return(RedirectToAction("ViewProfile", "Account", new { id = userId })); } else { ModelState.AddModelError("FileName", "Please select atleast one file to upload"); userFilesCollection uploadFile = new userFilesCollection(); uploadFileCollection.UserId = uploadedFiles.UserId; using (DataquadEntities db = new DataquadEntities()) { var files = await GetAllFiles.GetAllFilesByUserId(uploadedFiles.UserId); ViewBag.files = files; ViewBag.userImages = ImageFiles(files); } return(View("UploadFiles", uploadFileCollection)); } }