// function to add invoice and corresponding rules to database public void AddInvoice(InvoicePostModel invoicePostModel) { //get invoice details from InvoicePostModel and save to database InvoiceMaster invoiceMaster = new InvoiceMaster() { invoiceName = invoicePostModel.invoiceName, //convert boolean isActive in InvoicePostModel to byte isActive for InvoiceMaster isActive = invoicePostModel.isActive ? Convert.ToByte(1) : Convert.ToByte(0) }; tariffContext.InvoiceMaster.Add(invoiceMaster); //get each rule from InvoicePostModel and save to database with invoiceId from above saved invoice foreach (Rule rule in invoicePostModel.ruleList) { RuleDetails ruleDetails = new RuleDetails() { invoiceId = invoiceMaster.invoiceId, parameterId = Convert.ToInt32(rule.parameterId), ruleValue = rule.ruleValue, //convert boolean isActive in InvoicePostModel for each rule to byte isActive for RuleDetails isActive = rule.isActive ? Convert.ToByte(1) : Convert.ToByte(0) }; tariffContext.RuleDetails.Add(ruleDetails); } tariffContext.SaveChanges(); }
public IActionResult PostInvoiceMaster([FromBody] InvoicePostModel invoicePostModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } tariffService.AddInvoice(invoicePostModel); return(NoContent()); }
public async Task <IActionResult> PostInvoice(InvoicePostModel model) { //_context.Invoices.Add(invoice); //await _context.SaveChangesAsync(); //return CreatedAtAction("GetInvoice", new { id = invoice.Id }, invoice); //Tạo ra 1 invoice cho user khi nhấn thanh toán var invoice = _mapper.Map <Invoice>(model); await _context.Invoices.AddAsync(invoice); bool isSave = await _invoiceService.SaveInvoiceAsync(invoice); if (!isSave) { return(Ok(new { error_message = "Khong the luu don hang do co loi xay ra" })); } //Lấy món hàng trong cart rồi thêm vào InvoiceDetail var cartItems = await _cartServices.GetCartFromUser(model.UserId); if (cartItems.Count == 0) { return(Ok(new { error_message = "Gio hang rong, xin vui long mua hang" })); } var invoiceDetails = _mapper.Map <IList <InvoiceDetail> >(cartItems); //Gán id Invoice vào InvoiceDetail foreach (var item in invoiceDetails) { item.InvoiceId = invoice.Id; } //Lưu vào db isSave = await _invoiceDetailsService.SaveToDatabase(invoiceDetails); if (!isSave) { return(Ok(new { error_message = "Khong the luu chi tiet don hang do co loi xay ra" })); } await _cartServices.DeleteCartAsync(model.UserId); invoice.TotalMoney = invoiceDetails.Sum(i => i.SubTotal); isSave = await _invoiceService.SaveInvoiceAsync(invoice); return(Ok(new { data = invoiceDetails, success = true })); }
public async Task <ActionResult <Invoice> > PostInvoice(InvoicePostModel invoice) { Invoice NewInvoice = _mapper.Map <Invoice>(invoice); _context.Invoices.Add(NewInvoice); bool isSave = await _context.SaveChangesAsync() != 0; if (isSave) { await _cartServices.DeleteCartByUserIdAsync(NewInvoice.UserId); return(Ok(new { data = new { InvoiceId = NewInvoice.Id }, success = true })); } else { return(Ok(new { error_message = "Co loi xay ra" })); } }