예제 #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);

                    // 첨부 파일 삭제
                    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");
        }
예제 #2
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");
        }
예제 #3
0
        protected async Task btnSubmit_Click()
        {
            // 저장 로직
            await ArticleRepository.AddArticleAsync(Model);

            // 리스트 페이지로 이동
            NavigationManagerInjector.NavigateTo("/Articles");
        }
예제 #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", "취소되었습니다.");
            }
        }
예제 #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.");
            }
        }
예제 #6
0
        /// <summary>
        /// 저장하기 버튼 클릭 이벤트 처리기
        /// </summary>
        protected async void FormSubmit()
        {
            int.TryParse(ParentId, out int parentId); // 드롭다운 선택 값을 정수형으로 변환
            Model.ParentId = 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 FileStorageManagerInjector.UploadAsync(file.Data, file.Name, "", true);

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

            if (Id != 0)
            {
                // Reply: 답변 글이라면,
                await RepositoryReference.AddAsync(Model, ParentRef, ParentStep, ParentRefOrder);
            }
            else
            {
                // Create: 일반 작성 글이라면,
                await RepositoryReference.AddAsync(Model);
            }

            NavigationManagerInjector.NavigateTo("/Replys");
        }
예제 #7
0
        protected void DownloadExcelWithWebApi()
        {
            FileUtil.SaveAsExcel(JSRuntimeInjector, "/ArchiveDownload/ExcelDown");

            NavigationManagerInjector.NavigateTo($"/Archives"); // 다운로드 후 현재 페이지 다시 로드
        }
예제 #8
0
 protected void NameClick(long id)
 {
     NavigationManagerInjector.NavigateTo($"/Archives/Details/{id}");
 }
예제 #9
0
 protected void NameClick(int id)
 {
     NavigationManagerInjector.NavigateTo($"/Replys/Details/{id}");
 }
예제 #10
0
        /// <summary>
        /// 저장하기 버튼 클릭 이벤트 처리기
        /// </summary>
        protected async void FormSubmit()
        {
            int.TryParse(ParentId, out int parentId); // 드롭다운 선택 값을 정수형으로 변환
            Model.ParentId = 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 FileStorageManagerInjector.UploadAsync(file.Data, file.Name, "Memos", true);

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

            var m = new Memo();

            m.Name     = Model.Name;
            m.Title    = Model.Title;
            m.Content  = Model.Content;
            m.Password = Model.Password;
            m.Email    = Model.Email;
            m.FileName = Model.FileName;
            m.FileSize = Model.FileSize;

            m.PostDate     = DateTime.Now;
            m.ParentNum    = 0;
            m.AnswerNum    = 0;
            m.CommentCount = 0;
            m.Created      = DateTime.UtcNow;
            m.CreatedBy    = "";
            m.Category     = "Free";
            m.AnswerNum    = 0;
            m.CommentCount = 0;
            m.Encoding     = "Text";
            m.Email        = "";
            m.IsPinned     = false;
            m.Modified     = DateTime.Now;
            m.ModifyIp     = "";
            m.PostIp       = "127.0.0.1";
            m.Step         = 0;
            m.RefOrder     = 0;


            if (Id != 0)
            {
                // Memo: 답변 글이라면,
                await RepositoryReference.AddAsync(m, Id);
            }
            else
            {
                // Create: 일반 작성 글이라면,
                await RepositoryReference.AddAsync(m);
            }

            // Manage 컴포넌트로 이동
            NavigationManagerInjector.NavigateTo("/Memos");
        }