namespace JiDangJia.Core;
public static class PawnInventory
{
public static List<DbRow> Read(Database db)
{
return db.Read(c=>
{
var result=new List<DbRow>();
foreach(var ticket in Database.Query(c,"SELECT * FROM PawnTicket WHERE status='ACTIVE' AND deletedAt IS NULL ORDER BY createdAt DESC"))
{
var items=Database.Query(c,"SELECT * FROM PawnItem WHERE ticketId=@p0 ORDER BY id",ticket.Id);
if(items.Count==0)items.Add(new(){["id"]=ticket.Id,["name"]=ticket.Text("itemName"),["type"]=ticket.Text("itemType")});
var costs=FinanceAnalytics.Split(ticket.Money("principal"),items.Select(i=>i.Money("appraisalPrice")).ToList());
for(int i=0;i<items.Count;i++)result.Add(new DbRow(items[i]){["amount"]=costs[i],["source"]="PAWN",["ticketId"]=ticket.Id,["orderNo"]=ticket.Text("ticketNo"),["customerName"]=ticket.Text("customerName"),["customerPhone"]=ticket.Text("customerPhone"),["dueDate"]=ticket.Text("dueDate"),["status"]="IN_STOCK",["pawnState"]=PawnState.State(ticket,DateTime.Today)});
}
return result;
});
}
}
namespace JiDangJia.Core;
public static class PawnInventory
{
public static List<DbRow> Read(Database db)
{
return db.Read(c=>
{
var result=new List<DbRow>();
foreach(var ticket in Database.Query(c,"SELECT * FROM PawnTicket WHERE status='ACTIVE' AND deletedAt IS NULL ORDER BY createdAt DESC"))
{
var items=Database.Query(c,"SELECT * FROM PawnItem WHERE ticketId=@p0 ORDER BY id",ticket.Id);
if(items.Count==0)items.Add(new(){["id"]=ticket.Id,["name"]=ticket.Text("itemName"),["type"]=ticket.Text("itemType")});
var costs=FinanceAnalytics.Split(ticket.Money("principal"),items.Select(i=>i.Money("appraisalPrice")).ToList());
for(int i=0;i<items.Count;i++)result.Add(new DbRow(items[i]){["amount"]=costs[i],["source"]="PAWN",["ticketId"]=ticket.Id,["orderNo"]=ticket.Text("ticketNo"),["customerName"]=ticket.Text("customerName"),["customerPhone"]=ticket.Text("customerPhone"),["dueDate"]=ticket.Text("dueDate"),["status"]="IN_STOCK",["pawnState"]=PawnState.State(ticket,DateTime.Today)});
}
return result;
});
}
}