Example #1
0
        /// <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);

                    fileName = await FileStorageManagerReference.UploadAsync(file.Data, file.Name, "", true);

                    model.FileName = fileName;
                    model.FileSize = fileSize;
                }
            }
            #endregion

            foreach (var m in Models)
            {
                m.FileName = model.FileName;
                m.FileSize = model.FileSize;
                await RepositoryReference.AddAsync(m);
            }

            NavigationManagerInjector.NavigateTo("/Replys");
        }
Example #2
0
        /// <summary>
        /// 삭제 모달 폼에서 현재 선택한 항목 삭제
        /// </summary>
        protected async void DeleteClick()
        {
            if (!string.IsNullOrEmpty(model?.FileName))
            {
                // 첨부 파일 삭제
                await FileStorageManagerReference.DeleteAsync(model.FileName, "Archives");
            }

            await RepositoryReference.DeleteAsync(this.model.Id);

            DeleteDialogReference.Hide();
            this.model = new Archive(); // 선택했던 모델 초기화
            await DisplayData();        // 다시 로드
        }
Example #3
0
        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);
                }
            }
        }
Example #4
0
        /// <summary>
        /// 삭제 버튼 클릭 이벤트 처리기
        /// </summary>
        protected async void DeleteClick()
        {
            bool isDelete = await JSRuntimeInjector.InvokeAsync <bool>("confirm", $"{Id}번 글을 정말로 삭제하시겠습니까?");

            if (isDelete)
            {
                if (!string.IsNullOrEmpty(Model?.FileName))
                {
                    // 첨부 파일 삭제
                    await FileStorageManagerReference.DeleteAsync(Model.FileName, "");
                }

                await RepositoryReference.DeleteAsync(Id);       // 삭제

                NavigationManagerInjector.NavigateTo("/Replys"); // 리스트 페이지로 이동
            }
            else
            {
                await JSRuntimeInjector.InvokeAsync <object>("alert", "취소되었습니다.");
            }
        }
Example #5
0
        /// <summary>
        /// 삭제 버튼 클릭 이벤트 처리기
        /// </summary>
        protected async void DeleteClick()
        {
            bool isDelete = await JSRuntimeInjector.InvokeAsync <bool>("confirm", $"Are you sure you want to delete it?");

            if (isDelete)
            {
                if (!string.IsNullOrEmpty(Model?.FileName))
                {
                    // 첨부 파일 삭제
                    await FileStorageManagerReference.DeleteAsync(Model.FileName, "");
                }

                await RepositoryReference.DeleteAsync(Id);      // 삭제

                NavigationManagerInjector.NavigateTo("/Memos"); // 리스트 페이지로 이동
            }
            else
            {
                await JSRuntimeInjector.InvokeAsync <object>("alert", "Canceled.");
            }
        }