/// <summary> /// 수정 버튼 이벤트 처리기 /// </summary> protected async void FormSubmit() { int.TryParse(ParentId, out int parentId); Model.ParentId = parentId; #region 일 업로드 관련 추가 코드 영역 if (selectedFiles != null && selectedFiles.Length > 0) { // 파일 업로드 var file = selectedFiles.FirstOrDefault(); var fileName = ""; int fileSize = 0; if (file != null) { fileName = file.Name; fileSize = Convert.ToInt32(file.Size); // 첨부 파일 삭제 await FileStorageManagerInjector.DeleteAsync(Model.FileName, "Memos"); // 다시 업로드 fileName = await FileStorageManagerInjector.UploadAsync(file.Data, file.Name, "", true); Model.FileName = fileName; Model.FileSize = fileSize; } } #endregion await RepositoryReference.EditAsync(Model); NavigationManagerInjector.NavigateTo("/Memos"); }
protected async void CreateOrEditClick() { // 변경 내용 저장 Model.Name = ModelEdit.Name; Model.Title = ModelEdit.Title; Model.Content = ModelEdit.Content; Model.Password = ModelEdit.Password; #region 일 업로드 관련 추가 코드 영역 if (selectedFiles != null && selectedFiles.Length > 0) { // 파일 업로드 var file = selectedFiles.FirstOrDefault(); var fileName = ""; int fileSize = 0; if (file != null) { //file.Name = $"{DateTime.Now.ToString("yyyyMMddhhmmss")}{file.Name}"; fileName = file.Name; fileSize = Convert.ToInt32(file.Size); //[A] byte[] 형태 //var ms = new MemoryStream(); //await file.Data.CopyToAsync(ms); //await FileStorageManager.ReplyAsync(ms.ToArray(), file.Name, "", true); //[B] Stream 형태 //string folderPath = Path.Combine(WebHostEnvironment.WebRootPath, "files"); await FileStorageManagerReference.UploadAsync(file.Data, file.Name, "Memos", true); Model.FileName = fileName; Model.FileSize = fileSize; } } #endregion if (!int.TryParse(parentId, out int newParentId)) { newParentId = 0; } Model.ParentId = newParentId; Model.ParentKey = Model.ParentKey; if (Model.Id == 0) { // Create await RepositoryReference.AddAsync(Model); CreateCallback?.Invoke(); } else { // Edit await RepositoryReference.EditAsync(Model); await EditCallback.InvokeAsync(true); } //IsShow = false; // this.Hide() }
/// <summary> /// 토글: Pinned /// </summary> protected async void ToggleClick() { this.model.IsPinned = (this.model?.IsPinned == true) ? false : true; // 변경된 내용 업데이트 await RepositoryReference.EditAsync(this.model); IsInlineDialogShow = false; // 표시 속성 초기화 this.model = new Reply(); // 선택한 모델 초기화 await DisplayData(); // 다시 로드 }
protected async void DownloadBy(Archive model) { if (!string.IsNullOrEmpty(model.FileName)) { byte[] fileBytes = await FileStorageManagerReference.DownloadAsync(model.FileName, "Archives"); if (fileBytes != null) { model.DownCount = model.DownCount + 1; await RepositoryReference.EditAsync(model); await FileUtil.SaveAs(JSRuntimeInjector, model.FileName, fileBytes); } } }