private void SaveCRMSOLine(CRMConnection crm, string company, Entity crmso, DataRow linerow, Entity entity, bool create)
{
string soline_orderno = Convert.ToString(linerow["t$orno"]); // Transection Type
string soline_transaction_type = Convert.ToString(linerow["t$ttyp"]); // Transection Type
string soline_project_no = Convert.ToString(linerow["t$cprj"]); // Project Number
string soline_position = Convert.ToString(linerow["t$pono"]); // Position Number
string soline_sequence = Convert.ToString(linerow["t$sqnb"]); // Sequence Number
DateTime soline_release_date = (DateTime)linerow["t$rdta"]; // Release Date
DateTime soline_order_date = (DateTime)linerow["t$odat"]; // Order Date
DateTime soline_planned_delivery_date = (DateTime)linerow["t$ddta"]; // Planned Delivery Date
DateTime soline_planned_receipt_date = (DateTime)linerow["t$prdt"]; // Planned Recipt Date
DateTime soline_delivey_date = (DateTime)linerow["t$dldt"]; // Delivery Date
string soline_tax_code = Convert.ToString(linerow["t$cvat"]); // Tax Code
decimal soline_cancelled = Convert.ToDecimal(linerow["t$clyn"]); // Cancelled
string soline_sold_to_bp = Convert.ToString(linerow["t$ofbp"]); // Sold to BP
string soline_ship_to_bp = Convert.ToString(linerow["t$stbp"]); // Ship to BP
decimal soline_order_line_text = (decimal)linerow["t$txta"]; // Order Line Text
double soline_price = Convert.ToDouble(linerow["t$pric"]); // Price
double soline_quantity = Convert.ToDouble(linerow["t$oqua"]); // Ordered Quantity
double soline_amount = Convert.ToDouble(linerow["t$oamt"]); // Amount
double soline_discount_percent = Convert.ToDouble(linerow["t$disc$1"]); // Line Discount (%)
double soline_discount_amount = Convert.ToDouble(linerow["t$ldam$1"]); // Discount Amount
double soline_ordered_line_discount_amount = Convert.ToDouble(linerow["t$amld"]); // Orde Line Discount Amount
double soline_total_amount = Convert.ToDouble(linerow["t$oamt"]); // Total Amount
string soline_invoice = Convert.ToString(linerow["t$invn"]); // Invoice Number
entity["am_name"] = soline_orderno;
entity["am_lopsalesordernumberid"] = crmso.ToEntityReference();
entity["am_txttransactiontype"] = soline_transaction_type;
entity["am_txtprojectnumber"] = soline_project_no;
entity["am_intpositionnumber"] = Convert.ToInt32(soline_position);
entity["am_intsequencenumber"] = Convert.ToInt32(soline_sequence);
entity["am_dtreleasedate"] = soline_release_date;
entity["am_dtorderdate"] = soline_order_date;
entity["am_dtplanneddeliverydate"] = soline_planned_delivery_date;
entity["am_dtplannedreceiptdate"] = soline_planned_receipt_date;
entity["am_dtdeliverydate"] = soline_delivey_date;
entity["am_bittaxcode"] = (soline_tax_code.Trim() != "199");
entity["am_bitcancelled"] = (soline_cancelled == 1);
entity["am_lopsoldtobp"] = crm.FindRefByBaanCode(CRM.ENTITY_ACCOUNT, soline_sold_to_bp);
entity["am_lopshiptobp"] = crm.FindRefByBaanCode(CRM.ENTITY_ACCOUNT, soline_ship_to_bp);
entity["am_ntxtorderlinetext"] = BaanStorage.GetLookupString(company, soline_order_line_text);
entity["am_floatprice"] = soline_price;
entity["am_floatorderedquantity"] = soline_quantity;
entity["am_floatamount"] = soline_amount;
entity["am_floatlinediscount"] = soline_discount_percent;
entity["am_floatdiscountamount"] = soline_discount_amount;
entity["am_floatorderlinediscountamount"] = soline_ordered_line_discount_amount;
entity["am_floattotalamount"] = soline_total_amount;
entity["am_txtinvoicenumber"] = soline_invoice;
if (create)
{
crm.service.Create(entity);
}
else
{
crm.service.Update(entity);
}
}