Fixed notification + added saving of active shop id.
This commit is contained in:
@@ -9,6 +9,6 @@ namespace BodyshopUploader.Utils
|
||||
public static class AppMetaData
|
||||
{
|
||||
public static string FirebaseAPIKey_DEV = "AIzaSyDV9MsSHZmpLtjoaTK_ObvjFaJ-nMSd2KA";
|
||||
|
||||
public static string ActiveShopId = Properties.Settings.Default.LastSelectedShop;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -184,6 +184,169 @@ namespace BodyshopUploader.Utils.Decoder
|
||||
j.ins_ct_ph = readValues[110]?.ToString();
|
||||
j.ins_ct_phx = readValues[111]?.ToString();
|
||||
|
||||
j.shopid = AppMetaData.ActiveShopId;
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch (IOException ex)
|
||||
{
|
||||
logger.Trace(ex, "Unable to open AD1 file. Retrying. ");
|
||||
retryNumber++;
|
||||
Thread.Sleep(3000);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static void ParseAd2File(ref dynamic j, string RootFilePath)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(j.ciecaid.Value))
|
||||
{
|
||||
return;
|
||||
}
|
||||
logger.Trace(@"Parsing AD2 at: {0}{1}", RootFilePath, j.ciecaid.Value);
|
||||
|
||||
int retryNumber = 0;
|
||||
while (retryNumber < 11)
|
||||
{
|
||||
try
|
||||
{
|
||||
using (Stream fis = File.Open(RootFilePath + j.ciecaid.Value + "A.ad2", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
|
||||
{
|
||||
var reader = new DBFReader(fis);
|
||||
|
||||
reader.SetSelectFields(new string[] { "INS_CO_ID","INS_CO_NM","INS_ADDR1","INS_ADDR2","INS_CITY","INS_ST","INS_ZIP","INS_CTRY",
|
||||
|
||||
"INS_EA","POLICY_NO","DED_AMT","DED_STATUS","ASGN_NO","ASGN_DATE","ASGN_TYPE","CLM_NO","CLM_OFC_ID","CLM_OFC_NM","CLM_ADDR1",
|
||||
"CLM_ADDR2","CLM_CITY","CLM_ST","CLM_ZIP","CLM_CTRY","CLM_PH1","CLM_PH1X","CLM_PH2","CLM_PH2X","CLM_FAX","CLM_FAXX","CLM_CT_LN",
|
||||
"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",
|
||||
"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"
|
||||
});
|
||||
var readValues = reader.NextRecord();
|
||||
|
||||
j.ins_co_id = readValues[0]?.ToString();
|
||||
j.ins_co_nm = readValues[1]?.ToString();
|
||||
j.ins_addr1 = readValues[2]?.ToString();
|
||||
j.ins_addr2 = readValues[3]?.ToString();
|
||||
j.ins_city = readValues[4]?.ToString();
|
||||
j.ins_st = readValues[5]?.ToString();
|
||||
j.ins_zip = readValues[6]?.ToString();
|
||||
j.ins_ctry = readValues[7]?.ToString();
|
||||
j.ins_ea = readValues[8]?.ToString();
|
||||
j.policy_no = readValues[9]?.ToString();
|
||||
j.ded_amt = readValues[10]?.ToString();
|
||||
j.ded_status = readValues[11]?.ToString();
|
||||
j.asgn_no = readValues[12]?.ToString();
|
||||
j.asgn_date = readValues[13]?.ToString();
|
||||
j.asgn_type = readValues[14]?.ToString();
|
||||
j.clm_no = readValues[15]?.ToString();
|
||||
j.clm_ofc_id = readValues[16]?.ToString();
|
||||
j.clm_ofc_nm = readValues[17]?.ToString();
|
||||
j.clm_addr1 = readValues[18]?.ToString();
|
||||
j.clm_addr2 = readValues[19]?.ToString();
|
||||
j.clm_city = readValues[20]?.ToString();
|
||||
j.clm_st = readValues[21]?.ToString();
|
||||
j.clm_zip = readValues[22]?.ToString();
|
||||
j.clm_ctry = readValues[23]?.ToString();
|
||||
j.clm_ph1 = readValues[24]?.ToString();
|
||||
j.clm_ph1x = readValues[25]?.ToString();
|
||||
j.clm_ph2 = readValues[26]?.ToString();
|
||||
j.clm_ph2x = readValues[27]?.ToString();
|
||||
j.clm_fax = readValues[28]?.ToString();
|
||||
j.clm_faxx = readValues[29]?.ToString();
|
||||
j.clm_ct_ln = readValues[30]?.ToString();
|
||||
j.clm_ct_fn = readValues[31]?.ToString();
|
||||
j.clm_title = readValues[32]?.ToString();
|
||||
j.clm_ct_ph = readValues[33]?.ToString();
|
||||
j.clm_ct_phx = readValues[34]?.ToString();
|
||||
j.clm_ea = readValues[35]?.ToString();
|
||||
j.payee_nms = readValues[36]?.ToString();
|
||||
j.pay_type = readValues[37]?.ToString();
|
||||
j.pay_date = readValues[38]?.ToString();
|
||||
j.pay_chknm = readValues[39]?.ToString();
|
||||
j.pay_amt = readValues[40]?.ToString();
|
||||
j.agt_co_id = readValues[41]?.ToString();
|
||||
j.agt_co_nm = readValues[42]?.ToString();
|
||||
j.agt_addr1 = readValues[43]?.ToString();
|
||||
j.agt_addr2 = readValues[44]?.ToString();
|
||||
j.agt_city = readValues[45]?.ToString();
|
||||
j.agt_st = readValues[46]?.ToString();
|
||||
j.agt_zip = readValues[47]?.ToString();
|
||||
j.agt_ctry = readValues[48]?.ToString();
|
||||
j.agt_ph1 = readValues[49]?.ToString();
|
||||
j.agt_ph1x = readValues[50]?.ToString();
|
||||
j.agt_ph2 = readValues[51]?.ToString();
|
||||
j.agt_ph2x = readValues[52]?.ToString();
|
||||
j.agt_fax = readValues[53]?.ToString();
|
||||
j.agt_faxx = readValues[54]?.ToString();
|
||||
j.agt_ct_ln = readValues[55]?.ToString();
|
||||
j.agt_ct_fn = readValues[56]?.ToString();
|
||||
j.agt_ct_ph = readValues[57]?.ToString();
|
||||
j.agt_ct_phx = readValues[58]?.ToString();
|
||||
j.agt_ea = readValues[59]?.ToString();
|
||||
j.agt_lic_no = readValues[60]?.ToString();
|
||||
j.loss_date = readValues[61]?.ToString();
|
||||
j.loss_type = readValues[62]?.ToString();
|
||||
j.loss_desc = readValues[63]?.ToString();
|
||||
j.theft_ind = readValues[64]?.ToString(); //BOOL
|
||||
j.cat_no = readValues[65]?.ToString();
|
||||
j.tlos_ind = readValues[66]?.ToString();
|
||||
j.cust_pr = readValues[67]?.ToString();
|
||||
j.insd_ln = readValues[68]?.ToString();
|
||||
j.insd_fn = readValues[69]?.ToString();
|
||||
j.insd_title = readValues[70]?.ToString();
|
||||
j.insd_co_nm = readValues[71]?.ToString();
|
||||
j.insd_addr1 = readValues[72]?.ToString();
|
||||
j.insd_addr2 = readValues[73]?.ToString();
|
||||
j.insd_city = readValues[74]?.ToString();
|
||||
j.insd_st = readValues[75]?.ToString();
|
||||
j.insd_zip = readValues[76]?.ToString();
|
||||
j.insd_ctry = readValues[77]?.ToString();
|
||||
j.insd_ph1 = readValues[78]?.ToString();
|
||||
j.insd_ph1x = readValues[79]?.ToString();
|
||||
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.shopid = AppMetaData.ActiveShopId;
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -279,6 +442,8 @@ namespace BodyshopUploader.Utils.Decoder
|
||||
|
||||
j.vehicle = new JObject();
|
||||
j.vehicle.data = v;
|
||||
|
||||
v.shopid = AppMetaData.ActiveShopId;
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -297,8 +462,6 @@ namespace BodyshopUploader.Utils.Decoder
|
||||
|
||||
logger.Trace(@"Parsing Ttl at: {0}{1}", RootFilePath, j.ciecaid.Value);
|
||||
|
||||
|
||||
|
||||
int retryNumber = 0;
|
||||
while (retryNumber < 11)
|
||||
{
|
||||
@@ -366,8 +529,7 @@ namespace BodyshopUploader.Utils.Decoder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static void ParseLinFile(ref dynamic j, string RootFilePath)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(j.ciecaid.Value)) { return; }
|
||||
|
||||
@@ -34,7 +34,8 @@ namespace BodyshopUploader.Utils
|
||||
else
|
||||
{
|
||||
logger.Error("Error executing query.");
|
||||
Array.ForEach(graphQLResponse.Errors, x => logger.Error(x.ToString()));
|
||||
Array.ForEach(graphQLResponse.Errors, x => logger.Error(x.Message));
|
||||
logger.Error("---------------------");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ using BodyshopUploader.Utils;
|
||||
using BodyshopUploader.Models;
|
||||
using BodyshopUploader.Utils.Growls;
|
||||
using GraphQL.Common.Request;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace BodyshopUploader.Utils
|
||||
{
|
||||
@@ -46,7 +47,7 @@ namespace BodyshopUploader.Utils
|
||||
}
|
||||
}
|
||||
|
||||
private static void ProcessQueuedItems(object ignored)
|
||||
private static async void ProcessQueuedItems(object ignored)
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
@@ -66,7 +67,7 @@ namespace BodyshopUploader.Utils
|
||||
{
|
||||
Thread.Sleep(1000);//Allow a small amount of time to pass before processing the queue item so that any writes can finish.
|
||||
DecodeQueueItemJob(item);
|
||||
UpsertQueueItem(item);
|
||||
await UpsertQueueItem(item);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -83,13 +84,7 @@ namespace BodyshopUploader.Utils
|
||||
}
|
||||
|
||||
private static async Task UpsertQueueItem(DTO_QueueItem item)
|
||||
{
|
||||
item.Job.shopid = "52b7357c-0edd-4c95-85c3-dfdbcdfad9ac";
|
||||
item.Job.est_number = "123";
|
||||
item.Job.vehicle.data.shopid = "52b7357c-0edd-4c95-85c3-dfdbcdfad9ac";
|
||||
|
||||
logger.Info("Manually setting the shop id! {0}", item.Job);
|
||||
|
||||
{
|
||||
var r = new GraphQLRequest
|
||||
{
|
||||
Query = @"
|
||||
@@ -101,52 +96,40 @@ namespace BodyshopUploader.Utils
|
||||
}
|
||||
}",
|
||||
Variables = new
|
||||
{
|
||||
{
|
||||
jobInput = item.Job
|
||||
}
|
||||
};
|
||||
|
||||
var d = await Utils.GraphQL.ExecuteQuery(r);
|
||||
if(d!= null)
|
||||
if (d != null)
|
||||
{
|
||||
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,
|
||||
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
|
||||
{
|
||||
logger.Error("Job insert failed. Show notification");
|
||||
//Succesful upsert
|
||||
App.Current.Dispatcher.Invoke(() =>
|
||||
{
|
||||
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.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
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
_jobs.Dequeue();
|
||||
|
||||
App.Current.Dispatcher.Invoke(() =>
|
||||
{
|
||||
Growler.AddNotification(new Notification()
|
||||
{
|
||||
Title = Properties.Resources.Msg_NewJobUploaded,
|
||||
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
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
private static void MoveFile(string FullPath)
|
||||
{
|
||||
try
|
||||
{
|
||||
System.IO.Directory.CreateDirectory(System.IO.Path.GetDirectoryName(FullPath) + @"\Processed\");
|
||||
File.Move(FullPath, System.IO.Path.GetDirectoryName(FullPath) + @"\Processed\" + System.IO.Path.GetFileNameWithoutExtension(FullPath) + DateTime.Now.Ticks.ToString() + ".bak");
|
||||
|
||||
}
|
||||
catch (Exception Ex)
|
||||
{
|
||||
logger.Error(Ex, "Can't move file {0} - it's gone!", FullPath);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,6 +46,7 @@ namespace BodyshopUploader.ViewModels
|
||||
logger.Trace("Starting monitors if able to.");
|
||||
if (StartFolderMonitorsCommand.CanExecute(null))
|
||||
StartFolderMonitorsCommand.Execute(null);
|
||||
MonitoringPaths.CollectionChanged += MonitoringPathsChanged;
|
||||
}
|
||||
|
||||
private void bw_InitVm(object sender, DoWorkEventArgs e)
|
||||
@@ -60,7 +61,7 @@ namespace BodyshopUploader.ViewModels
|
||||
{
|
||||
MonitoringPaths.Add(new Models.Monitor() { FilePath = p });
|
||||
}
|
||||
MonitoringPaths.CollectionChanged += MonitoringPathsChanged;
|
||||
|
||||
_callingThread.ReportProgress(30);
|
||||
|
||||
//Cannot use await.
|
||||
@@ -192,6 +193,7 @@ namespace BodyshopUploader.ViewModels
|
||||
}
|
||||
Properties.Settings.Default.LastSelectedShop = ActiveShop.Id;
|
||||
Properties.Settings.Default.Save();
|
||||
Utils.AppMetaData.ActiveShopId = ActiveShop.Id;
|
||||
IndeterminateLoading = false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user