IO-70 WIP OEC Creation.
This commit is contained in:
@@ -23,14 +23,16 @@
|
||||
See https://github.com/nlog/NLog/wiki/Layout-Renderers for the possible layout renderers.
|
||||
-->
|
||||
<target name="file" xsi:type="File"
|
||||
layout="${level:uppercase=true} | ${longdate} ${logger} | ${message}${exception:format=ToString}"
|
||||
layout="${level:uppercase=true} | ${longdate} ${logger} | ${message} ${exception:innerFormat=Message,StackTrace}"
|
||||
fileName="${basedir}/logs/BSU-${shortdate}.log"
|
||||
maxArchiveFiles="10"
|
||||
archiveAboveSize="102400"
|
||||
archiveEvery="Day"
|
||||
includeSourceInfo="true"
|
||||
keepFileOpen="true"/>
|
||||
|
||||
<target name="console" xsi:type="Console" />
|
||||
<target layout="${level:uppercase=true} | ${longdate} ${logger} | ${message} ${exception:innerFormat=Message,StackTrace}"
|
||||
name="console" xsi:type="Console" includeSourceInfo="true" />
|
||||
|
||||
<!--
|
||||
Write events to a file with the date in the filename.
|
||||
|
||||
@@ -24,6 +24,16 @@ namespace BodyshopPartner.Utils
|
||||
public static void SendToOEConnection(dynamic PartsOrder)
|
||||
{
|
||||
GenerateAd1File(PartsOrder.job);
|
||||
GenerateAd2File(PartsOrder.job);
|
||||
GenerateEnvFile(PartsOrder.job);
|
||||
GenerateVehFile(PartsOrder.job);
|
||||
GenerateLinFile(PartsOrder.job, PartsOrder);
|
||||
GeneratePfhFile(PartsOrder.job);
|
||||
GeneratePflFile(PartsOrder.job);
|
||||
GeneratePfmFile(PartsOrder.job);
|
||||
GeneratePfoFile(PartsOrder.job);
|
||||
GeneratePfpFile(PartsOrder.job);
|
||||
|
||||
}
|
||||
|
||||
public static DBFField[] ReadDbfFields(string dbfFilePath)
|
||||
@@ -37,6 +47,12 @@ namespace BodyshopPartner.Utils
|
||||
}
|
||||
}
|
||||
|
||||
public static string GetSupplementNumber(dynamic Job)
|
||||
{
|
||||
//*** TODO
|
||||
return "1";
|
||||
}
|
||||
|
||||
public static string GenerateFileName(dynamic Job)
|
||||
{
|
||||
if (string.IsNullOrEmpty(Job.clm_no?.Value)) { return Job.ro_number?.Value; }
|
||||
@@ -47,9 +63,9 @@ namespace BodyshopPartner.Utils
|
||||
{
|
||||
try
|
||||
{
|
||||
DBFField[] Ad1Fields = ReadDbfFields(emsBasePath + @"\EMSA.AD1");
|
||||
DBFField[] StandardEmsFields = ReadDbfFields(emsBasePath + @"\EMSA.AD1");
|
||||
|
||||
using (var fileStream = File.Create(TempEmsDir + $@"\{GenerateFileName(Job)}A.ad1"))
|
||||
using (var fileStream = File.Create(TempEmsDir + $@"\{GenerateFileName(Job)}A.AD1"))
|
||||
{
|
||||
using (var writer = new DBFWriter())
|
||||
{
|
||||
@@ -57,7 +73,7 @@ namespace BodyshopPartner.Utils
|
||||
writer.Signature = DbfFileSignature;
|
||||
writer.LanguageDriver = DbfFileLanguageDriver;
|
||||
|
||||
writer.Fields = Ad1Fields;
|
||||
writer.Fields = StandardEmsFields;
|
||||
|
||||
writer.AddRecord(
|
||||
Job.ins_co_id?.Value,
|
||||
@@ -187,10 +203,943 @@ namespace BodyshopPartner.Utils
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logger.Error(ex,"Error when creating AD1 file.");
|
||||
logger.Error(ex, "Error when creating AD1 file.");
|
||||
}
|
||||
|
||||
}
|
||||
public static void GenerateAd2File(dynamic Job)
|
||||
{
|
||||
try
|
||||
{
|
||||
DBFField[] StandardEmsFields = ReadDbfFields(emsBasePath + @"\EMSB.AD2");
|
||||
|
||||
using (var fileStream = File.Create(TempEmsDir + $@"\{GenerateFileName(Job)}B.AD2"))
|
||||
{
|
||||
using (var writer = new DBFWriter())
|
||||
{
|
||||
writer.CharEncoding = DbfFileCharEncoding;
|
||||
writer.Signature = DbfFileSignature;
|
||||
writer.LanguageDriver = DbfFileLanguageDriver;
|
||||
|
||||
writer.Fields = StandardEmsFields;
|
||||
|
||||
writer.AddRecord(
|
||||
Job.clmt_ln?.Value,
|
||||
Job.clmt_fn?.Value,
|
||||
Job.clmt_title?.Value,
|
||||
Job.clmt_co_nm?.Value,
|
||||
Job.clmt_addr1?.Value,
|
||||
Job.clmt_addr2?.Value,
|
||||
Job.clmt_city?.Value,
|
||||
Job.clmt_st?.Value,
|
||||
Job.clmt_zip?.Value,
|
||||
Job.clmt_ctry?.Value,
|
||||
Job.clmt_ph1?.Value,
|
||||
Job.clmt_ph1x?.Value,
|
||||
Job.clmt_ph2?.Value,
|
||||
Job.clmt_ph2x?.Value,
|
||||
Job.clmt_fax?.Value,
|
||||
Job.clmt_faxx?.Value,
|
||||
Job.clmt_ea?.Value,
|
||||
Job.est_co_id?.Value,
|
||||
Job.est_co_nm?.Value,
|
||||
Job.est_addr1?.Value,
|
||||
Job.est_addr2?.Value,
|
||||
Job.est_city?.Value,
|
||||
Job.est_st?.Value,
|
||||
Job.est_zip?.Value,
|
||||
Job.est_ctry?.Value,
|
||||
Job.est_ph1?.Value,
|
||||
Job.est_ph1x?.Value,
|
||||
Job.est_ph2?.Value,
|
||||
Job.est_ph2x?.Value,
|
||||
Job.est_fax?.Value,
|
||||
Job.est_faxx?.Value,
|
||||
Job.est_ct_ln?.Value,
|
||||
Job.est_ct_fn?.Value,
|
||||
Job.est_ea?.Value,
|
||||
Job.est_lic_no?.Value,
|
||||
Job.est_fileno?.Value,
|
||||
Job.insp_ct_ln?.Value,
|
||||
Job.insp_ct_fn?.Value,
|
||||
Job.insp_addr1?.Value,
|
||||
Job.insp_addr2?.Value,
|
||||
Job.insp_city?.Value,
|
||||
Job.insp_st?.Value,
|
||||
Job.insp_zip?.Value,
|
||||
Job.insp_ctry?.Value,
|
||||
Job.insp_ph1?.Value,
|
||||
Job.insp_ph1x?.Value,
|
||||
Job.insp_ph2?.Value,
|
||||
Job.insp_ph2x?.Value,
|
||||
Job.insp_fax?.Value,
|
||||
Job.insp_faxx?.Value,
|
||||
Job.insp_ea?.Value,
|
||||
Job.insp_code?.Value,
|
||||
Job.insp_desc?.Value,
|
||||
Job.insp_date?.Value,
|
||||
Job.insp_time?.Value,
|
||||
Job.rf_co_id?.Value,
|
||||
Job.rf_co_nm?.Value,
|
||||
Job.rf_addr1?.Value,
|
||||
Job.rf_addr2?.Value,
|
||||
Job.rf_city?.Value,
|
||||
Job.rf_st?.Value,
|
||||
Job.rf_zip?.Value,
|
||||
Job.rf_ctry?.Value,
|
||||
Job.rf_ph1?.Value,
|
||||
Job.rf_ph1x?.Value,
|
||||
Job.rf_ph2?.Value,
|
||||
Job.rf_ph2x?.Value,
|
||||
Job.rf_fax?.Value,
|
||||
Job.rf_faxx?.Value,
|
||||
Job.rf_ct_ln?.Value,
|
||||
Job.rf_ct_fn?.Value,
|
||||
Job.rf_ea?.Value,
|
||||
Job.rf_tax_id?.Value,
|
||||
Job.rf_lic_no?.Value,
|
||||
Job.rf_bar_no?.Value,
|
||||
Job.ro_in_date?.Value,
|
||||
Job.ro_in_time?.Value,
|
||||
Job.ro_auth?.Value,
|
||||
Job.tar_date?.Value,
|
||||
Job.tar_time?.Value,
|
||||
Job.ro_cmpdate?.Value,
|
||||
Job.ro_cmptime?.Value,
|
||||
Job.date_out?.Value,
|
||||
Job.time_out?.Value,
|
||||
Job.rf_estimtr?.Value,
|
||||
Job.mktg_type?.Value,
|
||||
Job.mktg_src?.Value,
|
||||
Job.loc_nm?.Value,
|
||||
Job.loc_addr1?.Value,
|
||||
Job.loc_addr2?.Value,
|
||||
Job.loc_city?.Value,
|
||||
Job.loc_st?.Value,
|
||||
Job.loc_zip?.Value,
|
||||
Job.loc_ctry?.Value,
|
||||
Job.loc_ph1?.Value,
|
||||
Job.loc_ph1x?.Value,
|
||||
Job.loc_ph2?.Value,
|
||||
Job.loc_ph2x?.Value,
|
||||
Job.loc_fax?.Value,
|
||||
Job.loc_faxx?.Value,
|
||||
Job.loc_ct_ln?.Value,
|
||||
Job.loc_ct_fn?.Value,
|
||||
Job.loc_title?.Value,
|
||||
Job.loc_ph?.Value,
|
||||
Job.loc_phx?.Value,
|
||||
Job.loc_ea?.Value
|
||||
|
||||
); ;
|
||||
|
||||
writer.Write(fileStream);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logger.Error(ex, "Error when creating AD2 file.");
|
||||
}
|
||||
|
||||
}
|
||||
public static void GenerateLinFile(dynamic Job, dynamic PartsOrder)
|
||||
{
|
||||
try
|
||||
{
|
||||
DBFField[] StandardEmsFields = ReadDbfFields(emsBasePath + @"\EMS.LIN");
|
||||
|
||||
using (var fileStream = File.Create(TempEmsDir + $@"\{GenerateFileName(Job)}.LIN"))
|
||||
{
|
||||
using (var writer = new DBFWriter())
|
||||
{
|
||||
writer.CharEncoding = DbfFileCharEncoding;
|
||||
writer.Signature = DbfFileSignature;
|
||||
writer.LanguageDriver = DbfFileLanguageDriver;
|
||||
|
||||
writer.Fields = StandardEmsFields;
|
||||
|
||||
foreach (var partsOrderLine in PartsOrder.parts_order_lines)
|
||||
{
|
||||
writer.AddRecord(
|
||||
partsOrderLine.jobline?.line_no?.Value,
|
||||
partsOrderLine.jobline?.line_ind?.Value,
|
||||
partsOrderLine.jobline?.line_ref?.Value,
|
||||
partsOrderLine.jobline?.tran_code?.Value,
|
||||
partsOrderLine.jobline?.db_ref?.Value,
|
||||
partsOrderLine.jobline?.unq_seq?.Value,
|
||||
partsOrderLine.jobline?.who_pays?.Value,
|
||||
partsOrderLine.jobline?.line_desc?.Value,
|
||||
partsOrderLine.jobline?.part_type?.Value,
|
||||
partsOrderLine.jobline?.part_descj?.Value,
|
||||
partsOrderLine.jobline?.glass_flag?.Value,
|
||||
partsOrderLine.jobline?.oem_partno?.Value,
|
||||
partsOrderLine.jobline?.price_inc?.Value,
|
||||
partsOrderLine.jobline?.alt_part_i?.Value,
|
||||
partsOrderLine.jobline?.tax_part?.Value,
|
||||
partsOrderLine.jobline?.db_price?.Value,
|
||||
partsOrderLine.jobline?.act_price?.Value,
|
||||
partsOrderLine.jobline?.price_j?.Value,
|
||||
partsOrderLine.jobline?.cert_part?.Value,
|
||||
partsOrderLine.jobline?.part_qty?.Value,
|
||||
partsOrderLine.jobline?.alt_co_id?.Value,
|
||||
partsOrderLine.jobline?.alt_partno?.Value,
|
||||
partsOrderLine.jobline?.alt_overrd?.Value,
|
||||
partsOrderLine.jobline?.alt_partm?.Value,
|
||||
partsOrderLine.jobline?.prt_dsmk_p?.Value,
|
||||
partsOrderLine.jobline?.prt_dsmk_m?.Value,
|
||||
partsOrderLine.jobline?.mod_lbr_ty?.Value,
|
||||
partsOrderLine.jobline?.db_hrs?.Value,
|
||||
partsOrderLine.jobline?.mod_lb_hrs?.Value,
|
||||
partsOrderLine.jobline?.lbr_inc?.Value,
|
||||
partsOrderLine.jobline?.lbr_op?.Value,
|
||||
partsOrderLine.jobline?.lbr_hrs_j?.Value,
|
||||
partsOrderLine.jobline?.lbr_typ_j?.Value,
|
||||
partsOrderLine.jobline?.lbr_op_j?.Value,
|
||||
partsOrderLine.jobline?.paint_stg?.Value,
|
||||
partsOrderLine.jobline?.paint_tone?.Value,
|
||||
partsOrderLine.jobline?.lbr_tax?.Value,
|
||||
partsOrderLine.jobline?.lbr_amt?.Value,
|
||||
partsOrderLine.jobline?.misc_amt?.Value,
|
||||
partsOrderLine.jobline?.misc_sublt?.Value,
|
||||
partsOrderLine.jobline?.misc_tax?.Value,
|
||||
partsOrderLine.jobline?.bett_type?.Value,
|
||||
partsOrderLine.jobline?.bett_pctg?.Value,
|
||||
partsOrderLine.jobline?.bett_amt?.Value,
|
||||
partsOrderLine.jobline?.bett_tax?.Value
|
||||
|
||||
|
||||
); ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
writer.Write(fileStream);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logger.Error(ex, "Error when creating LIN file.");
|
||||
}
|
||||
|
||||
}
|
||||
public static void GenerateEnvFile(dynamic Job)
|
||||
{
|
||||
try
|
||||
{
|
||||
DBFField[] StandardEmsFields = ReadDbfFields(emsBasePath + @"\EMS.ENV");
|
||||
|
||||
using (var fileStream = File.Create(TempEmsDir + $@"\{GenerateFileName(Job)}.ENV"))
|
||||
{
|
||||
using (var writer = new DBFWriter())
|
||||
{
|
||||
writer.CharEncoding = DbfFileCharEncoding;
|
||||
writer.Signature = DbfFileSignature;
|
||||
writer.LanguageDriver = DbfFileLanguageDriver;
|
||||
|
||||
writer.Fields = StandardEmsFields;
|
||||
|
||||
writer.AddRecord(
|
||||
"M",//EST_SYSTEM,
|
||||
"21.3",//SW_VERSION,
|
||||
"OCT_21_V",//DB_VERSION,
|
||||
new DateTime(2021, 09, 26),//DB_DATE
|
||||
"",//UNQFILE_ID,
|
||||
"0",//RO_ID,
|
||||
Job.clm_no?.Value,//ESTFILE_ID,
|
||||
GetSupplementNumber(Job),//SUPP_NO,
|
||||
"CAN", //EST_CTRY,
|
||||
";0000000;0;0000000;0;0000000;",//TOP_SECRET,
|
||||
"",//H_TRANS_ID,
|
||||
"",//H_CTRL_NO,
|
||||
"S",//TRANS_TYPE,
|
||||
false,//STATUS,
|
||||
new DateTime(),//CREATE_DT,
|
||||
new DateTime().ToString("HHmmSS"),//CREATE_TM,
|
||||
new DateTime(),//TRANSMT_DT,
|
||||
new DateTime().ToString("HHmmSS"),//TRANSMT_TM,
|
||||
true,//INCL_ADMIN,
|
||||
true,//INCL_VEH,
|
||||
true,//INCL_EST,
|
||||
true,//INCL_PROFL,
|
||||
true,//INCL_TOTAL,
|
||||
false,//INCL_VENDR,
|
||||
"2.0"//EMS_VER,
|
||||
); ;
|
||||
|
||||
writer.Write(fileStream);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logger.Error(ex, "Error when creating ENV file.");
|
||||
}
|
||||
|
||||
}
|
||||
public static void GenerateVehFile(dynamic Job)
|
||||
{
|
||||
try
|
||||
{
|
||||
DBFField[] StandardEmsFields = ReadDbfFields(emsBasePath + @"\EMSV.VEH");
|
||||
|
||||
using (var fileStream = File.Create(TempEmsDir + $@"\{GenerateFileName(Job)}V.VEH"))
|
||||
{
|
||||
using (var writer = new DBFWriter())
|
||||
{
|
||||
writer.CharEncoding = DbfFileCharEncoding;
|
||||
writer.Signature = DbfFileSignature;
|
||||
writer.LanguageDriver = DbfFileLanguageDriver;
|
||||
|
||||
writer.Fields = StandardEmsFields;
|
||||
|
||||
writer.AddRecord(
|
||||
Job.area_of_impact?.impact_1?.Value,//IMPACT_1,
|
||||
Job.area_of_impact?.impact_2?.Value,//IMPACT_2,
|
||||
null,//DMG_MEMO,
|
||||
"",//DB_V_CODE,
|
||||
Job.plate_no?.Value,//PLATE_NO,
|
||||
Job.plate_st?.Value,//PLATE_ST,
|
||||
Job.v_vin?.Value,//V_VIN,
|
||||
"",//V_COND,
|
||||
"",//V_PROD_DT,
|
||||
Job.v_model_yr?.Value,//V_MODEL_YR,
|
||||
"",//V_MAKECODE,
|
||||
Job.v_make_desc?.Value,//V_MAKEDESC,
|
||||
Job.model?.Value,//V_MODEL,
|
||||
Job.vehicle?.v_type?.Value,//V_TYPE,
|
||||
Job.vehicle?.v_bstyle?.Value,//V_BSTYLE,
|
||||
Job.vehicle?.v_trimcode?.Value,//V_TRIMCODE,
|
||||
Job.vehicle?.trim_color?.Value,//TRIM_COLOR,
|
||||
Job.vehicle?.v_mldgcode?.Value,//V_MLDGCODE,
|
||||
Job.vehicle?.v_engine?.Value,//V_ENGINE,
|
||||
Job.vehicle?.v_mileage?.Value,//V_MILEAGE,
|
||||
Job.vehicle?.v_options?.Value,//V_OPTIONS,
|
||||
Job.vehicle?.v_color?.Value,//V_COLOR,
|
||||
Job.vehicle?.v_tone?.Value,//V_TONE,
|
||||
Job.vehicle?.v_stage?.Value,//V_STAGE,
|
||||
Job.vehicle?.v_paint_codes?.paint_cd1?.Value,//PAINT_CD1,
|
||||
Job.vehicle?.v_paint_codes?.paint_cd2?.Value,//PAINT_CD2,
|
||||
Job.vehicle?.v_paint_codes?.paint_cd3?.Value,//PAINT_CD3,
|
||||
Job.vehicle?.v_memo?.Value//V_MEMO,
|
||||
); ;
|
||||
|
||||
writer.Write(fileStream);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logger.Error(ex, "Error when creating Veh file.");
|
||||
}
|
||||
|
||||
}
|
||||
public static void GeneratePfhFile(dynamic Job)
|
||||
{
|
||||
try
|
||||
{
|
||||
DBFField[] StandardEmsFields = ReadDbfFields(emsBasePath + @"\EMS.PFH");
|
||||
|
||||
using (var fileStream = File.Create(TempEmsDir + $@"\{GenerateFileName(Job)}.PFH"))
|
||||
{
|
||||
using (var writer = new DBFWriter())
|
||||
{
|
||||
writer.CharEncoding = DbfFileCharEncoding;
|
||||
writer.Signature = DbfFileSignature;
|
||||
writer.LanguageDriver = DbfFileLanguageDriver;
|
||||
|
||||
writer.Fields = StandardEmsFields;
|
||||
|
||||
writer.AddRecord(
|
||||
Job.id_pro_nam?.Value,
|
||||
Job.tax_prethr?.Value,
|
||||
Job.tax_thramt?.Value,
|
||||
Job.tax_pstthr?.Value,
|
||||
Job.tax_tow_in?.Value,
|
||||
Job.tax_tow_rt?.Value,
|
||||
Job.tax_str_in?.Value,
|
||||
Job.tax_str_rt?.Value,
|
||||
Job.tax_sub_in?.Value,
|
||||
Job.tax_sub_rt?.Value,
|
||||
Job.tax_btr_in?.Value,
|
||||
Job.tax_lbr_rt?.Value,
|
||||
Job.tax_gst_rt?.Value,
|
||||
Job.tax_gst_in?.Value,
|
||||
Job.adj_g_disc?.Value,
|
||||
Job.adj_towdis?.Value,
|
||||
Job.adj_strdis?.Value,
|
||||
Job.adj_btr_in?.Value,
|
||||
Job.tax_predis?.Value
|
||||
); ;
|
||||
|
||||
writer.Write(fileStream);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logger.Error(ex, "Error when creating PFH file.");
|
||||
}
|
||||
|
||||
}
|
||||
public static void GeneratePflFile(dynamic Job)
|
||||
{
|
||||
try
|
||||
{
|
||||
DBFField[] StandardEmsFields = ReadDbfFields(emsBasePath + @"\EMS.PFL");
|
||||
|
||||
using (var fileStream = File.Create(TempEmsDir + $@"\{GenerateFileName(Job)}.PFL"))
|
||||
{
|
||||
using (var writer = new DBFWriter())
|
||||
{
|
||||
writer.CharEncoding = DbfFileCharEncoding;
|
||||
writer.Signature = DbfFileSignature;
|
||||
writer.LanguageDriver = DbfFileLanguageDriver;
|
||||
|
||||
writer.Fields = StandardEmsFields;
|
||||
|
||||
writer.AddRecord(
|
||||
"LAB", //LBR_TYPE
|
||||
"LABOR-BODY", //LBR_DESC
|
||||
Job.rate_lab?.Value, //LBR_RATE
|
||||
true, //LBR_TAX_IN
|
||||
Job.state_tax_rate?.Value, //LBR_TAXP
|
||||
0, //LBR_ADJP
|
||||
Job.lbr_tx_ty1?.Value, //LBR_TX_TY1
|
||||
Job.lbr_tx_in1?.Value, //LBR_TX_IN1
|
||||
Job.lbr_tx_ty2?.Value, //LBR_TX_TY2
|
||||
Job.lbr_tx_in2?.Value, //LBR_TX_IN2
|
||||
Job.lbr_tx_ty3?.Value, //LBR_TX_TY3
|
||||
Job.lbr_tx_in3?.Value, //LBR_TX_IN3
|
||||
Job.lbr_tx_ty4?.Value, //LBR_TX_TY4
|
||||
Job.lbr_tx_in4?.Value, //LBR_TX_IN4
|
||||
Job.lbr_tx_ty5?.Value, //LBR_TX_TY5
|
||||
Job.lbr_tx_in5?.Value //LBR_TX_IN5
|
||||
); ;
|
||||
|
||||
writer.AddRecord(
|
||||
"LAS", //LBR_TYPE
|
||||
"LABOR-BODY_S", //LBR_DESC
|
||||
Job.rate_las?.Value, //LBR_RATE
|
||||
true, //LBR_TAX_IN
|
||||
Job.state_tax_rate?.Value, //LBR_TAXP
|
||||
0, //LBR_ADJP
|
||||
Job.lbr_tx_ty1?.Value, //LBR_TX_TY1
|
||||
Job.lbr_tx_in1?.Value, //LBR_TX_IN1
|
||||
Job.lbr_tx_ty2?.Value, //LBR_TX_TY2
|
||||
Job.lbr_tx_in2?.Value, //LBR_TX_IN2
|
||||
Job.lbr_tx_ty3?.Value, //LBR_TX_TY3
|
||||
Job.lbr_tx_in3?.Value, //LBR_TX_IN3
|
||||
Job.lbr_tx_ty4?.Value, //LBR_TX_TY4
|
||||
Job.lbr_tx_in4?.Value, //LBR_TX_IN4
|
||||
Job.lbr_tx_ty5?.Value, //LBR_TX_TY5
|
||||
Job.lbr_tx_in5?.Value //LBR_TX_IN5
|
||||
); ;
|
||||
writer.AddRecord(
|
||||
"LAR", //LBR_TYPE
|
||||
"LABOR-REFINISH", //LBR_DESC
|
||||
Job.rate_lar?.Value, //LBR_RATE
|
||||
true, //LBR_TAX_IN
|
||||
Job.state_tax_rate?.Value, //LBR_TAXP
|
||||
0, //LBR_ADJP
|
||||
Job.lbr_tx_ty1?.Value, //LBR_TX_TY1
|
||||
Job.lbr_tx_in1?.Value, //LBR_TX_IN1
|
||||
Job.lbr_tx_ty2?.Value, //LBR_TX_TY2
|
||||
Job.lbr_tx_in2?.Value, //LBR_TX_IN2
|
||||
Job.lbr_tx_ty3?.Value, //LBR_TX_TY3
|
||||
Job.lbr_tx_in3?.Value, //LBR_TX_IN3
|
||||
Job.lbr_tx_ty4?.Value, //LBR_TX_TY4
|
||||
Job.lbr_tx_in4?.Value, //LBR_TX_IN4
|
||||
Job.lbr_tx_ty5?.Value, //LBR_TX_TY5
|
||||
Job.lbr_tx_in5?.Value //LBR_TX_IN5
|
||||
); ;
|
||||
|
||||
writer.AddRecord(
|
||||
"LAG", //LBR_TYPE
|
||||
"LABOR-GLASS", //LBR_DESC
|
||||
Job.rate_lag?.Value, //LBR_RATE
|
||||
true, //LBR_TAX_IN
|
||||
Job.state_tax_rate?.Value, //LBR_TAXP
|
||||
0, //LBR_ADJP
|
||||
Job.lbr_tx_ty1?.Value, //LBR_TX_TY1
|
||||
Job.lbr_tx_in1?.Value, //LBR_TX_IN1
|
||||
Job.lbr_tx_ty2?.Value, //LBR_TX_TY2
|
||||
Job.lbr_tx_in2?.Value, //LBR_TX_IN2
|
||||
Job.lbr_tx_ty3?.Value, //LBR_TX_TY3
|
||||
Job.lbr_tx_in3?.Value, //LBR_TX_IN3
|
||||
Job.lbr_tx_ty4?.Value, //LBR_TX_TY4
|
||||
Job.lbr_tx_in4?.Value, //LBR_TX_IN4
|
||||
Job.lbr_tx_ty5?.Value, //LBR_TX_TY5
|
||||
Job.lbr_tx_in5?.Value //LBR_TX_IN5
|
||||
); ;
|
||||
|
||||
writer.AddRecord(
|
||||
"LAF", //LBR_TYPE
|
||||
"LABOR-FRAME", //LBR_DESC
|
||||
Job.rate_laf?.Value, //LBR_RATE
|
||||
true, //LBR_TAX_IN
|
||||
Job.state_tax_rate?.Value, //LBR_TAXP
|
||||
0, //LBR_ADJP
|
||||
Job.lbr_tx_ty1?.Value, //LBR_TX_TY1
|
||||
Job.lbr_tx_in1?.Value, //LBR_TX_IN1
|
||||
Job.lbr_tx_ty2?.Value, //LBR_TX_TY2
|
||||
Job.lbr_tx_in2?.Value, //LBR_TX_IN2
|
||||
Job.lbr_tx_ty3?.Value, //LBR_TX_TY3
|
||||
Job.lbr_tx_in3?.Value, //LBR_TX_IN3
|
||||
Job.lbr_tx_ty4?.Value, //LBR_TX_TY4
|
||||
Job.lbr_tx_in4?.Value, //LBR_TX_IN4
|
||||
Job.lbr_tx_ty5?.Value, //LBR_TX_TY5
|
||||
Job.lbr_tx_in5?.Value //LBR_TX_IN5
|
||||
); ;
|
||||
|
||||
writer.AddRecord(
|
||||
"LAM", //LBR_TYPE
|
||||
"LABOR-MECHANICAL", //LBR_DESC
|
||||
Job.rate_lam?.Value, //LBR_RATE
|
||||
true, //LBR_TAX_IN
|
||||
Job.state_tax_rate?.Value, //LBR_TAXP
|
||||
0, //LBR_ADJP
|
||||
Job.lbr_tx_ty1?.Value, //LBR_TX_TY1
|
||||
Job.lbr_tx_in1?.Value, //LBR_TX_IN1
|
||||
Job.lbr_tx_ty2?.Value, //LBR_TX_TY2
|
||||
Job.lbr_tx_in2?.Value, //LBR_TX_IN2
|
||||
Job.lbr_tx_ty3?.Value, //LBR_TX_TY3
|
||||
Job.lbr_tx_in3?.Value, //LBR_TX_IN3
|
||||
Job.lbr_tx_ty4?.Value, //LBR_TX_TY4
|
||||
Job.lbr_tx_in4?.Value, //LBR_TX_IN4
|
||||
Job.lbr_tx_ty5?.Value, //LBR_TX_TY5
|
||||
Job.lbr_tx_in5?.Value //LBR_TX_IN5
|
||||
); ;
|
||||
|
||||
writer.AddRecord(
|
||||
"LAU", //LBR_TYPE
|
||||
"LABOR-PDR", //LBR_DESC
|
||||
Job.rate_lau?.Value, //LBR_RATE
|
||||
true, //LBR_TAX_IN
|
||||
Job.state_tax_rate?.Value, //LBR_TAXP
|
||||
0, //LBR_ADJP
|
||||
Job.lbr_tx_ty1?.Value, //LBR_TX_TY1
|
||||
Job.lbr_tx_in1?.Value, //LBR_TX_IN1
|
||||
Job.lbr_tx_ty2?.Value, //LBR_TX_TY2
|
||||
Job.lbr_tx_in2?.Value, //LBR_TX_IN2
|
||||
Job.lbr_tx_ty3?.Value, //LBR_TX_TY3
|
||||
Job.lbr_tx_in3?.Value, //LBR_TX_IN3
|
||||
Job.lbr_tx_ty4?.Value, //LBR_TX_TY4
|
||||
Job.lbr_tx_in4?.Value, //LBR_TX_IN4
|
||||
Job.lbr_tx_ty5?.Value, //LBR_TX_TY5
|
||||
Job.lbr_tx_in5?.Value //LBR_TX_IN5
|
||||
); ;
|
||||
|
||||
writer.AddRecord(
|
||||
"LA3", //LBR_TYPE
|
||||
"LABOR-ALUMINUM", //LBR_DESC
|
||||
Job.rate_la3?.Value, //LBR_RATE
|
||||
true, //LBR_TAX_IN
|
||||
Job.state_tax_rate?.Value, //LBR_TAXP
|
||||
0, //LBR_ADJP
|
||||
Job.lbr_tx_ty1?.Value, //LBR_TX_TY1
|
||||
Job.lbr_tx_in1?.Value, //LBR_TX_IN1
|
||||
Job.lbr_tx_ty2?.Value, //LBR_TX_TY2
|
||||
Job.lbr_tx_in2?.Value, //LBR_TX_IN2
|
||||
Job.lbr_tx_ty3?.Value, //LBR_TX_TY3
|
||||
Job.lbr_tx_in3?.Value, //LBR_TX_IN3
|
||||
Job.lbr_tx_ty4?.Value, //LBR_TX_TY4
|
||||
Job.lbr_tx_in4?.Value, //LBR_TX_IN4
|
||||
Job.lbr_tx_ty5?.Value, //LBR_TX_TY5
|
||||
Job.lbr_tx_in5?.Value //LBR_TX_IN5
|
||||
); ;
|
||||
|
||||
|
||||
writer.AddRecord(
|
||||
"LA4", //LBR_TYPE
|
||||
"LABOR-CARBON FIBER", //LBR_DESC
|
||||
Job.rate_la4?.Value, //LBR_RATE
|
||||
true, //LBR_TAX_IN
|
||||
Job.state_tax_rate?.Value, //LBR_TAXP
|
||||
0, //LBR_ADJP
|
||||
Job.lbr_tx_ty1?.Value, //LBR_TX_TY1
|
||||
Job.lbr_tx_in1?.Value, //LBR_TX_IN1
|
||||
Job.lbr_tx_ty2?.Value, //LBR_TX_TY2
|
||||
Job.lbr_tx_in2?.Value, //LBR_TX_IN2
|
||||
Job.lbr_tx_ty3?.Value, //LBR_TX_TY3
|
||||
Job.lbr_tx_in3?.Value, //LBR_TX_IN3
|
||||
Job.lbr_tx_ty4?.Value, //LBR_TX_TY4
|
||||
Job.lbr_tx_in4?.Value, //LBR_TX_IN4
|
||||
Job.lbr_tx_ty5?.Value, //LBR_TX_TY5
|
||||
Job.lbr_tx_in5?.Value //LBR_TX_IN5
|
||||
); ;
|
||||
|
||||
writer.AddRecord(
|
||||
"LA1", //LBR_TYPE
|
||||
"LABOR-USER DEFINED 1", //LBR_DESC
|
||||
Job.rate_la1?.Value, //LBR_RATE
|
||||
true, //LBR_TAX_IN
|
||||
Job.state_tax_rate?.Value, //LBR_TAXP
|
||||
0, //LBR_ADJP
|
||||
Job.lbr_tx_ty1?.Value, //LBR_TX_TY1
|
||||
Job.lbr_tx_in1?.Value, //LBR_TX_IN1
|
||||
Job.lbr_tx_ty2?.Value, //LBR_TX_TY2
|
||||
Job.lbr_tx_in2?.Value, //LBR_TX_IN2
|
||||
Job.lbr_tx_ty3?.Value, //LBR_TX_TY3
|
||||
Job.lbr_tx_in3?.Value, //LBR_TX_IN3
|
||||
Job.lbr_tx_ty4?.Value, //LBR_TX_TY4
|
||||
Job.lbr_tx_in4?.Value, //LBR_TX_IN4
|
||||
Job.lbr_tx_ty5?.Value, //LBR_TX_TY5
|
||||
Job.lbr_tx_in5?.Value //LBR_TX_IN5
|
||||
); ;
|
||||
|
||||
writer.AddRecord(
|
||||
"LA2", //LBR_TYPE
|
||||
"LABOR-USER DEFINED 2", //LBR_DESC
|
||||
Job.rate_la2?.Value, //LBR_RATE
|
||||
true, //LBR_TAX_IN
|
||||
Job.state_tax_rate?.Value, //LBR_TAXP
|
||||
0, //LBR_ADJP
|
||||
Job.lbr_tx_ty1?.Value, //LBR_TX_TY1
|
||||
Job.lbr_tx_in1?.Value, //LBR_TX_IN1
|
||||
Job.lbr_tx_ty2?.Value, //LBR_TX_TY2
|
||||
Job.lbr_tx_in2?.Value, //LBR_TX_IN2
|
||||
Job.lbr_tx_ty3?.Value, //LBR_TX_TY3
|
||||
Job.lbr_tx_in3?.Value, //LBR_TX_IN3
|
||||
Job.lbr_tx_ty4?.Value, //LBR_TX_TY4
|
||||
Job.lbr_tx_in4?.Value, //LBR_TX_IN4
|
||||
Job.lbr_tx_ty5?.Value, //LBR_TX_TY5
|
||||
Job.lbr_tx_in5?.Value //LBR_TX_IN5
|
||||
); ;
|
||||
writer.Write(fileStream);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logger.Error(ex, "Error when creating PFH file.");
|
||||
}
|
||||
|
||||
}
|
||||
public static void GeneratePfmFile(dynamic Job)
|
||||
{
|
||||
try
|
||||
{
|
||||
DBFField[] StandardEmsFields = ReadDbfFields(emsBasePath + @"\EMS.PFM");
|
||||
|
||||
using (var fileStream = File.Create(TempEmsDir + $@"\{GenerateFileName(Job)}.PFM"))
|
||||
{
|
||||
using (var writer = new DBFWriter())
|
||||
{
|
||||
writer.CharEncoding = DbfFileCharEncoding;
|
||||
writer.Signature = DbfFileSignature;
|
||||
writer.LanguageDriver = DbfFileLanguageDriver;
|
||||
|
||||
writer.Fields = StandardEmsFields;
|
||||
|
||||
writer.AddRecord(
|
||||
"MAPA", //MATL_TYPE
|
||||
Job.CAL_CODE?.Value, //CAL_CODE
|
||||
Job.CAL_DESC?.Value, //CAL_DESC
|
||||
0, //CAL_MAXDLR
|
||||
0, //CAL_PRIP
|
||||
0, //CAL_SECP
|
||||
0, //MAT_CALP
|
||||
0, //CAL_PRETHR
|
||||
0, //CAL_PSTTHR
|
||||
0, //CAL_THRAMT
|
||||
0, //CAL_LBRMIN
|
||||
0, //CAL_LBRMAX
|
||||
Job.rate_mapa?.Value, //CAL_LBRRTE
|
||||
Job.CAL_OPCODE?.Value, //CAL_OPCODE
|
||||
true, //TAX_IND
|
||||
Job.MAT_TAXP?.Value, //MAT_TAXP
|
||||
Job.MAT_ADJP?.Value, //MAT_ADJP
|
||||
Job.MAT_TX_TY1?.Value, //MAT_TX_TY1
|
||||
Job.MAT_TX_IN1?.Value, //MAT_TX_IN1
|
||||
Job.MAT_TX_TY2?.Value, //MAT_TX_TY2
|
||||
Job.MAT_TX_IN2?.Value, //MAT_TX_IN2
|
||||
Job.MAT_TX_TY3?.Value, //MAT_TX_TY3
|
||||
Job.MAT_TX_IN3?.Value, //MAT_TX_IN3
|
||||
Job.MAT_TX_TY4?.Value, //MAT_TX_TY4
|
||||
Job.MAT_TX_IN4?.Value, //MAT_TX_IN4
|
||||
Job.MAT_TX_TY5?.Value, //MAT_TX_TY5
|
||||
Job.MAT_TX_IN5?.Value //MAT_TX_IN5
|
||||
|
||||
); ;
|
||||
|
||||
writer.AddRecord(
|
||||
"MASH", //MATL_TYPE
|
||||
Job.CAL_CODE?.Value, //CAL_CODE
|
||||
Job.CAL_DESC?.Value, //CAL_DESC
|
||||
0, //CAL_MAXDLR
|
||||
0, //CAL_PRIP
|
||||
0, //CAL_SECP
|
||||
0, //MAT_CALP
|
||||
0, //CAL_PRETHR
|
||||
0, //CAL_PSTTHR
|
||||
0, //CAL_THRAMT
|
||||
0, //CAL_LBRMIN
|
||||
0, //CAL_LBRMAX
|
||||
Job.rate_mash?.Value, //CAL_LBRRTE
|
||||
Job.CAL_OPCODE?.Value, //CAL_OPCODE
|
||||
true, //TAX_IND
|
||||
Job.MAT_TAXP?.Value, //MAT_TAXP
|
||||
Job.MAT_ADJP?.Value, //MAT_ADJP
|
||||
Job.MAT_TX_TY1?.Value, //MAT_TX_TY1
|
||||
Job.MAT_TX_IN1?.Value, //MAT_TX_IN1
|
||||
Job.MAT_TX_TY2?.Value, //MAT_TX_TY2
|
||||
Job.MAT_TX_IN2?.Value, //MAT_TX_IN2
|
||||
Job.MAT_TX_TY3?.Value, //MAT_TX_TY3
|
||||
Job.MAT_TX_IN3?.Value, //MAT_TX_IN3
|
||||
Job.MAT_TX_TY4?.Value, //MAT_TX_TY4
|
||||
Job.MAT_TX_IN4?.Value, //MAT_TX_IN4
|
||||
Job.MAT_TX_TY5?.Value, //MAT_TX_TY5
|
||||
Job.MAT_TX_IN5?.Value //MAT_TX_IN5
|
||||
|
||||
); ;
|
||||
writer.Write(fileStream);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logger.Error(ex, "Error when creating PFM file.");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static void GeneratePfoFile(dynamic Job)
|
||||
{
|
||||
try
|
||||
{
|
||||
DBFField[] StandardEmsFields = ReadDbfFields(emsBasePath + @"\EMS.PFO");
|
||||
|
||||
using (var fileStream = File.Create(TempEmsDir + $@"\{GenerateFileName(Job)}.PFO"))
|
||||
{
|
||||
using (var writer = new DBFWriter())
|
||||
{
|
||||
writer.CharEncoding = DbfFileCharEncoding;
|
||||
writer.Signature = DbfFileSignature;
|
||||
writer.LanguageDriver = DbfFileLanguageDriver;
|
||||
|
||||
writer.Fields = StandardEmsFields;
|
||||
|
||||
|
||||
writer.Write(fileStream);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logger.Error(ex, "Error when creating PFO file.");
|
||||
}
|
||||
|
||||
}
|
||||
public static void GeneratePfpFile(dynamic Job)
|
||||
{
|
||||
try
|
||||
{
|
||||
DBFField[] StandardEmsFields = ReadDbfFields(emsBasePath + @"\EMS.PFP");
|
||||
|
||||
using (var fileStream = File.Create(TempEmsDir + $@"\{GenerateFileName(Job)}.PFP"))
|
||||
{
|
||||
using (var writer = new DBFWriter())
|
||||
{
|
||||
writer.CharEncoding = DbfFileCharEncoding;
|
||||
writer.Signature = DbfFileSignature;
|
||||
writer.LanguageDriver = DbfFileLanguageDriver;
|
||||
|
||||
writer.Fields = StandardEmsFields;
|
||||
|
||||
|
||||
writer.AddRecord(
|
||||
Job.parts_tax_rates?.PAN?.prt_type?.Value, //PRT_TYPE
|
||||
Job.parts_tax_rates?.PAN?.prt_tax_in?.Value, //PRT_TAX_IN
|
||||
Job.parts_tax_rates?.PAN?.prt_tax_rt?.Value, //PRT_TAX_RT
|
||||
Job.parts_tax_rates?.PAN?.prt_mkupp?.Value, //PRT_MKUPP
|
||||
Job.parts_tax_rates?.PAN?.prt_mktyp?.Value, //PRT_MKTYP
|
||||
Job.parts_tax_rates?.PAN?.prt_discp?.Value, //PRT_DISCP
|
||||
Job.parts_tax_rates?.PAN?.prt_tx_ty1?.Value, //PRT_TX_TY1
|
||||
Job.parts_tax_rates?.PAN?.prt_tx_in1?.Value, //PRT_TX_IN1
|
||||
Job.parts_tax_rates?.PAN?.prt_tx_ty2?.Value, //PRT_TX_TY2
|
||||
Job.parts_tax_rates?.PAN?.prt_tx_in2?.Value, //PRT_TX_IN2
|
||||
Job.parts_tax_rates?.PAN?.prt_tx_ty3?.Value, //PRT_TX_TY3
|
||||
Job.parts_tax_rates?.PAN?.prt_tx_in3?.Value, //PRT_TX_IN3
|
||||
Job.parts_tax_rates?.PAN?.prt_tx_ty4?.Value, //PRT_TX_TY4
|
||||
Job.parts_tax_rates?.PAN?.prt_tx_in4?.Value, //PRT_TX_IN4
|
||||
Job.parts_tax_rates?.PAN?.prt_tx_ty5?.Value, //PRT_TX_TY5
|
||||
Job.parts_tax_rates?.PAN?.prt_tx_in5?.Value //PRT_TX_IN5
|
||||
); ;
|
||||
|
||||
writer.AddRecord(
|
||||
Job.parts_tax_rates?.PAL?.prt_type?.Value, //PRT_TYPE
|
||||
Job.parts_tax_rates?.PAL?.prt_tax_in?.Value, //PRT_TAX_IN
|
||||
Job.parts_tax_rates?.PAL?.prt_tax_rt?.Value, //PRT_TAX_RT
|
||||
Job.parts_tax_rates?.PAL?.prt_mkupp?.Value, //PRT_MKUPP
|
||||
Job.parts_tax_rates?.PAL?.prt_mktyp?.Value, //PRT_MKTYP
|
||||
Job.parts_tax_rates?.PAL?.prt_discp?.Value, //PRT_DISCP
|
||||
Job.parts_tax_rates?.PAL?.prt_tx_ty1?.Value, //PRT_TX_TY1
|
||||
Job.parts_tax_rates?.PAL?.prt_tx_in1?.Value, //PRT_TX_IN1
|
||||
Job.parts_tax_rates?.PAL?.prt_tx_ty2?.Value, //PRT_TX_TY2
|
||||
Job.parts_tax_rates?.PAL?.prt_tx_in2?.Value, //PRT_TX_IN2
|
||||
Job.parts_tax_rates?.PAL?.prt_tx_ty3?.Value, //PRT_TX_TY3
|
||||
Job.parts_tax_rates?.PAL?.prt_tx_in3?.Value, //PRT_TX_IN3
|
||||
Job.parts_tax_rates?.PAL?.prt_tx_ty4?.Value, //PRT_TX_TY4
|
||||
Job.parts_tax_rates?.PAL?.prt_tx_in4?.Value, //PRT_TX_IN4
|
||||
Job.parts_tax_rates?.PAL?.prt_tx_ty5?.Value, //PRT_TX_TY5
|
||||
Job.parts_tax_rates?.PAL?.prt_tx_in5?.Value //PRT_TX_IN5
|
||||
); ;
|
||||
|
||||
writer.AddRecord(
|
||||
Job.parts_tax_rates?.PAR?.prt_type?.Value, //PRT_TYPE
|
||||
Job.parts_tax_rates?.PAR?.prt_tax_in?.Value, //PRT_TAX_IN
|
||||
Job.parts_tax_rates?.PAR?.prt_tax_rt?.Value, //PRT_TAX_RT
|
||||
Job.parts_tax_rates?.PAR?.prt_mkupp?.Value, //PRT_MKUPP
|
||||
Job.parts_tax_rates?.PAR?.prt_mktyp?.Value, //PRT_MKTYP
|
||||
Job.parts_tax_rates?.PAR?.prt_discp?.Value, //PRT_DISCP
|
||||
Job.parts_tax_rates?.PAR?.prt_tx_ty1?.Value, //PRT_TX_TY1
|
||||
Job.parts_tax_rates?.PAR?.prt_tx_in1?.Value, //PRT_TX_IN1
|
||||
Job.parts_tax_rates?.PAR?.prt_tx_ty2?.Value, //PRT_TX_TY2
|
||||
Job.parts_tax_rates?.PAR?.prt_tx_in2?.Value, //PRT_TX_IN2
|
||||
Job.parts_tax_rates?.PAR?.prt_tx_ty3?.Value, //PRT_TX_TY3
|
||||
Job.parts_tax_rates?.PAR?.prt_tx_in3?.Value, //PRT_TX_IN3
|
||||
Job.parts_tax_rates?.PAR?.prt_tx_ty4?.Value, //PRT_TX_TY4
|
||||
Job.parts_tax_rates?.PAR?.prt_tx_in4?.Value, //PRT_TX_IN4
|
||||
Job.parts_tax_rates?.PAR?.prt_tx_ty5?.Value, //PRT_TX_TY5
|
||||
Job.parts_tax_rates?.PAR?.prt_tx_in5?.Value //PRT_TX_IN5
|
||||
); ;
|
||||
|
||||
writer.AddRecord(
|
||||
Job.parts_tax_rates?.PAC?.prt_type?.Value, //PRT_TYPE
|
||||
Job.parts_tax_rates?.PAC?.prt_tax_in?.Value, //PRT_TAX_IN
|
||||
Job.parts_tax_rates?.PAC?.prt_tax_rt?.Value, //PRT_TAX_RT
|
||||
Job.parts_tax_rates?.PAC?.prt_mkupp?.Value, //PRT_MKUPP
|
||||
Job.parts_tax_rates?.PAC?.prt_mktyp?.Value, //PRT_MKTYP
|
||||
Job.parts_tax_rates?.PAC?.prt_discp?.Value, //PRT_DISCP
|
||||
Job.parts_tax_rates?.PAC?.prt_tx_ty1?.Value, //PRT_TX_TY1
|
||||
Job.parts_tax_rates?.PAC?.prt_tx_in1?.Value, //PRT_TX_IN1
|
||||
Job.parts_tax_rates?.PAC?.prt_tx_ty2?.Value, //PRT_TX_TY2
|
||||
Job.parts_tax_rates?.PAC?.prt_tx_in2?.Value, //PRT_TX_IN2
|
||||
Job.parts_tax_rates?.PAC?.prt_tx_ty3?.Value, //PRT_TX_TY3
|
||||
Job.parts_tax_rates?.PAC?.prt_tx_in3?.Value, //PRT_TX_IN3
|
||||
Job.parts_tax_rates?.PAC?.prt_tx_ty4?.Value, //PRT_TX_TY4
|
||||
Job.parts_tax_rates?.PAC?.prt_tx_in4?.Value, //PRT_TX_IN4
|
||||
Job.parts_tax_rates?.PAC?.prt_tx_ty5?.Value, //PRT_TX_TY5
|
||||
Job.parts_tax_rates?.PAC?.prt_tx_in5?.Value //PRT_TX_IN5
|
||||
); ;
|
||||
|
||||
writer.AddRecord(
|
||||
Job.parts_tax_rates?.PAM?.prt_type?.Value, //PRT_TYPE
|
||||
Job.parts_tax_rates?.PAM?.prt_tax_in?.Value, //PRT_TAX_IN
|
||||
Job.parts_tax_rates?.PAM?.prt_tax_rt?.Value, //PRT_TAX_RT
|
||||
Job.parts_tax_rates?.PAM?.prt_mkupp?.Value, //PRT_MKUPP
|
||||
Job.parts_tax_rates?.PAM?.prt_mktyp?.Value, //PRT_MKTYP
|
||||
Job.parts_tax_rates?.PAM?.prt_discp?.Value, //PRT_DISCP
|
||||
Job.parts_tax_rates?.PAM?.prt_tx_ty1?.Value, //PRT_TX_TY1
|
||||
Job.parts_tax_rates?.PAM?.prt_tx_in1?.Value, //PRT_TX_IN1
|
||||
Job.parts_tax_rates?.PAM?.prt_tx_ty2?.Value, //PRT_TX_TY2
|
||||
Job.parts_tax_rates?.PAM?.prt_tx_in2?.Value, //PRT_TX_IN2
|
||||
Job.parts_tax_rates?.PAM?.prt_tx_ty3?.Value, //PRT_TX_TY3
|
||||
Job.parts_tax_rates?.PAM?.prt_tx_in3?.Value, //PRT_TX_IN3
|
||||
Job.parts_tax_rates?.PAM?.prt_tx_ty4?.Value, //PRT_TX_TY4
|
||||
Job.parts_tax_rates?.PAM?.prt_tx_in4?.Value, //PRT_TX_IN4
|
||||
Job.parts_tax_rates?.PAM?.prt_tx_ty5?.Value, //PRT_TX_TY5
|
||||
Job.parts_tax_rates?.PAM?.prt_tx_in5?.Value //PRT_TX_IN5
|
||||
); ;
|
||||
|
||||
writer.AddRecord(
|
||||
Job.parts_tax_rates?.PAS?.prt_type?.Value, //PRT_TYPE
|
||||
Job.parts_tax_rates?.PAS?.prt_tax_in?.Value, //PRT_TAX_IN
|
||||
Job.parts_tax_rates?.PAS?.prt_tax_rt?.Value, //PRT_TAX_RT
|
||||
Job.parts_tax_rates?.PAS?.prt_mkupp?.Value, //PRT_MKUPP
|
||||
Job.parts_tax_rates?.PAS?.prt_mktyp?.Value, //PRT_MKTYP
|
||||
Job.parts_tax_rates?.PAS?.prt_discp?.Value, //PRT_DISCP
|
||||
Job.parts_tax_rates?.PAS?.prt_tx_ty1?.Value, //PRT_TX_TY1
|
||||
Job.parts_tax_rates?.PAS?.prt_tx_in1?.Value, //PRT_TX_IN1
|
||||
Job.parts_tax_rates?.PAS?.prt_tx_ty2?.Value, //PRT_TX_TY2
|
||||
Job.parts_tax_rates?.PAS?.prt_tx_in2?.Value, //PRT_TX_IN2
|
||||
Job.parts_tax_rates?.PAS?.prt_tx_ty3?.Value, //PRT_TX_TY3
|
||||
Job.parts_tax_rates?.PAS?.prt_tx_in3?.Value, //PRT_TX_IN3
|
||||
Job.parts_tax_rates?.PAS?.prt_tx_ty4?.Value, //PRT_TX_TY4
|
||||
Job.parts_tax_rates?.PAS?.prt_tx_in4?.Value, //PRT_TX_IN4
|
||||
Job.parts_tax_rates?.PAS?.prt_tx_ty5?.Value, //PRT_TX_TY5
|
||||
Job.parts_tax_rates?.PAS?.prt_tx_in5?.Value //PRT_TX_IN5
|
||||
); ;
|
||||
|
||||
writer.AddRecord(
|
||||
Job.parts_tax_rates?.PAA?.prt_type?.Value, //PRT_TYPE
|
||||
Job.parts_tax_rates?.PAA?.prt_tax_in?.Value, //PRT_TAX_IN
|
||||
Job.parts_tax_rates?.PAA?.prt_tax_rt?.Value, //PRT_TAX_RT
|
||||
Job.parts_tax_rates?.PAA?.prt_mkupp?.Value, //PRT_MKUPP
|
||||
Job.parts_tax_rates?.PAA?.prt_mktyp?.Value, //PRT_MKTYP
|
||||
Job.parts_tax_rates?.PAA?.prt_discp?.Value, //PRT_DISCP
|
||||
Job.parts_tax_rates?.PAA?.prt_tx_ty1?.Value, //PRT_TX_TY1
|
||||
Job.parts_tax_rates?.PAA?.prt_tx_in1?.Value, //PRT_TX_IN1
|
||||
Job.parts_tax_rates?.PAA?.prt_tx_ty2?.Value, //PRT_TX_TY2
|
||||
Job.parts_tax_rates?.PAA?.prt_tx_in2?.Value, //PRT_TX_IN2
|
||||
Job.parts_tax_rates?.PAA?.prt_tx_ty3?.Value, //PRT_TX_TY3
|
||||
Job.parts_tax_rates?.PAA?.prt_tx_in3?.Value, //PRT_TX_IN3
|
||||
Job.parts_tax_rates?.PAA?.prt_tx_ty4?.Value, //PRT_TX_TY4
|
||||
Job.parts_tax_rates?.PAA?.prt_tx_in4?.Value, //PRT_TX_IN4
|
||||
Job.parts_tax_rates?.PAA?.prt_tx_ty5?.Value, //PRT_TX_TY5
|
||||
Job.parts_tax_rates?.PAA?.prt_tx_in5?.Value //PRT_TX_IN5
|
||||
); ;
|
||||
|
||||
|
||||
writer.Write(fileStream);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logger.Error(ex, "Error when creating PFP file.");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static void GeneratePftFile(dynamic Job)
|
||||
{
|
||||
try
|
||||
{
|
||||
DBFField[] StandardEmsFields = ReadDbfFields(emsBasePath + @"\EMS.PFT");
|
||||
|
||||
using (var fileStream = File.Create(TempEmsDir + $@"\{GenerateFileName(Job)}.PFT"))
|
||||
{
|
||||
using (var writer = new DBFWriter())
|
||||
{
|
||||
writer.CharEncoding = DbfFileCharEncoding;
|
||||
writer.Signature = DbfFileSignature;
|
||||
writer.LanguageDriver = DbfFileLanguageDriver;
|
||||
|
||||
writer.Fields = StandardEmsFields;
|
||||
|
||||
|
||||
writer.Write(fileStream);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logger.Error(ex, "Error when creating PFT file.");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user