public async Task <IActionResult> PostQualification([FromBody] QualificationRequest request) { if (!ModelState.IsValid) { return(BadRequest()); } string email = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value; User user = await _userHelper.GetUserAsync(email); if (user == null) { return(NotFound("Error001")); } Product product = await _context.Products .Include(p => p.Qualifications) .FirstOrDefaultAsync(p => p.Id == request.ProductId); if (product == null) { return(NotFound("Error002")); } if (product.Qualifications == null) { product.Qualifications = new List <Qualification>(); } product.Qualifications.Add(new Qualification { Date = DateTime.UtcNow, Product = product, Remarks = request.Remarks, Score = request.Score, User = user }); _context.Products.Update(product); await _context.SaveChangesAsync(); return(Ok(product)); }
public async Task <Response> PostQualificationAsync(string urlBase, string servicePrefix, string controller, QualificationRequest qualificationRequest, string token) { try { string request = JsonConvert.SerializeObject(qualificationRequest); StringContent content = new StringContent(request, Encoding.UTF8, "application/json"); HttpClient client = new HttpClient { BaseAddress = new Uri(urlBase) }; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("bearer", token); string url = $"{servicePrefix}{controller}"; HttpResponseMessage response = await client.PostAsync(url, content); string result = await response.Content.ReadAsStringAsync(); if (!response.IsSuccessStatusCode) { return(new Response { IsSuccess = false, Message = result, }); } ProductResponse product = JsonConvert.DeserializeObject <ProductResponse>(result); return(new Response { IsSuccess = true, Result = product }); } catch (Exception ex) { return(new Response { IsSuccess = false, Message = ex.Message }); } }