This commit is contained in:
@@ -79,6 +79,8 @@ namespace AyaNova.PlugIn.V8
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
util.LocaleText = localizedText;
|
||||||
|
|
||||||
ObjectsWeCanDealWith = new List<RootObjectTypes>();
|
ObjectsWeCanDealWith = new List<RootObjectTypes>();
|
||||||
ObjectsWeCanDealWith.Add(RootObjectTypes.Nothing);
|
ObjectsWeCanDealWith.Add(RootObjectTypes.Nothing);
|
||||||
return true;
|
return true;
|
||||||
@@ -151,6 +153,7 @@ namespace AyaNova.PlugIn.V8
|
|||||||
|
|
||||||
private Dictionary<Guid, long> Map = new Dictionary<Guid, long>();
|
private Dictionary<Guid, long> Map = new Dictionary<Guid, long>();
|
||||||
private Dictionary<Guid, string> TagMap = new Dictionary<Guid, string>();
|
private Dictionary<Guid, string> TagMap = new Dictionary<Guid, string>();
|
||||||
|
private Dictionary<string, string> CustomFieldLocaleKeys = new Dictionary<string, string>();//holds custom field Raven as key and v7 custom text for that field for later export
|
||||||
private string ImportTag = "v7-import";
|
private string ImportTag = "v7-import";
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Dump the objects into a temporary directory as a series of JSON files
|
/// Dump the objects into a temporary directory as a series of JSON files
|
||||||
@@ -167,6 +170,7 @@ namespace AyaNova.PlugIn.V8
|
|||||||
{
|
{
|
||||||
Map.Clear();
|
Map.Clear();
|
||||||
TagMap.Clear();
|
TagMap.Clear();
|
||||||
|
CustomFieldLocaleKeys.Clear();
|
||||||
|
|
||||||
//admin user (not exported but is there already)
|
//admin user (not exported but is there already)
|
||||||
Map.Add(User.AdministratorID, 1);
|
Map.Add(User.AdministratorID, 1);
|
||||||
@@ -204,14 +208,14 @@ namespace AyaNova.PlugIn.V8
|
|||||||
|
|
||||||
//BIZ objects
|
//BIZ objects
|
||||||
await ExportUsers(progress);
|
await ExportUsers(progress);
|
||||||
//dumpLocales(tempArchiveFolder, progress);
|
//dumpLocales(tempArchiveFolder, progress);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//dumpGlobalSettings(tempArchiveFolder, progress);
|
//dumpGlobalSettings(tempArchiveFolder, progress);
|
||||||
|
|
||||||
//dumpSeedNumbers(tempArchiveFolder, progress);
|
//dumpSeedNumbers(tempArchiveFolder, progress);
|
||||||
//dumpClients(tempArchiveFolder, progress);
|
//dumpClients(tempArchiveFolder, progress);
|
||||||
//dumpHeadOffices(tempArchiveFolder, progress);
|
//dumpHeadOffices(tempArchiveFolder, progress);
|
||||||
@@ -344,7 +348,7 @@ namespace AyaNova.PlugIn.V8
|
|||||||
private async System.Threading.Tasks.Task ExportUsers(ProgressForm progress)
|
private async System.Threading.Tasks.Task ExportUsers(ProgressForm progress)
|
||||||
{
|
{
|
||||||
//Step 1: export the CustomFields to FormCustom if applicable so that when doing individual items we can export their custom data too
|
//Step 1: export the CustomFields to FormCustom if applicable so that when doing individual items we can export their custom data too
|
||||||
|
var CustomFieldsToExport = await ExportCustomFieldSchema("User");
|
||||||
|
|
||||||
//Step 2: export the users
|
//Step 2: export the users
|
||||||
|
|
||||||
@@ -391,7 +395,8 @@ namespace AyaNova.PlugIn.V8
|
|||||||
d.notes = c.Notes;
|
d.notes = c.Notes;
|
||||||
Tagit(c.RegionID, tags);
|
Tagit(c.RegionID, tags);
|
||||||
Tagit(c.DispatchZoneID, tags);
|
Tagit(c.DispatchZoneID, tags);
|
||||||
foreach (UserSkillAssigned skill in c.UserSkills) {
|
foreach (UserSkillAssigned skill in c.UserSkills)
|
||||||
|
{
|
||||||
Tagit(skill.UserSkillID, tags);
|
Tagit(skill.UserSkillID, tags);
|
||||||
}
|
}
|
||||||
foreach (UserCertificationAssigned cert in c.UserCertifications)
|
foreach (UserCertificationAssigned cert in c.UserCertifications)
|
||||||
@@ -410,9 +415,9 @@ namespace AyaNova.PlugIn.V8
|
|||||||
a = await util.GetAsync("UserOptions/" + RavenId.ToString());
|
a = await util.GetAsync("UserOptions/" + RavenId.ToString());
|
||||||
d = a.ObjectResponse["data"];
|
d = a.ObjectResponse["data"];
|
||||||
d.uiColor = System.Drawing.ColorTranslator.ToHtml(System.Drawing.Color.FromArgb(c.ScheduleBackColor));
|
d.uiColor = System.Drawing.ColorTranslator.ToHtml(System.Drawing.Color.FromArgb(c.ScheduleBackColor));
|
||||||
d.emailAddress = string.IsNullOrWhiteSpace(c.EmailAddress)?null:c.EmailAddress;
|
d.emailAddress = string.IsNullOrWhiteSpace(c.EmailAddress) ? null : c.EmailAddress;
|
||||||
|
|
||||||
await util.PutAsync("UserOptions/" + RavenId.ToString(), d.ToString());
|
await util.PutAsync("UserOptions/" + RavenId.ToString(), d.ToString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -538,7 +543,7 @@ namespace AyaNova.PlugIn.V8
|
|||||||
foreach (UserCertification i in l)
|
foreach (UserCertification i in l)
|
||||||
TagMap.Add(i.ID, util.NormalizeTag(i.Name + "." + "user-certification"));
|
TagMap.Add(i.ID, util.NormalizeTag(i.Name + "." + "user-certification"));
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion TAG ITEMS
|
#endregion TAG ITEMS
|
||||||
//--------------------------------------------
|
//--------------------------------------------
|
||||||
#endregion object dump methods
|
#endregion object dump methods
|
||||||
@@ -728,6 +733,44 @@ namespace AyaNova.PlugIn.V8
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private async System.Threading.Tasks.Task<List<string>> ExportCustomFieldSchema(string objectName, string RavenCustomTranslationKeyObjectName=null)
|
||||||
|
{
|
||||||
|
var ret = new List<string>();
|
||||||
|
if (RavenCustomTranslationKeyObjectName == null) RavenCustomTranslationKeyObjectName = objectName;//i.e. WidgetCustom1, WidgetCustom2 etc
|
||||||
|
|
||||||
|
//NOTE: this code stolen from winforApp::Util.cs PrepareCustomFieldsGrid method
|
||||||
|
|
||||||
|
//is there customizations designated for this object?
|
||||||
|
ObjectCustomFields ocf = ObjectCustomFields.GetItems(objectName);
|
||||||
|
if (ocf.Count == 0)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
bool bAtLeastOneFieldIsVisible = false;
|
||||||
|
foreach (ObjectCustomField f in ocf)
|
||||||
|
{
|
||||||
|
if (f.Visible)
|
||||||
|
{
|
||||||
|
bAtLeastOneFieldIsVisible = true;
|
||||||
|
ret.Add(f.FieldName);
|
||||||
|
int n=Convert.ToInt32(f.FieldName.Replace("Custom", ""))+1;//raven custom fields are 1 based, v7 are zero based
|
||||||
|
CustomFieldLocaleKeys.Add(RavenCustomTranslationKeyObjectName + n.ToString(), util.LocaleText.GetLocalizedText(objectName + ".Label." + f.FieldName));
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!bAtLeastOneFieldIsVisible)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
//ok, were here because there *are* custom fields available
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//private static string EnsureValidFileName(string fileName)
|
//private static string EnsureValidFileName(string fileName)
|
||||||
//{
|
//{
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ namespace AyaNova.PlugIn.V8
|
|||||||
{
|
{
|
||||||
class util
|
class util
|
||||||
{
|
{
|
||||||
|
public static LocalizedTextTable LocaleText = null;
|
||||||
const string TEST_ROUTE = "ServerInfo";
|
const string TEST_ROUTE = "ServerInfo";
|
||||||
const string API_BASE_ROUTE = "api/v8/";
|
const string API_BASE_ROUTE = "api/v8/";
|
||||||
static HttpClient client = new HttpClient();
|
static HttpClient client = new HttpClient();
|
||||||
|
|||||||
Reference in New Issue
Block a user