public async Task <IActionResult> AddAsync([FromBody] Notice model) { // model.Id = 0 var tmpModel = new Notice(); tmpModel.Name = model.Name; tmpModel.Title = model.Title; tmpModel.Content = model.Content; tmpModel.ParentId = model.ParentId; tmpModel.Created = DateTime.Now; if (!ModelState.IsValid) { return(BadRequest()); } try { var newModel = await _repository.AddAsync(tmpModel); if (newModel == null) { return(BadRequest()); } //return Ok(newModel); // 200 OK var uri = Url.Link("GetNoticeById", new { id = newModel.Id }); return(Created(uri, newModel)); // 201 Created } catch (Exception e) { _logger.LogError(e.Message); return(BadRequest()); } }
public async Task <IActionResult> AddAsync([FromBody] BoardNotices model) { model.Created = DateTime.Now; if (!ModelState.IsValid) { return(BadRequest()); } try { var newModel = await _repository.AddAsync(model); if (newModel == null) { return(BadRequest()); } //return Ok(newModel); // 200 OK var uri = Url.Link("GetBoardNoticeById", new { id = newModel.Id }); return(Created(uri, newModel)); // 201 Created } catch (Exception e) { _logger.LogError(e.Message); return(BadRequest()); } }
protected async void CreateOrEditClick() { #region 일 업로드 관련 추가 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); //await FileUploadServiceReference.UploadAsync(file); //[A] 바이트 형태 //var ms = new MemoryStream(); //await file.Data.CopyToAsync(ms); // 파일 데이터를 메모리스트림으로 변환 //// upload 하기전 memorystream을 byte 배열로 다시변환 //await FileStorageManager.UploadAsync(ms.ToArray(), file.Name, "", true); //[B] Stream형태 //string folderPath = Path.Combine(WebHostEnvironment.WebRootPath, "files"); await FileStorageManager.UploadAsync(file.Data, file.Name, "", 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 NoticeRepositoryAsyncReference.AddAsync(Model); CreateCallback?.Invoke(); // -> EditCallback } else { // Edit await NoticeRepositoryAsyncReference.EditAsync(Model); await EditCallback.InvokeAsync(true); } //IsShow = false; }
protected async void CreateOrEditClick() { #region 일 업로드 관련 추가 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); await FileUploadServiceReference.UploadAsync(file); Model.FileName = fileName; Model.FileSize = fileSize; } #endregion if (!int.TryParse(parentId, out int newParentId)) { newParentId = 0; } Model.ParentId = newParentId; if (Model.Id == 0) { // Create await NoticeRepositoryAsyncReference.AddAsync(Model); CreateCallback?.Invoke(); // -> EditCallback } else { // Edit await NoticeRepositoryAsyncReference.EditAsync(Model); await EditCallback.InvokeAsync(true); } //IsShow = false; }
public async Task <ActionResult> Create(NoticeViewModel form, CancellationToken cancellationToken) { try { if (!ModelState.IsValid) { return(View(form)); } var file = form.ImageFile.OpenReadStream(); MemoryStream fileMemoryStream = null; if (MimetypesToConvert.Contains(form.ImageFile.ContentType)) { fileMemoryStream = file.ToWebpMemoryStream(); } else { fileMemoryStream = await file.ToMemoryStreamAsync() .ConfigureAwait(false); } var filename = $"Images/Notice/{Guid.NewGuid()}.webp"; await _noticeRepository.FileUploadAsync(filename, fileMemoryStream, "image/webp", cancellationToken) .ConfigureAwait(false); await fileMemoryStream.DisposeAsync() .ConfigureAwait(false); form.Image = filename; await _noticeRepository.AddAsync(form, cancellationToken) .ConfigureAwait(false); return(RedirectToAction(nameof(Index))); } catch (Exception ex) { return(View()); } }