public async Task <IActionResult> UploadPhoto(UserFileViewModel userViewModel) { if (ModelState.IsValid) { var formFile = userViewModel.Photo; if (formFile == null || formFile.Length == 0) { ModelState.AddModelError("", "Uploaded file is empty or null."); return(View(viewName: "Index")); } var uploadsRootFolder = Path.Combine(_environment.WebRootPath, "uploads"); if (!Directory.Exists(uploadsRootFolder)) { Directory.CreateDirectory(uploadsRootFolder); } var filePath = Path.Combine(uploadsRootFolder, formFile.FileName); using (var fileStream = new FileStream(filePath, FileMode.Create)) { await formFile.CopyToAsync(fileStream).ConfigureAwait(false); } RedirectToAction("Index"); } return(View(viewName: "Index")); }
// public ActionResult FilesReadAll([DataSourceRequest] DataSourceRequest request) { var db = new DetergentsEntities(); try { var result = db.UserFiles; var fileList = new List <UserFileViewModel>(); foreach (var item in result) { var userFile = new UserFileViewModel() { Id = item.fileID, Name = item.fileName, productID = item.productID, sheetTypeName = item.SheetType.sheetTypeName, sheetTypeID = item.sheetTypeID, adminApproved = item.adminApproved }; var fileListName = db.UserFiles .Where(file => file.productID == item.productID).ToList(); if (fileListName != null) { userFile.listOfFiles = new List <UserFile>(); foreach (var file in fileListName) { var userFiles = new UserFile { fileName = file.fileName, fileID = file.fileID, SheetType = new SheetType { sheetTypeID = file.SheetType.sheetTypeID, sheetTypeName = file.SheetType.sheetTypeName } }; userFiles.SheetType.sheetTypeName = file.SheetType.sheetTypeName; userFile.listOfFiles.Add(userFiles); } } fileList.Add(userFile); } return(Json(fileList.ToTreeDataSourceResult(request), JsonRequestBehavior.AllowGet)); } catch (Exception e) { Console.WriteLine(e); throw; } }
public async Task <IActionResult> UploadPhoto(UserFileViewModel userViewModel) { if (ModelState.IsValid) { var formFile = userViewModel.Photo; if (!await _uploadFileService.SavePostedFileAsync(formFile, destinationDirectoryName: "images", allowOverwrite: false)) { ModelState.AddModelError("", "Uploaded file is null or empty."); return(View(viewName: "Index")); } RedirectToAction("Index"); } return(View(viewName: "Index")); }
public async Task <IActionResult> UploadPhoto(UserFileViewModel userViewModel) { if (ModelState.IsValid) { var formFile = userViewModel.Photo; var(isSaved, savedFilePath) = await _uploadFileService.SavePostedFileAsync(formFile, allowOverwrite : false, "images", "nestedfolder", "nestedfolder2"); if (!isSaved) { ModelState.AddModelError("", "Uploaded file is null or empty."); return(View(viewName: "Index")); } RedirectToAction("Index"); } return(View(viewName: "Index")); }
public ActionResult AdminFileUpdate([DataSourceRequest] DataSourceRequest request, UserFileViewModel userFile) { if (ModelState.IsValid) { var sheetType = db.SheetTypes.Find(userFile.sheetTypeID); var sheetTypes = db.SheetTypes.ToList(); var entity = db.UserFiles.Find(userFile.Id); if (entity != null) { if (entity.oldFile == false && db.Products.Find(entity.productID).Equals(userFile.productID)) { entity.oldFile = true; } else { entity.fileID = userFile.Id; entity.fileName = userFile.Name; entity.productID = userFile.productID; entity.vendorID = userFile.vendorID; entity.SheetType = sheetType; entity.adminApproved = userFile.adminApproved; } try { // var existingProduct = db.Products.Find(product.productID); db.Entry(entity).State = EntityState.Modified; db.SaveChanges(); return(Json(new[] { userFile }.ToDataSourceResult(request, ModelState))); } catch (Exception e) { Console.WriteLine(e); throw; } } } return(Json(new[] { userFile }.ToDataSourceResult(request, ModelState))); }
public async Task <IActionResult> Register([FromBody] UserFileViewModel user) { if (!(await _authorizationService.AuthorizeAsync(this.User, (user.Roles, new string[] { }), Authorization.Policies.AssignAllowedRolesPolicy)).Succeeded) { return(new ChallengeResult()); } if (ModelState.IsValid) { if (user == null) { return(BadRequest($"{nameof(user)} cannot be null")); } ApplicationUser appUser = _mapper.Map <ApplicationUser>(user); var result = await _accountManager.CreateUserAsync(appUser, user.Roles, user.NewPassword); foreach (var up in user.ProjectIds) { _appcontext.UserProjectXrefs.Add(new UserProjectXref { UserId = appUser.Id, ProjectId = up, }); } if (result.Succeeded) { foreach (var req in user.FileRepositories) { if (req.FileName != null) { string ModuleName = "Users"; var now = DateTime.Now; var yearName = now.ToString("yyyy"); var monthName = now.Month.ToString("d2"); var dayName = now.ToString("dd"); FileUploadService repo = new FileUploadService(); string FolderLocation = _config.Value.FileRepositoryFolder; string ServerRootPath = _config.Value.ServerRootPath; string Location = ServerRootPath + @"\" + FolderLocation + @"\" + yearName + @"\" + monthName + @"\" + dayName + @"\" + ModuleName; byte[] FileBytes = Convert.FromBase64String(req.FileName); req.FileName = repo.UploadFile(FileBytes, req.FileExtention, Location); req.FileLocation = Path.Combine(yearName, monthName, dayName, ModuleName); FileRepository file = new FileRepository(); { file.UserId = appUser.Id; file.FileName = req.FileName; file.FileLocation = req.FileLocation; file.FileExtention = req.FileExtention; file.DocumentType = req.DocumentTypeId; file.CreatedBy = req.CreatedBy; file.CreatedDate = DateTime.Now; file.UpdatedBy = req.UpdatedBy; file.UpdatedDate = DateTime.Now; } _appcontext.FileRepositories.Add(file); } } _appcontext.SaveChanges(); await SendVerificationEmail(appUser); UserViewModel userVM = await GetUserViewModelHelper(appUser.Id); return(CreatedAtAction(GetUserByIdActionName, new { id = userVM.Id }, userVM)); } AddError(result.Errors); } return(BadRequest(ModelState)); }
public async Task <IActionResult> UpdateUsers(string id, [FromBody] UserFileViewModel user) { ApplicationUser appUser = await _accountManager.GetUserByIdAsync(id); string[] currentRoles = appUser != null ? (await _accountManager.GetUserRolesAsync(appUser)).ToArray() : null; var manageUsersPolicy = _authorizationService.AuthorizeAsync(this.User, id, AccountManagementOperations.Update); var assignRolePolicy = _authorizationService.AuthorizeAsync(this.User, (user.Roles, currentRoles), Authorization.Policies.AssignAllowedRolesPolicy); if ((await Task.WhenAll(manageUsersPolicy, assignRolePolicy)).Any(r => !r.Succeeded)) { return(new ChallengeResult()); } if (ModelState.IsValid) { if (user == null) { return(BadRequest($"{nameof(user)} cannot be null")); } if (!string.IsNullOrWhiteSpace(user.Id) && id != user.Id) { return(BadRequest("Conflicting user id in parameter and model data")); } if (appUser == null) { return(NotFound(id)); } bool isPasswordChanged = !string.IsNullOrWhiteSpace(user.NewPassword); bool isUserNameChanged = !appUser.UserName.Equals(user.UserName, StringComparison.OrdinalIgnoreCase); bool isConfirmedEmailChanged = !appUser.Email.Equals(user.Email, StringComparison.OrdinalIgnoreCase) && appUser.EmailConfirmed; if (Utilities.GetUserId(this.User) == id) { if (string.IsNullOrWhiteSpace(user.CurrentPassword)) { if (isPasswordChanged) { AddError("Current password is required when changing your own password", "Password"); } if (isUserNameChanged) { AddError("Current password is required when changing your own username", "Username"); } if (isConfirmedEmailChanged) { AddError("Current password is required when changing your own email address", "Email"); } } else if (isPasswordChanged || isUserNameChanged || isConfirmedEmailChanged) { if (!await _accountManager.CheckPasswordAsync(appUser, user.CurrentPassword)) { AddError("The username/password couple is invalid."); } } } if (ModelState.IsValid) { _mapper.Map <UserFileViewModel, ApplicationUser>(user, appUser); appUser.EmailConfirmed = isConfirmedEmailChanged ? false : appUser.EmailConfirmed; var result = await _accountManager.UpdateUserAsync(appUser, user.Roles); var projectList = _appcontext.UserProjectXrefs.Where(x => x.UserId == appUser.Id).ToList(); _appcontext.UserProjectXrefs.RemoveRange(projectList); _appcontext.SaveChanges(); foreach (var up in user.ProjectIds) { _appcontext.UserProjectXrefs.Add(new UserProjectXref { UserId = appUser.Id, ProjectId = up, }); } if (result.Succeeded) { foreach (var req in user.FileRepositories) { if (req.FileName != null) { string ModuleName = "Users"; var now = DateTime.Now; var yearName = now.ToString("yyyy"); var monthName = now.Month.ToString("d2"); var dayName = now.ToString("dd"); FileUploadService repo = new FileUploadService(); // string FolderLocation = _config.Value.FileRepositoryFolder; string FolderLocation = "FileRepository"; string ServerRootPath = _config.Value.ServerRootPath; string Location = ServerRootPath + @"\" + FolderLocation + @"\" + yearName + @"\" + monthName + @"\" + dayName + @"\" + ModuleName; byte[] FileBytes = Convert.FromBase64String(req.FileName); req.FileName = repo.UploadFile(FileBytes, req.FileExtention, Location); req.FileLocation = Path.Combine(yearName, monthName, dayName, ModuleName); FileRepository file = new FileRepository(); { file.UserId = appUser.Id; file.FileName = req.FileName; file.FileLocation = req.FileLocation; file.FileExtention = req.FileExtention; file.DocumentType = req.DocumentTypeId; file.CreatedBy = req.CreatedBy; file.CreatedDate = DateTime.Now; file.UpdatedBy = req.UpdatedBy; file.UpdatedDate = DateTime.Now; } _appcontext.FileRepositories.Add(file); } } _appcontext.SaveChanges(); if (isConfirmedEmailChanged) { await SendVerificationEmail(appUser); } if (isPasswordChanged) { if (!string.IsNullOrWhiteSpace(user.CurrentPassword)) { result = await _accountManager.UpdatePasswordAsync(appUser, user.CurrentPassword, user.NewPassword); } else { result = await _accountManager.ResetPasswordAsync(appUser, user.NewPassword); } } if (result.Succeeded) { return(NoContent()); } } AddError(result.Errors); } } return(BadRequest(ModelState)); }
private void RemoveFile(UserFileViewModel file) { InProgress = true; HttpWebRequest webRequest = (HttpWebRequest)WebRequestCreator.ClientHttp.Create(new Uri(file.Url)); webRequest.Method = "DELETE"; webRequest.BeginGetResponse(EndDeteleFileResponse, webRequest); }
private UserFileViewModel ConvertToUserFile(XElement blob) { UserFileViewModel file = new UserFileViewModel(); file.FileName = blob.Element("Name").Value; file.Url = blob.Element("Url").Value + _containerSharedSignature; var metadata = blob.Element("Metadata"); if (metadata != null) { file.Author = metadata.Element("author").Value; } return file; }
private bool CanRemoveFile(UserFileViewModel file) { return file != null; }
public ActionResult FilesDestroyAdmin([DataSourceRequest] DataSourceRequest request, UserFileViewModel file) { try { if (file != null) { db.UserFiles.Remove(db.UserFiles.FirstOrDefault(f => f.vendorID == file.vendorID)); db.SaveChanges(); } return(Json(new[] { file }.ToDataSourceResult(request, ModelState))); } catch (Exception e) { Console.WriteLine(e); throw; } }