public async Task <ActionResult <BaseResponse> > Post([FromForm] CustomerReceiptInfo data) { RECEIPT receipt = new RECEIPT(); var customer = await _context.CUSTOMERS.Where(cus => cus.phone == data.phone).FirstOrDefaultAsync(); if (customer != null && customer.isRemove == false) { // Không được phép thu tiền vượt quá số tiền khách đang nợ if (!Roles.GetOverDept) { if (data.customerPaid > customer.oldDept) { return(new BaseResponse { ErrorCode = Roles.Get_Over_Dept, Message = "Getting money is not over the money customer has been depted!" }); } else { double res = data.customerPaid - data.total; receipt.customerId = customer.id; receipt.dateCreated = data.dateCreated; receipt.total = data.total; receipt.customerPaid = data.customerPaid; customer.nowDept = res > 0 ? Math.Abs(res - customer.oldDept) : customer.oldDept + Math.Abs(res); _context.CUSTOMERS.Update(customer); _context.RECEIPTS.Add(receipt); await _context.SaveChangesAsync(); return(new BaseResponse { ErrorCode = Roles.Success, Message = "A receipt has just created!" }); } } else { double res = data.customerPaid - data.total; receipt.customerId = customer.id; receipt.dateCreated = data.dateCreated; receipt.total = data.total; receipt.customerPaid = data.customerPaid; customer.nowDept = res > 0 ? Math.Abs(res - customer.oldDept) : customer.oldDept + Math.Abs(res); _context.CUSTOMERS.Update(customer); _context.RECEIPTS.Add(receipt); await _context.SaveChangesAsync(); return(new BaseResponse { ErrorCode = Roles.Success, Message = "A receipt has just created!" }); } } // Khách hàng này chưa có trong csdl else { customer = new CUSTOMER(); customer.firstName = data.firstName; customer.lastName = data.lastName; customer.phone = data.phone; customer.email = data.email; customer.address = data.address; customer.username = null; customer.password = null; customer.imageName = null; customer.url = null; customer.oldDept = 0; customer.nowDept = 0; customer.isRemove = false; _context.CUSTOMERS.Add(customer); receipt.dateCreated = data.dateCreated; receipt.total = data.total; receipt.isRemove = false; _context.RECEIPTS.Add(receipt); await _context.SaveChangesAsync(); return(new BaseResponse { ErrorCode = Roles.Success, Message = "A receipt has just created!" }); } }
public async Task <ActionResult <BaseResponse> > Put([FromForm] CustomerReceiptInfo data, int id) { if (data.total == 0) { return(new BaseResponse { ErrorCode = Roles.Empty_Customer_Total }); } if (data.customerPaid == 0) { return(new BaseResponse { ErrorCode = Roles.Empty_Customer_Paid }); } var receipt = await _context.RECEIPTS.Where(re => re.id == data.id).FirstOrDefaultAsync(); var customer = await _context.CUSTOMERS.Where(cus => cus.id == data.customerId).FirstOrDefaultAsync(); // Không được phép thu tiền vượt quá số tiền khách đang nợ if (!Roles.GetOverDept) { if (data.customerPaid > customer.oldDept) { return(new BaseResponse { ErrorCode = Roles.Get_Over_Dept, Message = "Getting money is not over the money customer has been depted!" }); } else { double res = data.customerPaid - data.total; receipt.customerId = customer.id; receipt.dateCreated = data.dateCreated; receipt.total = data.total; receipt.customerPaid = data.customerPaid; customer.nowDept = res > 0 ? Math.Abs(res - customer.oldDept) : customer.oldDept + Math.Abs(res); _context.CUSTOMERS.Update(customer); _context.RECEIPTS.Add(receipt); await _context.SaveChangesAsync(); return(new BaseResponse { ErrorCode = Roles.Success, Message = "A receipt has just updated!" }); } } else { double res = data.customerPaid - data.total; receipt.customerId = customer.id; receipt.dateCreated = data.dateCreated; receipt.total = data.total; receipt.customerPaid = data.customerPaid; customer.nowDept = res > 0 ? Math.Abs(res - customer.oldDept) : customer.oldDept + Math.Abs(res); _context.CUSTOMERS.Update(customer); _context.RECEIPTS.Add(receipt); await _context.SaveChangesAsync(); return(new BaseResponse { ErrorCode = Roles.Success, Message = "A receipt has just updated!" }); } }