//[HttpPut()] //[Authorize(Policy = UserPolicyTypes.OnlySupervisor)] //public void ModifyBoard(int typeid, int id, [FromBody] BoardModel boardModel) //{ //} //[HttpPut()] //[Authorize(Policy = UserPolicyTypes.OnlySupervisor)] //public void RemoveBoard(int typeid, int id) //{ //} private AttachFileRepositary RegisterFile(int boardtype, int boardid, string fileName, string FileBase64Data) { if (string.IsNullOrEmpty(FileBase64Data)) { return(null); } AttachFileRepositary registerFile = new AttachFileRepositary(); registerFile.Id = Guid.NewGuid().ToString(); registerFile.Filename = fileName; registerFile.Boardid = boardid; registerFile.Grouptype = boardtype; string[] splits = FileBase64Data.Split(','); string contentsType = ""; string contents = ""; if (splits.Length == 1) { contentsType = System.IO.Path.GetExtension(fileName); contents = splits[0]; } else { contentsType = splits[0]; contents = splits[1]; } registerFile.Contentstype = contentsType; byte[] data = Convert.FromBase64String(contents); registerFile.Contents = data; registerFile.Createdt = DateTime.Now.Date; return(registerFile); }
public async Task <IActionResult> WriteBoard([FromBody] AttachableBoardModel boardModel) { using (var session = _accountContext.SessionFactory.OpenSession()) using (var trans = session.BeginTransaction()) { NoticeBoard NewBoard = new NoticeBoard(); NewBoard.RegisterUserId = HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value; NewBoard.Title = boardModel.Title; NewBoard.Contents = boardModel.Contents; NewBoard.Createts = DateTime.Now; await session.SaveOrUpdateAsync(NewBoard); if (boardModel.AttachFiles.Length > 0) { foreach (AttachFileModel attach in boardModel.AttachFiles) { AttachFileRepositary attachFile = RegisterFile(0, NewBoard.ID, attach.Filename, attach.ContentsBase64); await session.SaveOrUpdateAsync(attachFile); } } await trans.CommitAsync(); } return(Ok()); }