This commit is contained in:
@@ -350,106 +350,106 @@ namespace Sockeye.Biz
|
||||
|
||||
#region CASES
|
||||
|
||||
log.LogInformation("RFImport Cases");
|
||||
//case projects to be tags
|
||||
List<NameIdItem> CaseProjectList = new List<NameIdItem>();
|
||||
{
|
||||
res = await client.GetAsync($"{URL_ROCKFISH}api/rfcaseproject");
|
||||
responseText = await res.Content.ReadAsStringAsync();
|
||||
// log.LogInformation("RFImport Cases");
|
||||
// //case projects to be tags
|
||||
// List<NameIdItem> CaseProjectList = new List<NameIdItem>();
|
||||
// {
|
||||
// res = await client.GetAsync($"{URL_ROCKFISH}api/rfcaseproject");
|
||||
// responseText = await res.Content.ReadAsStringAsync();
|
||||
|
||||
var jaRFCaseProjectList = JArray.Parse(responseText);
|
||||
foreach (JObject jRFCaseProject in jaRFCaseProjectList)
|
||||
{
|
||||
CaseProjectList.Add(new NameIdItem() { Name = jRFCaseProject["name"].Value<string>(), Id = jRFCaseProject["id"].Value<long>() });
|
||||
// var jaRFCaseProjectList = JArray.Parse(responseText);
|
||||
// foreach (JObject jRFCaseProject in jaRFCaseProjectList)
|
||||
// {
|
||||
// CaseProjectList.Add(new NameIdItem() { Name = jRFCaseProject["name"].Value<string>(), Id = jRFCaseProject["id"].Value<long>() });
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
}
|
||||
{
|
||||
res = await client.GetAsync($"{URL_ROCKFISH}api/rfcase/list");
|
||||
responseText = await res.Content.ReadAsStringAsync();
|
||||
var jaRFCaseList = JArray.Parse(responseText);
|
||||
//some cases are missing the start date so substitute a close other case date (not critical but sb at least in the ballpark for list viewing purposes)
|
||||
DateTime dtTempCreated = new DateTime(2000, 1, 1, 0, 0, 0, DateTimeKind.Utc);
|
||||
foreach (JObject jRFCase in jaRFCaseList.Reverse())
|
||||
{
|
||||
// }
|
||||
// {
|
||||
// res = await client.GetAsync($"{URL_ROCKFISH}api/rfcase/list");
|
||||
// responseText = await res.Content.ReadAsStringAsync();
|
||||
// var jaRFCaseList = JArray.Parse(responseText);
|
||||
// //some cases are missing the start date so substitute a close other case date (not critical but sb at least in the ballpark for list viewing purposes)
|
||||
// DateTime dtTempCreated = new DateTime(2000, 1, 1, 0, 0, 0, DateTimeKind.Utc);
|
||||
// foreach (JObject jRFCase in jaRFCaseList.Reverse())
|
||||
// {
|
||||
|
||||
var g = new GZCase();
|
||||
g.CaseId = jRFCase["id"].Value<long>();
|
||||
g.Closed = DateUtil.EpochToDateNullIsNull(jRFCase["dtClosed"].Value<long?>());
|
||||
//NOTE: closed in rockfish was the date at midnight in GMT
|
||||
//so to be in the same day as here need to add a few hours, let's say 8 am for each so add 8 hours
|
||||
if (g.Closed != null)
|
||||
{
|
||||
g.Closed = ((DateTime)g.Closed).AddHours(16);
|
||||
}
|
||||
// var g = new GZCase();
|
||||
// g.CaseId = jRFCase["id"].Value<long>();
|
||||
// g.Closed = DateUtil.EpochToDateNullIsNull(jRFCase["dtClosed"].Value<long?>());
|
||||
// //NOTE: closed in rockfish was the date at midnight in GMT
|
||||
// //so to be in the same day as here need to add a few hours, let's say 8 am for each so add 8 hours
|
||||
// if (g.Closed != null)
|
||||
// {
|
||||
// g.Closed = ((DateTime)g.Closed).AddHours(16);
|
||||
// }
|
||||
|
||||
//fuckery to try to insert a at least semi close date when created date is missing
|
||||
DateTime? dtTemp = DateUtil.EpochToDateNullIsNull(jRFCase["dtCreated"].Value<long?>());
|
||||
if (dtTemp == null)
|
||||
{
|
||||
dtTemp = dtTempCreated;
|
||||
}
|
||||
else
|
||||
{
|
||||
dtTempCreated = (DateTime)dtTemp;
|
||||
}
|
||||
g.Created = (DateTime)dtTemp;
|
||||
g.Name = jRFCase["title"].Value<string>();
|
||||
g.Notes = jRFCase["notes"].Value<string>();
|
||||
// //fuckery to try to insert a at least semi close date when created date is missing
|
||||
// DateTime? dtTemp = DateUtil.EpochToDateNullIsNull(jRFCase["dtCreated"].Value<long?>());
|
||||
// if (dtTemp == null)
|
||||
// {
|
||||
// dtTemp = dtTempCreated;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// dtTempCreated = (DateTime)dtTemp;
|
||||
// }
|
||||
// g.Created = (DateTime)dtTemp;
|
||||
// g.Name = jRFCase["title"].Value<string>();
|
||||
// g.Notes = jRFCase["notes"].Value<string>();
|
||||
|
||||
var ver = jRFCase["releaseVersion"].Value<string>();
|
||||
if (!string.IsNullOrWhiteSpace(ver))
|
||||
g.Notes += $"\n-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nReleased on version:{ver}";
|
||||
// var ver = jRFCase["releaseVersion"].Value<string>();
|
||||
// if (!string.IsNullOrWhiteSpace(ver))
|
||||
// g.Notes += $"\n-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nReleased on version:{ver}";
|
||||
|
||||
var releaseNotes = jRFCase["releaseNotes"].Value<string>();
|
||||
if (!string.IsNullOrWhiteSpace(releaseNotes))
|
||||
g.Notes += $"\nRelease notes:{releaseNotes}";
|
||||
// var releaseNotes = jRFCase["releaseNotes"].Value<string>();
|
||||
// if (!string.IsNullOrWhiteSpace(releaseNotes))
|
||||
// g.Notes += $"\nRelease notes:{releaseNotes}";
|
||||
|
||||
//Project name to tags
|
||||
g.Tags.Add(CaseProjectList.FirstOrDefault(z => z.Id == jRFCase["rfCaseProjectId"].Value<long>()).Name.Replace("z_", "legacy-"));
|
||||
// //Project name to tags
|
||||
// g.Tags.Add(CaseProjectList.FirstOrDefault(z => z.Id == jRFCase["rfCaseProjectId"].Value<long>()).Name.Replace("z_", "legacy-"));
|
||||
|
||||
//priority to tags
|
||||
g.Tags.Add($"{jRFCase["priority"].Value<long>()}-priority");
|
||||
// //priority to tags
|
||||
// g.Tags.Add($"{jRFCase["priority"].Value<long>()}-priority");
|
||||
|
||||
//check for attachments and just add as a note, don't bother with actual transfer of attachment, there aren't a lot and most are way in the past and not required for anything
|
||||
//if needed in future can manually xfer it over from the rockfish.sqlite db directly using DB BRowser for sqlite which allows opening the blob from the rfcaseblob table and saving it
|
||||
res = await client.GetAsync($"{URL_ROCKFISH}api/rfcase/{g.CaseId}/attachments");
|
||||
responseText = await res.Content.ReadAsStringAsync();
|
||||
var jAttachments = JObject.Parse(responseText);
|
||||
if (jAttachments["attach"].Count() > 0)
|
||||
{
|
||||
g.Notes += "\n********\nRockfish attachments\n";
|
||||
foreach (JObject jAttachmentRecord in jAttachments["attach"])
|
||||
{
|
||||
g.Notes += $"File: \"{jAttachmentRecord["name"].Value<string>()}\", rfcaseblob table id: {jAttachmentRecord["id"].Value<long>()}\n";
|
||||
// //check for attachments and just add as a note, don't bother with actual transfer of attachment, there aren't a lot and most are way in the past and not required for anything
|
||||
// //if needed in future can manually xfer it over from the rockfish.sqlite db directly using DB BRowser for sqlite which allows opening the blob from the rfcaseblob table and saving it
|
||||
// res = await client.GetAsync($"{URL_ROCKFISH}api/rfcase/{g.CaseId}/attachments");
|
||||
// responseText = await res.Content.ReadAsStringAsync();
|
||||
// var jAttachments = JObject.Parse(responseText);
|
||||
// if (jAttachments["attach"].Count() > 0)
|
||||
// {
|
||||
// g.Notes += "\n********\nRockfish attachments\n";
|
||||
// foreach (JObject jAttachmentRecord in jAttachments["attach"])
|
||||
// {
|
||||
// g.Notes += $"File: \"{jAttachmentRecord["name"].Value<string>()}\", rfcaseblob table id: {jAttachmentRecord["id"].Value<long>()}\n";
|
||||
|
||||
}
|
||||
g.Notes += "\n********\n";
|
||||
}
|
||||
// }
|
||||
// g.Notes += "\n********\n";
|
||||
// }
|
||||
|
||||
GZCaseBiz biz = GZCaseBiz.GetBiz(ct);
|
||||
await biz.CreateAsync(g);
|
||||
// GZCaseBiz biz = GZCaseBiz.GetBiz(ct);
|
||||
// await biz.CreateAsync(g);
|
||||
|
||||
//attachments example 86400000
|
||||
// /api/rfcase/4360/attachments
|
||||
//{"dlkey":"ZFkAUpo1L0Gi3Q9aO5szkA","attach":[{"id":259,"name":"desired weight calcs.txt"}]}
|
||||
//{"dlkey":"iR6ncD70CkzkozyT0otA","attach":[]}
|
||||
// //attachments example 86400000
|
||||
// // /api/rfcase/4360/attachments
|
||||
// //{"dlkey":"ZFkAUpo1L0Gi3Q9aO5szkA","attach":[{"id":259,"name":"desired weight calcs.txt"}]}
|
||||
// //{"dlkey":"iR6ncD70CkzkozyT0otA","attach":[]}
|
||||
|
||||
|
||||
|
||||
|
||||
}// all cases loop
|
||||
// }// all cases loop
|
||||
|
||||
//Start next case with a new sequence caseid of 4444
|
||||
using (var command = ct.Database.GetDbConnection().CreateCommand())
|
||||
{
|
||||
command.CommandText = $"ALTER SEQUENCE agzcase_caseid_seq RESTART WITH 4444;";
|
||||
await ct.Database.OpenConnectionAsync();
|
||||
await command.ExecuteNonQueryAsync();
|
||||
await ct.Database.CloseConnectionAsync();
|
||||
}
|
||||
}
|
||||
// //Start next case with a new sequence caseid of 4444
|
||||
// using (var command = ct.Database.GetDbConnection().CreateCommand())
|
||||
// {
|
||||
// command.CommandText = $"ALTER SEQUENCE agzcase_caseid_seq RESTART WITH 4444;";
|
||||
// await ct.Database.OpenConnectionAsync();
|
||||
// await command.ExecuteNonQueryAsync();
|
||||
// await ct.Database.CloseConnectionAsync();
|
||||
// }
|
||||
// }
|
||||
|
||||
#endregion cases
|
||||
|
||||
|
||||
@@ -1046,7 +1046,6 @@ $BODY$ LANGUAGE PLPGSQL STABLE");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'SubServerTrialCompany', 'Trial company' FROM atranslation t where t.baselanguage = 'en'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'SubServerOperatingSystem', 'OS' FROM atranslation t where t.baselanguage = 'en'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'SubServerCustomerDomain', 'Customer subdomain' FROM atranslation t where t.baselanguage = 'en'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ServerState', 'Server state' FROM atranslation t where t.baselanguage = 'en'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ServerStateRequested', 'Requested' FROM atranslation t where t.baselanguage = 'en'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ServerStateActiveHealthy', 'Active healthy' FROM atranslation t where t.baselanguage = 'en'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ServerStateActiveRequiresAttention', 'Active requires attention' FROM atranslation t where t.baselanguage = 'en'");
|
||||
@@ -1072,7 +1071,6 @@ $BODY$ LANGUAGE PLPGSQL STABLE");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'SubServerTrialCompany', 'Trial company' FROM atranslation t where t.baselanguage = 'es'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'SubServerOperatingSystem', 'OS' FROM atranslation t where t.baselanguage = 'es'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'SubServerCustomerDomain', 'Customer subdomain' FROM atranslation t where t.baselanguage = 'es'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ServerState', 'Server state' FROM atranslation t where t.baselanguage = 'es'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ServerStateRequested', 'Requested' FROM atranslation t where t.baselanguage = 'es'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ServerStateActiveHealthy', 'Active healthy' FROM atranslation t where t.baselanguage = 'es'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ServerStateActiveRequiresAttention', 'Active requires attention' FROM atranslation t where t.baselanguage = 'es'");
|
||||
@@ -1098,7 +1096,6 @@ $BODY$ LANGUAGE PLPGSQL STABLE");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'SubServerTrialCompany', 'Trial company' FROM atranslation t where t.baselanguage = 'fr'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'SubServerOperatingSystem', 'OS' FROM atranslation t where t.baselanguage = 'fr'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'SubServerCustomerDomain', 'Customer subdomain' FROM atranslation t where t.baselanguage = 'fr'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ServerState', 'Server state' FROM atranslation t where t.baselanguage = 'fr'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ServerStateRequested', 'Requested' FROM atranslation t where t.baselanguage = 'fr'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ServerStateActiveHealthy', 'Active healthy' FROM atranslation t where t.baselanguage = 'fr'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ServerStateActiveRequiresAttention', 'Active requires attention' FROM atranslation t where t.baselanguage = 'fr'");
|
||||
@@ -1124,7 +1121,6 @@ $BODY$ LANGUAGE PLPGSQL STABLE");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'SubServerTrialCompany', 'Trial company' FROM atranslation t where t.baselanguage = 'de'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'SubServerOperatingSystem', 'OS' FROM atranslation t where t.baselanguage = 'de'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'SubServerCustomerDomain', 'Customer subdomain' FROM atranslation t where t.baselanguage = 'de'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ServerState', 'Server state' FROM atranslation t where t.baselanguage = 'de'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ServerStateRequested', 'Requested' FROM atranslation t where t.baselanguage = 'de'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ServerStateActiveHealthy', 'Active healthy' FROM atranslation t where t.baselanguage = 'de'");
|
||||
await ExecQueryAsync("INSERT INTO atranslationitem(translationid,key,display) SELECT t.id, 'ServerStateActiveRequiresAttention', 'Active requires attention' FROM atranslation t where t.baselanguage = 'de'");
|
||||
|
||||
Reference in New Issue
Block a user