diff --git a/BodyshopUploader/Models/Monitor.cs b/BodyshopUploader/Models/Monitor.cs index 0b74053..992a4c5 100644 --- a/BodyshopUploader/Models/Monitor.cs +++ b/BodyshopUploader/Models/Monitor.cs @@ -48,12 +48,14 @@ namespace BodyshopUploader.Models logger.Debug("Starting folder monitor for path {0}", FilePath); System.IO.Directory.CreateDirectory(FilePath); FolderMonitor = new Utils.CIECAMonitor(FilePath); + OnPropertyChanged( nameof(FolderMonitor)); } public void StopMonitor() { logger.Debug("Stopping folder monitor for path {0}", FilePath); FolderMonitor?.Dispose(); + OnPropertyChanged(nameof(FolderMonitor)); } } } diff --git a/BodyshopUploader/Utils/Decoder/EstimateDecoder.cs b/BodyshopUploader/Utils/Decoder/EstimateDecoder.cs index 853ae46..c95b476 100644 --- a/BodyshopUploader/Utils/Decoder/EstimateDecoder.cs +++ b/BodyshopUploader/Utils/Decoder/EstimateDecoder.cs @@ -62,11 +62,11 @@ namespace BodyshopUploader.Utils.Decoder "CLM_CT_FN","CLM_TITLE","CLM_CT_PH","CLM_CT_PHX","CLM_EA","PAYEE_NMS","PAY_TYPE","PAY_DATE","PAY_CHKNM","PAY_AMT","AGT_CO_ID","AGT_CO_NM", "AGT_ADDR1","AGT_ADDR2","AGT_CITY","AGT_ST","AGT_ZIP","AGT_CTRY","AGT_PH1","AGT_PH1X","AGT_PH2","AGT_PH2X","AGT_FAX","AGT_FAXX","AGT_CT_LN", "AGT_CT_FN","AGT_CT_PH","AGT_CT_PHX","AGT_EA","AGT_LIC_NO", - "LOSS_DATE","LOSS_CAT","LOSS_TYPE","LOSS_DESC","THEFT_IND","CAT_NO", + "LOSS_DATE","LOSS_TYPE","LOSS_DESC","THEFT_IND","CAT_NO", "TLOS_IND","CUST_PR","INSD_LN","INSD_FN","INSD_TITLE","INSD_CO_NM","INSD_ADDR1","INSD_ADDR2","INSD_CITY","INSD_ST","INSD_ZIP", "INSD_CTRY","INSD_PH1","INSD_PH1X","INSD_PH2","INSD_PH2X","INSD_FAX","INSD_FAXX","INSD_EA","OWNR_LN","OWNR_FN","OWNR_TITLE","OWNR_CO_NM", "OWNR_ADDR1","OWNR_ADDR2","OWNR_CITY","OWNR_ST","OWNR_ZIP","OWNR_CTRY","OWNR_PH1","OWNR_PH1X","OWNR_PH2","OWNR_PH2X","OWNR_FAX","OWNR_FAXX", - "OWNR_EA", "INS_PH1","INS_PH1X","INS_PH2","INS_PH2X","INS_FAX","INS_FAXX","INS_CT_LN","INS_CT_FN","INS_TITLE","INS_CT_PH","INS_CT_PHX" + "OWNR_EA", "INS_PH1","INS_PH1X","INS_PH2","INS_PH2X","INS_FAX","INS_FAXX","INS_CT_LN","INS_CT_FN","INS_TITLE","INS_CT_PH","INS_CT_PHX", "LOSS_CAT", }); var readValues = reader.NextRecord(); @@ -153,37 +153,37 @@ namespace BodyshopUploader.Utils.Decoder j.insd_ph2 = readValues[80]?.ToString(); j.insd_ph2x = readValues[81]?.ToString(); j.insd_fax = readValues[82]?.ToString(); - j.insd_faxx = readValues[82]?.ToString(); - j.insd_ea = readValues[83]?.ToString(); - j.ownr_ln = readValues[84]?.ToString(); - j.ownr_fn = readValues[85]?.ToString(); - j.ownr_title = readValues[86]?.ToString(); - j.ownr_co_nm = readValues[87]?.ToString(); - j.ownr_addr1 = readValues[88]?.ToString(); - j.ownr_addr2 = readValues[89]?.ToString(); - j.ownr_city = readValues[90]?.ToString(); - j.ownr_st = readValues[91]?.ToString(); - j.ownr_zip = readValues[92]?.ToString(); - j.ownr_ctry = readValues[93]?.ToString(); - j.ownr_ph1 = readValues[94]?.ToString(); - j.ownr_ph1x = readValues[95]?.ToString(); - j.ownr_ph2 = readValues[96]?.ToString(); - j.ownr_ph2x = readValues[97]?.ToString(); - j.ownr_fax = readValues[98]?.ToString(); - j.ownr_faxx = readValues[99]?.ToString(); - j.ownr_ea = readValues[100]?.ToString(); - j.ins_ph1 = readValues[101]?.ToString(); - j.ins_ph1x = readValues[102]?.ToString(); - j.ins_ph2 = readValues[103]?.ToString(); - j.ins_ph2x = readValues[104]?.ToString(); - j.ins_fax = readValues[105]?.ToString(); - j.ins_faxx = readValues[106]?.ToString(); - j.ins_ct_ln = readValues[107]?.ToString(); - j.ins_ct_fn = readValues[108]?.ToString(); - j.ins_title = readValues[109]?.ToString(); - j.ins_ct_ph = readValues[110]?.ToString(); - j.ins_ct_phx = readValues[111]?.ToString(); - + j.insd_faxx = readValues[83]?.ToString(); + j.insd_ea = readValues[84]?.ToString(); + j.ownr_ln = readValues[85]?.ToString(); + j.ownr_fn = readValues[86]?.ToString(); + j.ownr_title = readValues[87]?.ToString(); + j.ownr_co_nm = readValues[88]?.ToString(); + j.ownr_addr1 = readValues[89]?.ToString(); + j.ownr_addr2 = readValues[90]?.ToString(); + j.ownr_city = readValues[91]?.ToString(); + j.ownr_st = readValues[92]?.ToString(); + j.ownr_zip = readValues[93]?.ToString(); + j.ownr_ctry = readValues[94]?.ToString(); + j.ownr_ph1 = readValues[95]?.ToString(); + j.ownr_ph1x = readValues[96]?.ToString(); + j.ownr_ph2 = readValues[97]?.ToString(); + j.ownr_ph2x = readValues[98]?.ToString(); + j.ownr_fax = readValues[99]?.ToString(); + j.ownr_faxx = readValues[100]?.ToString(); + j.ownr_ea = readValues[101]?.ToString(); + j.ins_ph1 = readValues[102]?.ToString(); + j.ins_ph1x = readValues[103]?.ToString(); + j.ins_ph2 = readValues[104]?.ToString(); + j.ins_ph2x = readValues[105]?.ToString(); + j.ins_fax = readValues[106]?.ToString(); + j.ins_faxx = readValues[107]?.ToString(); + j.ins_ct_ln = readValues[108]?.ToString(); + j.ins_ct_fn = readValues[109]?.ToString(); + j.ins_title = readValues[110]?.ToString(); + j.ins_ct_ph = readValues[111]?.ToString(); + j.ins_ct_phx = readValues[112]?.ToString(); + j.loss_cat = readValues[113]?.ToString(); j.shopid = AppMetaData.ActiveShopId; return; @@ -224,11 +224,11 @@ namespace BodyshopUploader.Utils.Decoder "CLM_CT_FN","CLM_TITLE","CLM_CT_PH","CLM_CT_PHX","CLM_EA","PAYEE_NMS","PAY_TYPE","PAY_DATE","PAY_CHKNM","PAY_AMT","AGT_CO_ID","AGT_CO_NM", "AGT_ADDR1","AGT_ADDR2","AGT_CITY","AGT_ST","AGT_ZIP","AGT_CTRY","AGT_PH1","AGT_PH1X","AGT_PH2","AGT_PH2X","AGT_FAX","AGT_FAXX","AGT_CT_LN", "AGT_CT_FN","AGT_CT_PH","AGT_CT_PHX","AGT_EA","AGT_LIC_NO", - "LOSS_DATE","LOSS_CAT","LOSS_TYPE","LOSS_DESC","THEFT_IND","CAT_NO", + "LOSS_DATE","LOSS_TYPE","LOSS_DESC","THEFT_IND","CAT_NO", "TLOS_IND","CUST_PR","INSD_LN","INSD_FN","INSD_TITLE","INSD_CO_NM","INSD_ADDR1","INSD_ADDR2","INSD_CITY","INSD_ST","INSD_ZIP", "INSD_CTRY","INSD_PH1","INSD_PH1X","INSD_PH2","INSD_PH2X","INSD_FAX","INSD_FAXX","INSD_EA","OWNR_LN","OWNR_FN","OWNR_TITLE","OWNR_CO_NM", "OWNR_ADDR1","OWNR_ADDR2","OWNR_CITY","OWNR_ST","OWNR_ZIP","OWNR_CTRY","OWNR_PH1","OWNR_PH1X","OWNR_PH2","OWNR_PH2X","OWNR_FAX","OWNR_FAXX", - "OWNR_EA", "INS_PH1","INS_PH1X","INS_PH2","INS_PH2X","INS_FAX","INS_FAXX","INS_CT_LN","INS_CT_FN","INS_TITLE","INS_CT_PH","INS_CT_PHX" + "OWNR_EA", "INS_PH1","INS_PH1X","INS_PH2","INS_PH2X","INS_FAX","INS_FAXX","INS_CT_LN","INS_CT_FN","INS_TITLE","INS_CT_PH","INS_CT_PHX", "LOSS_CAT" }); var readValues = reader.NextRecord(); @@ -345,7 +345,7 @@ namespace BodyshopUploader.Utils.Decoder j.ins_title = readValues[109]?.ToString(); j.ins_ct_ph = readValues[110]?.ToString(); j.ins_ct_phx = readValues[111]?.ToString(); - + j.loss_cat = readValues[112]?.ToString(); j.shopid = AppMetaData.ActiveShopId; return; @@ -396,7 +396,7 @@ namespace BodyshopUploader.Utils.Decoder "TRIM_COLOR", "V_MLDGCODE", "V_ENGINE", - + "V_COLOR", "V_TONE", "V_STAGE", @@ -429,7 +429,7 @@ namespace BodyshopUploader.Utils.Decoder v.trim_color = readValues[15]?.ToString(); v.v_mldgcode = readValues[16]?.ToString(); v.v_engine = readValues[17]?.ToString(); - // v.v_options = readValues[18]?.ToString(); + // v.v_options = readValues[18]?.ToString(); v.v_color = readValues[18]?.ToString(); v.v_tone = readValues[19]?.ToString(); v.v_stage = readValues[20]?.ToString(); @@ -529,7 +529,7 @@ namespace BodyshopUploader.Utils.Decoder } } } - + public static void ParseLinFile(ref dynamic j, string RootFilePath) { if (string.IsNullOrWhiteSpace(j.ciecaid.Value)) { return; } diff --git a/BodyshopUploader/Utils/GraphQL.cs b/BodyshopUploader/Utils/GraphQL.cs index 4f1b8f6..11e43e1 100644 --- a/BodyshopUploader/Utils/GraphQL.cs +++ b/BodyshopUploader/Utils/GraphQL.cs @@ -9,7 +9,7 @@ using System.Threading.Tasks; namespace BodyshopUploader.Utils { - public static class GraphQL + public static class GraphQL { private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); @@ -33,10 +33,11 @@ namespace BodyshopUploader.Utils } else { + string exceptionString = ""; logger.Error("Error executing query."); - Array.ForEach(graphQLResponse.Errors, x => logger.Error(x.Message)); + Array.ForEach(graphQLResponse.Errors, x => { logger.Error(x.Message); exceptionString = exceptionString + x + ";"; }); logger.Error("---------------------"); - return null; + throw new Exception(exceptionString); } } } diff --git a/BodyshopUploader/Utils/JobProcessingQueue.cs b/BodyshopUploader/Utils/JobProcessingQueue.cs index 113e561..937ee82 100644 --- a/BodyshopUploader/Utils/JobProcessingQueue.cs +++ b/BodyshopUploader/Utils/JobProcessingQueue.cs @@ -100,22 +100,21 @@ namespace BodyshopUploader.Utils jobInput = item.Job } }; - - var d = await Utils.GraphQL.ExecuteQuery(r); - if (d != null) + try { + var d = await Utils.GraphQL.ExecuteQuery(r); logger.Trace("Job insert succesful. Show notification"); App.Current.Dispatcher.Invoke(() => { Growler.AddNotification(new Notification() { Title = Properties.Resources.Msg_NewJobUploaded, - Subtitle = item.Job?.owner?.data.first_name?.Value + " " + item.Job?.owner?.data.last_name?.Value, + Subtitle = item.Job?.ownr_fn?.Value + " " + item.Job?.ownr_ln?.Value + " | " + item.Job?.clm_no?.Value, Message = item.Job?.vehicle?.data.v_model_yr?.Value + " " + item.Job?.vehicle?.data.v_make_desc?.Value + " " + item.Job?.vehicle?.data.v_model_desc?.Value }); }); } - else + catch (Exception Ex) { logger.Error("Job insert failed. Show notification"); //Succesful upsert @@ -124,9 +123,9 @@ namespace BodyshopUploader.Utils Growler.AddNotification(new Notification() { Title = Properties.Resources.Msg_NewJobUploadError, - Subtitle = item.Job.owner?.first_name?.Value + " " + item.Job.owner?.last_name?.Value, - Message = item.Job.vehicle?.v_model_yr?.Value + " " + item.Job.vehicle?.v_make_desc?.Value + " " + item.Job.vehicle?.v_model_desc?.Value - }); + Subtitle = item.Job?.ownr_fn?.Value + " " + item.Job?.ownr_ln?.Value, + Message = Ex.Message + }); ; }); } _jobs.Dequeue(); diff --git a/BodyshopUploader/Views/Main.xaml b/BodyshopUploader/Views/Main.xaml index db487d7..092d9ab 100644 --- a/BodyshopUploader/Views/Main.xaml +++ b/BodyshopUploader/Views/Main.xaml @@ -98,6 +98,8 @@ Header="{x:Static p:Resources.Label_FilePath}" /> + @@ -112,6 +114,7 @@ +