public async Task <ApiResult <bool> > CombinedBills(CombinedBills bundle) { var json = JsonConvert.SerializeObject(bundle); var httpContent = new StringContent(json, Encoding.UTF8, "application/json"); var url = $"/api/Bill/combined-bills"; var result = await Create <bool>(url, httpContent); return(result); }
public async Task <ApiResult <bool> > CombinedBills(CombinedBills bundle) { if (bundle.Combined.Length < 2) { return(new ApiErrorResult <bool>("Gộp thất bại")); } List <OrderDetail> listOrderDetails = new List <OrderDetail>(); foreach (var item in bundle.Combined) { var orderPlan = await _context.OrderPlans.Include(x => x.OrderDetails) .Where(x => x.Id == item).FirstOrDefaultAsync(); foreach (var x in orderPlan.OrderDetails) { var orderDetail = new OrderDetail() { IdMaterials = x.IdMaterials, IdSupplier = x.IdSupplier, Amount = x.Amount - x.EnterAmount, Note = x.Note, Price = x.Price, Unit = x.Unit }; listOrderDetails.Add(orderDetail); } } // tạo code var code = await _context.ManageCodes.FirstOrDefaultAsync(x => x.Name == bundle.Code); var stt = 1; Location: var location = code.Location + stt; var str = code.Name + location; var checkCode = await _context.OrderPlans.AnyAsync(x => x.Code == str); if (checkCode) { stt++; goto Location; } var idcreate = await _userManager.FindByNameAsync(bundle.NameCreator); var order = new OrderPlan() { Code = str, Name = "(Gộp kế hoạch)", CreatedDate = DateTime.Now, ExpectedDate = DateTime.Now, Note = "(Gộp kế hoạch)", OrderDetails = listOrderDetails, IdCreator = idcreate.Id, IdResponsible = bundle.IdResponsible }; _context.OrderPlans.Add(order); await _context.SaveChangesAsync(); List <OrderPlan> orderPlanUpdate = new List <OrderPlan>(); foreach (var item in bundle.Combined) { var orderPlan = await _context.OrderPlans.Include(x => x.OrderDetails) .Where(x => x.Id == item).FirstOrDefaultAsync(); orderPlan.Status = StatusOrderPlan.Accomplished; orderPlanUpdate.Add(orderPlan); } _context.OrderPlans.UpdateRange(orderPlanUpdate); await _context.SaveChangesAsync(); return(new ApiSuccessResult <bool>()); }
public async Task <IActionResult> CombinedBills([FromBody] CombinedBills bundle) { var result = await _billService.CombinedBills(bundle); return(Ok(result)); }
public async Task <IActionResult> CombinedBills(CombinedBills bundle) { var result = await _billApiClient.CombinedBills(bundle); return(Ok(result)); }