This commit is contained in:
2018-08-30 22:44:57 +00:00
parent 436e80a9eb
commit 1d2ba080c9
2 changed files with 72 additions and 16 deletions

View File

@@ -271,6 +271,12 @@ namespace AyaNova.Biz
return v.First();
}
public static long LocaleNameToIdStatic(string localeName, AyContext ct)
{
var v = ct.Locale.Where(c => c.Name == localeName).Select(x => x.Id);
if (v.Count() < 1) return ServerBootConfig.AYANOVA_DEFAULT_LANGUAGE_ID;
return v.First();
}
public bool LocaleExists(string localeName)
{
@@ -360,7 +366,7 @@ namespace AyaNova.Biz
default:
if (!LocaleExists(ServerBootConfig.AYANOVA_DEFAULT_LANGUAGE))
{
throw new System.Exception($"E1015: stock locale French (fr) not found in database!");
throw new System.Exception($"E1015: stock locale {ServerBootConfig.AYANOVA_DEFAULT_LANGUAGE} not found in database!");
}
break;
@@ -376,11 +382,6 @@ namespace AyaNova.Biz
/// IMPORT v7 implementation
public async Task<bool> ImportV7Async(JObject j, List<ImportAyaNova7MapItem> importMap, Guid jobId)
{
//TODO: when locales are imported that's when it should take a pass over users collection and then set the correct locale accordingly
//or default if it's missing
//v7 users locale json element:
//var V7Locale=j["DefaultLanguage"].Value<string>();
//some types need to import from more than one source hence the seemingly redundant switch statement for futureproofing
switch (j["V7_TYPE"].Value<string>())
{

View File

@@ -387,7 +387,7 @@ namespace AyaNova.Biz
"VendorID": "06e502c2-69ba-4e88-8efb-5b53c1687740",
"RegionID": "f856423a-d468-4344-b7b8-121e466738c6",
"DispatchZoneID": "00000000-0000-0000-0000-000000000000",
"SubContractor": false,
"SubContractor": false,//This is not actually a feature in v7, you can just pick a vendorId for subcontractor but still be of type technician
"DefaultWarehouseID": "d45eab37-b6e6-4ad2-9163-66d7ba83a98c",
"Custom1": "",
"Custom2": "",
@@ -419,11 +419,17 @@ namespace AyaNova.Biz
User i = new User();
i.Name = j["FirstName"].Value<string>() + " " + j["LastName"].Value<string>();
i.UserType = j["UserType"].Value<UserType>();
i.Active = j["Active"].Value<bool>();
//TODO: i.LocaleId
//when locales are imported that's when it should take a pass over users and set them as per here
//var V7Locale=j["DefaultLanguage"].Value<string>();
//If there is a vendorId set then this user is actually a subcontractor in v7 so set accordingly
var VendorId = new Guid(j["VendorID"].Value<string>());
if (VendorId != Guid.Empty)
{
i.UserType = UserType.Subcontractor;
}
i.Active = j["Active"].Value<bool>();
i.EmployeeNumber = j["EmployeeNumber"].Value<string>();
i.Notes = j["Notes"].Value<string>();
User o = await CreateAsync(i);
if (HasErrors)
@@ -451,15 +457,64 @@ namespace AyaNova.Biz
//EventLogProcessor.AddEntry(new Event(userId, o.Id, AyaType.User, AyaEvent.Created), ct);
//MODIFIED HERE
// await ct.SaveChangesAsync();
throw new System.NotImplementedException();
}
//break;
break;
case "GZTW.AyaNova.BLL.User-locale":
{
//handle locale entries for users now that we have the locales created
throw new System.NotImplementedException();
//handle locale entries for users now that we have the locales created
var V7Locale = j["DefaultLanguage"].Value<string>();
//Get the RAVEN locale name and id instead
switch (V7Locale)
{
case "Français":
break;
case "Español":
break;
case "Deutsch":
break;
case "English":
break;
default:
{
//It's a custom locale, translate it from v7 original format to imported name format
//make lower and replace spaces with dashes
V7Locale = V7Locale.ToLowerInvariant().Replace(" ", "-");
//ensure each character is a valid path character
foreach (char c in System.IO.Path.GetInvalidFileNameChars())
{
V7Locale = V7Locale.Replace(c, '_');
}
}
break;
}
// if (!LocaleExists("en"))
// {
// throw new System.Exception($"E1015: stock locale English (en) not found in database!");
// }
// if (!LocaleExists("es"))
// {
// throw new System.Exception($"E1015: stock locale Spanish (es) not found in database!");
// }
// if (!LocaleExists("de"))
// {
// throw new System.Exception($"E1015: stock locale German (de) not found in database!");
// }
// if (!LocaleExists("fr"))
//"Español",??
//Find the matching ID number for this locale
// LocaleBiz.LocaleExistsStatic
}
// break;
break;
case "GZTW.AyaNova.BLL.User-scheduleableusergrouptags":
{
//handle tag entries for users now that we have the SUG tags created