public async Task <bool> CreateDocument(DocumentsCreateRequest request) { var sessions = _httpContextAccessor .HttpContext .Session .GetString(SystemConstants.AppSettings.Token); var client = _httpClientFactory.CreateClient("BackendApi"); client.BaseAddress = new Uri(_configuration[SystemConstants.AppSettings.BaseAddress]); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", sessions); var requestContent = new MultipartFormDataContent(); var claimsIdentity = this._httpContextAccessor.HttpContext.User.Identity as ClaimsIdentity; if (request.DocumentFile != null) { byte[] data; using (var br = new BinaryReader(request.DocumentFile.OpenReadStream())) { data = br.ReadBytes((int)request.DocumentFile.OpenReadStream().Length); } ByteArrayContent bytes = new ByteArrayContent(data); requestContent.Add(bytes, "documentFile", request.DocumentFile.FileName); } var userId = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier)?.Value.ToString(); requestContent.Add(new StringContent(userId), "userId"); requestContent.Add(new StringContent(string.IsNullOrEmpty(request.FalcultyOfDocumentID.ToString()) ? "" : request.FalcultyOfDocumentID.ToString()), "FalcultyOfDocumentID"); requestContent.Add(new StringContent(string.IsNullOrEmpty(request.MagazineID.ToString()) ? "" : request.MagazineID.ToString()), "MagazineID"); var response = await client.PostAsync($"/api/documents/", requestContent); return(response.IsSuccessStatusCode); }
public async Task <IActionResult> Create([FromForm] DocumentsCreateRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var documentId = await _documentsService.Create(request); if (documentId == 0) { return(BadRequest()); } var document = await _documentsService.GetById(documentId); return(CreatedAtAction(nameof(GetById), new { id = documentId }, document)); }
public async Task <IActionResult> Create([FromForm] DocumentsCreateRequest request) { if (!ModelState.IsValid) { return(View(request)); } var result = await _documentApiClient.CreateDocument(request); if (result) { TempData["result"] = "Thêm mới sản phẩm thành công"; return(RedirectToAction("Index", "Document")); } ModelState.AddModelError("", "Thêm sản phẩm thất bại"); return(View(request)); }
public async Task <long> Create(DocumentsCreateRequest request) { var user = new User() { }; var document = new Document() { UserID = request.UserID, FacultyOfDocumentID = request.FalcultyOfDocumentID, MagazineID = request.MagazineID, Caption = "Document file", CreateOn = DateTime.Now.Date, }; if (request.DocumentFile != null) { user.Documents = new List <Document>() { new Document() { Caption = "Document file", CreateOn = DateTime.Now.Date, FileSize = request.DocumentFile.Length, DocumentPath = await this.SaveFile(request.DocumentFile), } }; } if (request.FalcultyOfDocumentID == 1) { SystemConstants.SendMail("*****@*****.**"); } _context.Documents.Add(document); await _context.SaveChangesAsync(); return(document.ID); }