将datatable转换为model

在BLL转换

public List<MP_invoiceItem> getinvoiceItem(string doc_no, string dept)
{
List<MP_invoiceItem> list = new List<MP_invoiceItem>();
DataTable dt = D_i.getinvoiceItem(doc_no,dept);
if (dt != null & dt.Rows.Count > 0)
{
foreach (DataRow dr in dt.Rows)
{
MP_invoiceItem mii = new MP_invoiceItem();
mii.n_description = dr["n_description"].getString();
mii.n_partno = dr["n_partno"].getString();
mii.qty = dr["qty"].getInt();
mii.price = dr["price"].getDbl();
mii.amount = mii.qty * mii.price;

list.Add(mii);
}
}
return list;
}

 public static MP_Invoice get_MInvoice_ByDeptDoc(string dept, string doc_no)
        {
            MP_Invoice mi = new MP_Invoice();
            DataTable dtb = D_Invoice.getInvoice_ByDeptDoc(dept, doc_no);
            if (dtb != null && dtb.Rows.Count > 0)
            {
                DataRow dr = dtb.Rows[0];

                mi.doc_title = "Invoice";
                mi.status = dr["status"].getInt();
                if (mi.status == 0)
                {
                    mi.doc_title = "Proforma Invoice";
                }

                mi.dept = dr["dept"].getString();
                mi.doc_no = dr["doc_no"].getString();
                mi.version = dr["version"].getInt();


                mi.iss_date = MyDatetime.getDate_Default_1990_1_1(dr["iss_date"]);
                mi.show_iss_date = MyDatetime.showDateTime_ddMMMyyyy(dr["iss_date"]);

                mi.sales1 = dr["sales1"].getString();
                mi.sales2 = dr["sales2"].getString();

                mi.sales1_fullname = B_Staff.getFullName(mi.sales1);
                if (mi.sales2 != "")
                {
                    mi.sales2_fullname = B_Staff.getFullName(mi.sales2);
                }

                mi.show_signature = mi.sales1_fullname;
                if (mi.sales2_fullname != "")
                {
                    mi.show_signature = mi.show_signature + " / " + mi.sales2_fullname;
                }

                mi.sales1_email = B_Staff.getUserEmailByID(mi.sales1);

                mi.refer_no = dr["refer_no"].getString();

                mi.del_date = MyDatetime.getDate_Default_1990_1_1(dr["del_date"]);
                mi.del_date_display = dr["del_date_display"].getString();

                mi.forwarder = dr["forwarder"].getString();
                mi.airway_bill = dr["airway_bill"].getString();
                mi.parcel = dr["parcel"].getString();
                mi.weight = dr["weight"].getString();
                mi.pay_term = dr["pay_term"].getString();

                mi.comp_name = dr["comp_name"].getString();
                mi.comp_name_ship = dr["comp_name_ship"].getString();
                mi.addr_sold = dr["addr_sold"].getString();
                mi.addr_ship = dr["addr_ship"].getString();
                mi.tel = dr["tel"].getString();
                mi.tel_ship = "";
                mi.attn = dr["attn"].getString();
                mi.attn_ship = dr["attn_ship"].getString();
                mi.fax = dr["fax"].getString();

                mi.notes = dr["notes"].getString();
                mi.terms = dr["terms"].getString();
                mi.terms_add = dr["terms_add"].getString();

                mi.banker_info = dr["banker_info"].getString();
                mi.currency = dr["currency"].getString();
                mi.currency_pay = dr["currency_pay"].getString();
                mi.amount_pay = dr["amount_pay"].getDbl();
                mi.insu_charge = dr["insu_charge"].getDbl();
                mi.deli_charge = dr["deli_charge"].getDbl();
                mi.other_charge = dr["other_charge"].getDbl();

                mi.exchange_rate_pay = dr["exchange_rate_pay"].getDbl();
                mi.exchange_rate = dr["exchange_rate"].getDbl();

                mi.final_exchange_rate = mi.exchange_rate_pay / mi.exchange_rate;

                mi.amount_usd = dr["amount_usd"].getDbl();
                mi.approved = MyGeneral.getBool(dr["approved"]);

                return mi;
            }

            return null;
        }

p_currInvoice = B_Invoice.get_MInvoice_ByDeptDoc(dept, doc_no);
p_currInvoice.item_list = B_Invoice.getList_MInvoiceNotes_ByDeptDoc(dept, doc_no);

原文地址:https://www.cnblogs.com/suan1717/p/6386793.html