public ApiResponseViewModel Create(InvoiceDetail obj) { if (HttpContext.Current.Session["UserLogged"] == null) { return(CommonConstants.accessDenied); } return(_InvoiceDetailService.Add(obj)); }
public IActionResult Post([FromBody] InvoiceDetail model) { return(Ok( _invoiceDetailService.Add(model) )); }
public IActionResult SaveEntity(InvoiceViewModel invoiceVm, List <InvoiceDetailViewModel> invoiceDetailVms) { if (!ModelState.IsValid) { IEnumerable <ModelError> allErrors = ModelState.Values.SelectMany(v => v.Errors); return(new BadRequestObjectResult(allErrors)); } else { var userid = _generalFunctionController.Instance.getClaimType(User, CommonConstants.UserClaims.Key); var c = _customerService.GetBysId(userid); if (c.KeyId != 0) { //var book = _bookService.GetById() foreach (var item in invoiceDetailVms) { var book = _bookService.GetById(item.BookFK); if (item.Qty > book.Quantity) { return(new OkObjectResult("quantity")); } } if (invoiceVm.DeliAddress == "" || invoiceVm.DeliAddress == null) { invoiceVm.DeliAddress = c.UserBy.Address; } if (invoiceVm.DeliContactName == "" || invoiceVm.DeliContactName == null) { invoiceVm.DeliContactName = c.UserBy.FullName; } if (invoiceVm.DeliContactHotline == "" || invoiceVm.DeliContactHotline == null) { invoiceVm.DeliContactHotline = c.UserBy.PhoneNumber; } invoiceVm.CustomerFK = c.KeyId; _invoiceService.Add(invoiceVm); _invoiceService.Save(); var invoice = _invoiceService.GetLastest(); foreach (var item in invoiceDetailVms) { item.InvoiceFK = invoice; _invoiceDetailService.Add(item); var book = _bookService.GetById(item.BookFK); book.Quantity = book.Quantity - item.Qty; _bookService.Update(book); } var deli = invoiceDetailVms.GroupBy(x => x.MerchantFK).Select(x => new DeliveryViewModel() { InvoiceFK = invoice, DeliveryStatus = Const_DeliStatus.UnConfirmed, OrderPrice = x.Sum(y => y.SubTotal), ShipPrice = 25000, MerchantFK = x.Key, }).ToList(); foreach (var item in deli) { _deliveryService.Add(item); } _invoiceService.Save(); HttpContext.Session.Remove("CartSession"); return(new OkObjectResult("true")); } return(new OkObjectResult("customer")); } }