changed all lambda experssion variables to z from various where appropriate

This commit is contained in:
2020-05-18 19:42:42 +00:00
parent 3a359f1052
commit fd8c489914
65 changed files with 431 additions and 557 deletions

View File

@@ -6,9 +6,6 @@ PRIORITY - ALWAYS Lowest level stuff first
}
todo: usertype scheduleable? Or sb Service and nonScheduleble sb NonService and subcontractor sb ServiceContractor?
will require some renaming of things but this is more logical and meets intended usage
todo: Pick a consistent single letter lambda expression variable and standardize on it.
one of X Y or Z is best as it doesn't trigger intellisense
todo: OPS routes (SERVER AND CLIENT)

View File

@@ -59,43 +59,7 @@ namespace AyaNova.Api.ControllerHelpers
//Message = "Validation Failed";
Error.Details = new List<ApiDetailError>();
/*
https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.modelbinding.modelerror?view=aspnetcore-2.2
modelState["roles"].Errors
Count = 1
[0]:{Microsoft.AspNetCore.Mvc.ModelBinding.ModelError}
ErrorMessage [string]:""
Exception [Exception]:{Newtonsoft.Json.JsonSerializationException: Error converting value "" to type 'AyaNova.Biz.AuthorizationRoles'. Path 'roles', line 1, position 146. ---> System.ArgumentException: Must specify valid information for parsing in the string.\r\n at Newtonsoft.Json.Utilities.EnumUtils.ParseEnum(Type enumType, NamingStrategy namingStrategy, String value, Boolean disallowNumber) in /_/Src/Newtonsoft.Json/Utilities/EnumUtils.cs:line 285\r\n at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(JsonReader reader, Object value, CultureInfo culture, JsonContract contract, Type targetType) in /_/Src/Newtonsoft.Json/Serialization/JsonSerializerInternalReader.cs:line 958\r\n --- End of inner exception stack trace ---\r\n at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(JsonReader reader, Object value, CultureInfo culture, JsonContract contract, Type targetType) in /_/Src/Newtonsoft.Json/Serialization/JsonSerializerInternalReader.cs:line 989\r\n at Newtonsoft.Json.Serialization.Jso...
Data [IDictionary]:{System.Collections.ListDictionaryInternal}
HResult [int]:-2146233088
HelpLink [string]:null
InnerException [Exception]:{System.ArgumentException: Must specify valid information for parsing in the string.\r\n at Newtonsoft.Json.Utilities.EnumUtils.ParseEnum(Type enumType, NamingStrategy namingStrategy, String value, Boolean disallowNumber) in /_/Src/Newtonsoft.Json/Utilities/EnumUtils.cs:line 285\r\n at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(JsonReader reader, Object value, CultureInfo culture, JsonContract contract, Type targetType) in /_/Src/Newtonsoft.Json/Serialization/JsonSerializerInternalReader.cs:line 958}
LineNumber [int]:1
LinePosition [int]:146
Message [string]:"Error converting value \"\" to type 'AyaNova.Biz.AuthorizationRoles'. Path 'roles', line 1, position 146."
Path [string]:"roles"
Source [string]:"Newtonsoft.Json"
StackTrace [string]:" at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(JsonReader reader, Object value, CultureInfo culture, JsonContract contract, Type targetType) in /_/Src/Newtonsoft.Json/Serialization/JsonSerializerInternalReader.cs:line 989\r\n at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target) in /_/Src/Newtonsoft.Json/Serialization/JsonSerializerInternalReader.cs:line 1032\r\n at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id) in /_/Src/Newtonsoft.Json/Serialization/JsonSerializerInternalReader.cs:line 2386"
TargetSite [MethodBase]:{System.Object EnsureType(Newtonsoft.Json.JsonReader, System.Object, System.Globalization.CultureInfo, Newtonsoft.Json.Serialization.JsonContract, System.Type)}
Static members
Non-Public members
Raw View
Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.1\System.Reflection.Metadata.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.2.1\System.IO.MemoryMappedFiles.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
modelState["roles"].Errors[0].Exception.Message
"Error converting value \"\" to type 'AyaNova.Biz.AuthorizationRoles'. Path 'roles', line 1, position 146."
modelState["roles"].Errors
Count = 1
[0]:{Microsoft.AspNetCore.Mvc.ModelBinding.ModelError */
//original method missing details:
// Error.Details.AddRange(modelState.Keys
// .SelectMany(key => modelState[key].Errors
// .Select(x => new ApiDetailError() { Code = ((int)ApiErrorCode.VALIDATION_FAILED).ToString(), Target = key, Message = x.ErrorMessage, Error=ApiErrorCode.VALIDATION_FAILED.ToString() })));
//var vErrors = modelState.Keys.SelectMany(key => modelState[key].Errors);
foreach (var key in modelState.Keys)
{
var vErrors = modelState[key].Errors;

View File

@@ -80,7 +80,7 @@ namespace AyaNova.Api.Controllers
if (!ModelState.IsValid)
return BadRequest(new ApiErrorResponse(ModelState));
var dbObj = await ct.FileAttachment.SingleOrDefaultAsync(m => m.Id == id);
var dbObj = await ct.FileAttachment.SingleOrDefaultAsync(z => z.Id == id);
if (dbObj == null)
{
return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND));
@@ -369,7 +369,7 @@ namespace AyaNova.Api.Controllers
return BadRequest(new ApiErrorResponse(ModelState));
}
var dbObj = await ct.FileAttachment.SingleOrDefaultAsync(m => m.Id == id);
var dbObj = await ct.FileAttachment.SingleOrDefaultAsync(z => z.Id == id);
if (dbObj == null)
{
return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND));
@@ -431,7 +431,7 @@ namespace AyaNova.Api.Controllers
//get user by key, if not found then reject
//If user dlkeyexp has not expired then return file
var DownloadUser = await ct.User.AsNoTracking().SingleOrDefaultAsync(m => m.DlKey == t && m.Active == true);
var DownloadUser = await ct.User.AsNoTracking().SingleOrDefaultAsync(z => z.DlKey == t && z.Active == true);
if (DownloadUser == null)
{
await Task.Delay(nFailedAuthDelay);//DOS protection
@@ -450,7 +450,7 @@ namespace AyaNova.Api.Controllers
}
//Ok, user has a valid download key and it's not expired yet so get the attachment record
var dbObj = await ct.FileAttachment.SingleOrDefaultAsync(m => m.Id == id);
var dbObj = await ct.FileAttachment.SingleOrDefaultAsync(z => z.Id == id);
if (dbObj == null)
{
await Task.Delay(nFailedAuthDelay);//fishing protection
@@ -491,10 +491,10 @@ namespace AyaNova.Api.Controllers
async private Task<object> GetFileListForObjectAsync(AyaType ayaType, long ayaId)
{
var l = await ct.FileAttachment.AsNoTracking().Where(m => m.AttachToObjectId == ayaId && m.AttachToObjectType == ayaType)
.Select(m => new { m.Id, m.Concurrency, m.ContentType, m.DisplayFileName, m.LastModified, m.Notes })
var l = await ct.FileAttachment.AsNoTracking().Where(z => z.AttachToObjectId == ayaId && z.AttachToObjectType == ayaType)
.Select(z => new { z.Id, z.Concurrency, z.ContentType, z.DisplayFileName, z.LastModified, z.Notes })
.ToArrayAsync();
var v = l.OrderBy(m => m.DisplayFileName);
var v = l.OrderBy(z => z.DisplayFileName);
return v;
}

View File

@@ -158,7 +158,7 @@ namespace AyaNova.Api.Controllers
//Multiple users are allowed the same password and login
//Salt will differentiate them so get all users that match login, then try to match pw
var users = await ct.User.Where(m => m.Login == creds.Login && m.Active == true).ToListAsync();
var users = await ct.User.Where(z => z.Login == creds.Login && z.Active == true).ToListAsync();
foreach (User u in users)
{
@@ -278,7 +278,7 @@ namespace AyaNova.Api.Controllers
//Multiple users are allowed the same password and login
//Salt will differentiate them so get all users that match login, then try to match pw
var users = await ct.User.AsNoTracking().Where(m => m.Login == changecreds.LoginName).ToListAsync();
var users = await ct.User.AsNoTracking().Where(z => z.Login == changecreds.LoginName).ToListAsync();
foreach (User u in users)
{

View File

@@ -120,7 +120,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));

View File

@@ -120,7 +120,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));

View File

@@ -120,7 +120,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));

View File

@@ -120,7 +120,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));

View File

@@ -120,7 +120,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));

View File

@@ -120,7 +120,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));

View File

@@ -120,7 +120,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));

View File

@@ -120,7 +120,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));

View File

@@ -189,7 +189,7 @@ namespace AyaNova.Api.Controllers
return BadRequest(new ApiErrorResponse(ModelState));
}
var oFromDb = await ct.TranslationItem.SingleOrDefaultAsync(m => m.Id == inObj.Id);
var oFromDb = await ct.TranslationItem.SingleOrDefaultAsync(z => z.Id == inObj.Id);
if (oFromDb == null)
{
@@ -197,7 +197,7 @@ namespace AyaNova.Api.Controllers
}
//Now fetch translation for rights and to ensure not stock
var oDbParent = await ct.Translation.SingleOrDefaultAsync(x => x.Id == oFromDb.TranslationId);
var oDbParent = await ct.Translation.SingleOrDefaultAsync(z => z.Id == oFromDb.TranslationId);
if (oDbParent == null)
{
return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND));
@@ -256,7 +256,7 @@ namespace AyaNova.Api.Controllers
return BadRequest(new ApiErrorResponse(ModelState));
}
var oFromDb = await ct.TranslationItem.AsNoTracking().SingleOrDefaultAsync(m => m.Id == inObj[0].Id);
var oFromDb = await ct.TranslationItem.AsNoTracking().SingleOrDefaultAsync(z => z.Id == inObj[0].Id);
if (oFromDb == null)
{
@@ -264,7 +264,7 @@ namespace AyaNova.Api.Controllers
}
//Now fetch translation for rights and to ensure not stock
var oDbParent = await ct.Translation.SingleOrDefaultAsync(x => x.Id == oFromDb.TranslationId);
var oDbParent = await ct.Translation.SingleOrDefaultAsync(z => z.Id == oFromDb.TranslationId);
if (oDbParent == null)
{
return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND));
@@ -315,7 +315,7 @@ namespace AyaNova.Api.Controllers
return BadRequest(new ApiErrorResponse(ModelState));
}
var oFromDb = await ct.Translation.SingleOrDefaultAsync(m => m.Id == inObj.Id);
var oFromDb = await ct.Translation.SingleOrDefaultAsync(z => z.Id == inObj.Id);
if (oFromDb == null)
{
@@ -377,7 +377,7 @@ namespace AyaNova.Api.Controllers
//Fetch translation and it's children
//(fetch here so can return proper REST responses on failing basic validity)
var dbObj = await ct.Translation.Include(x => x.TranslationItems).SingleOrDefaultAsync(m => m.Id == id);
var dbObj = await ct.Translation.Include(z => z.TranslationItems).SingleOrDefaultAsync(z => z.Id == id);
if (dbObj == null)
{
return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND));

View File

@@ -120,7 +120,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));

View File

@@ -120,7 +120,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));

View File

@@ -102,7 +102,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));
@@ -129,7 +129,7 @@ namespace AyaNova.Api.Controllers
// return BadRequest(new ApiErrorResponse(ModelState));
// }
// var o = await ct.User.SingleOrDefaultAsync(m => m.Id == id);
// var o = await ct.User.SingleOrDefaultAsync(z => z.Id == id);
// if (o == null)
// {
@@ -238,7 +238,7 @@ namespace AyaNova.Api.Controllers
//Instantiate the business object handler
UserBiz biz = UserBiz.GetBiz(ct, HttpContext);
var dbObj = await ct.User.SingleOrDefaultAsync(m => m.Id == id);
var dbObj = await ct.User.SingleOrDefaultAsync(z => z.Id == id);
if (dbObj == null)
{
return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND));
@@ -261,7 +261,7 @@ namespace AyaNova.Api.Controllers
private bool UserExists(long id)
{
return ct.User.Any(e => e.Id == id);
return ct.User.Any(z => z.Id == id);
}

View File

@@ -103,7 +103,7 @@ namespace AyaNova.Api.Controllers
}
var UserId = UserIdFromContext.Id(HttpContext.Items);
var o = await ct.UserOptions.SingleOrDefaultAsync(m => m.UserId == id);
var o = await ct.UserOptions.SingleOrDefaultAsync(z => z.UserId == id);
if (o == null)
{
@@ -146,7 +146,7 @@ namespace AyaNova.Api.Controllers
private bool UserOptionsExists(long id)
{
//NOTE: checks by UserId, NOT by Id as in most other objects
return ct.UserOptions.Any(e => e.UserId == id);
return ct.UserOptions.Any(z => z.UserId == id);
}

View File

@@ -120,7 +120,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));

View File

@@ -128,7 +128,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));

View File

@@ -138,7 +138,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.WorkOrderPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));
@@ -269,7 +269,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.ItemPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));
@@ -376,7 +376,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.ExpensePutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));
@@ -484,7 +484,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.LaborPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));
@@ -592,7 +592,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.LoanPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));
@@ -698,7 +698,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.PartPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));
@@ -804,7 +804,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.PartRequestPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));
@@ -910,7 +910,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.ScheduledUserPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));
@@ -1016,7 +1016,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.TaskPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));
@@ -1122,7 +1122,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.TravelPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));
@@ -1228,7 +1228,7 @@ namespace AyaNova.Api.Controllers
var o = await biz.UnitPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(m => m.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));

View File

@@ -57,7 +57,7 @@ namespace AyaNova.DataList
foreach (string s in ListViewFieldKeys)
{
AyaDataListFieldDefinition o = FieldDefinitions.FirstOrDefault(x => x.FieldKey == s);
AyaDataListFieldDefinition o = FieldDefinitions.FirstOrDefault(z => z.FieldKey == s);
#if (DEBUG)
//Developers little helper
if (o == null)
@@ -139,7 +139,7 @@ namespace AyaNova.DataList
//fetch it and set it
using (var ct = AyaNova.Util.ServiceProviderProvider.DBContext)
{
var fc = ct.FormCustom.AsNoTracking().SingleOrDefault(x => x.FormKey == ayatypename);
var fc = ct.FormCustom.AsNoTracking().SingleOrDefault(z => z.FormKey == ayatypename);
//This is normal and expected in an empty db, removing this block
// #if (DEBUG)
// if (fc == null)

View File

@@ -97,7 +97,7 @@ namespace AyaNova.DataList
{
//get the AyaObjectFieldDefinition
AyaDataListFieldDefinition f = DataList.FieldDefinitions.FirstOrDefault(x => x.FieldKey == TemplateField);
AyaDataListFieldDefinition f = DataList.FieldDefinitions.FirstOrDefault(z => z.FieldKey == TemplateField);
if (f.IsCustomField)
{

View File

@@ -36,8 +36,8 @@ namespace AyaNova.DataList
//Get some info about this column / field
var fld = cm["fld"].Value<string>();
var dataType = objectFieldsList.Find(x => x.FieldKey.ToLowerInvariant() == fld).UiFieldDataType;
AyaDataListFieldDefinition DataListField = objectFieldsList.FirstOrDefault(x => x.FieldKey == fld);
var dataType = objectFieldsList.Find(z => z.FieldKey.ToLowerInvariant() == fld).UiFieldDataType;
AyaDataListFieldDefinition DataListField = objectFieldsList.FirstOrDefault(z => z.FieldKey == fld);
//No filtering on custom fields!
if (DataListField.IsCustomField)

View File

@@ -28,7 +28,7 @@ namespace AyaNova.DataList
var fld = cm["fld"].Value<string>();
var dir = cm["sort"].Value<string>();
//Get the correct sql column name
AyaDataListFieldDefinition DataListField = objectFieldsList.FirstOrDefault(x => x.FieldKey == fld);
AyaDataListFieldDefinition DataListField = objectFieldsList.FirstOrDefault(z => z.FieldKey == fld);
//No sorting on custom fields!
if (DataListField.IsCustomField)
{
@@ -57,7 +57,7 @@ namespace AyaNova.DataList
if (sb.Length == 0)
{
//no sort specified so default it
AyaDataListFieldDefinition rid = objectFieldsList.FirstOrDefault(x => x.IsRowId == true);
AyaDataListFieldDefinition rid = objectFieldsList.FirstOrDefault(z => z.IsRowId == true);
if (rid != null)
{
return $"ORDER BY {rid.SqlIdColumnName} DESC";

View File

@@ -27,7 +27,7 @@ namespace AyaNova.DataList
//DEPRECATED
// //Default ID column for each row (always is aliased as df)
// AyaDataListFieldDefinition def = objectFieldsList.FirstOrDefault(x => x.FieldKey == "df");
// AyaDataListFieldDefinition def = objectFieldsList.FirstOrDefault(z => z.FieldKey == "df");
// if (def == null)
// {
// throw new System.ArgumentNullException("DataListSqlSelectBuilder: objectFieldList is missing the df default field");
@@ -59,7 +59,7 @@ namespace AyaNova.DataList
// //skip the df column, it's already been processed above
// if (ColumnName == "df")
// continue;
AyaDataListFieldDefinition o = objectFieldsList.FirstOrDefault(x => x.FieldKey == ColumnName);
AyaDataListFieldDefinition o = objectFieldsList.FirstOrDefault(z => z.FieldKey == ColumnName);
#if (DEBUG)
//Developers little helper
if (o == null)

View File

@@ -17,7 +17,7 @@ namespace AyaNova.PickList
//Sort out effective Template
string Template = null;
//Attempt to fetch custom template
var t = await ct.PickListTemplate.FirstOrDefaultAsync(m => m.Id == ((long)PickList.DefaultListObjectType));
var t = await ct.PickListTemplate.FirstOrDefaultAsync(z => z.Id == ((long)PickList.DefaultListObjectType));
if (t == null)
{
Template = PickList.DefaultTemplate;

View File

@@ -46,7 +46,7 @@ namespace AyaNova.PickList
//PROCESS ROW ID "VALUE" COLUMN
//
AyaPickListFieldDefinition rowIdColumn = pickList.ColumnDefinitions.FirstOrDefault(x => x.IsRowId == true);
AyaPickListFieldDefinition rowIdColumn = pickList.ColumnDefinitions.FirstOrDefault(z => z.IsRowId == true);
//this should only happen with a development error
if (rowIdColumn == null)
throw new System.ArgumentNullException($"DEV ERROR in PickListSqlBuilder.cs: picklist for {pickList.DefaultListObjectType.ToString()} has no rowId column specified in columnDefinitions list");
@@ -64,7 +64,7 @@ namespace AyaNova.PickList
//but we provide the override for that if necessary as there are often (management usually) cases where user needs to select inactive records
//add active column, fake it if necessary
AyaPickListFieldDefinition activeColumn = pickList.ColumnDefinitions.FirstOrDefault(x => x.IsActiveColumn == true);
AyaPickListFieldDefinition activeColumn = pickList.ColumnDefinitions.FirstOrDefault(z => z.IsActiveColumn == true);
if (activeColumn == null)
{
//no active column which is normal for some types of objects
@@ -92,7 +92,7 @@ namespace AyaNova.PickList
if (HasTagSpecificQuery)
{
//get the tag column
AyaPickListFieldDefinition tagColumn = pickList.ColumnDefinitions.FirstOrDefault(x => x.ColumnDataType == UiFieldDataType.Tags);
AyaPickListFieldDefinition tagColumn = pickList.ColumnDefinitions.FirstOrDefault(z => z.ColumnDataType == UiFieldDataType.Tags);
TagSpecificWhereFragment = $"(array_to_string({tagColumn.GetSqlValueColumnName()},',') like '%{tagSpecificQuery}%')";
}
@@ -102,7 +102,7 @@ namespace AyaNova.PickList
foreach (string ColumnName in templateColumnNames)
{
AyaPickListFieldDefinition o = pickList.ColumnDefinitions.FirstOrDefault(x => x.FieldKey == ColumnName);
AyaPickListFieldDefinition o = pickList.ColumnDefinitions.FirstOrDefault(z => z.FieldKey == ColumnName);
#if (DEBUG)
if (o == null)
{

View File

@@ -161,7 +161,7 @@ namespace AyaNova
//log configuration
try
{
var AyaNovaConfig=config.AsEnumerable().Where(m => m.Key.StartsWith("AYANOVA") && m.Key!="AYANOVA_JWT_SECRET").Select(m=>m.Key+ "="+ m.Value).ToList();
var AyaNovaConfig=config.AsEnumerable().Where(z => z.Key.StartsWith("AYANOVA") && z.Key!="AYANOVA_JWT_SECRET").Select(z=>z.Key+ "="+ z.Value).ToList();
var DiagConfig=string.Join(",", AyaNovaConfig);
DiagConfig=DbUtil.PasswordRedactedConnectionString(DiagConfig);
logger.Info($"Config {DiagConfig}");

View File

@@ -33,79 +33,79 @@ namespace AyaNova.Biz
//CoreBizObject add here
case AyaType.FileAttachment:
return await ct.FileAttachment.AnyAsync(m => m.Id == id);
return await ct.FileAttachment.AnyAsync(z => z.Id == id);
case AyaType.DataListView:
return await ct.DataListView.AnyAsync(m => m.Id == id);
return await ct.DataListView.AnyAsync(z => z.Id == id);
case AyaType.FormCustom:
return await ct.FormCustom.AnyAsync(m => m.Id == id);
return await ct.FormCustom.AnyAsync(z => z.Id == id);
case AyaType.User:
return await ct.User.AnyAsync(m => m.Id == id);
return await ct.User.AnyAsync(z => z.Id == id);
case AyaType.Widget:
return await ct.Widget.AnyAsync(m => m.Id == id);
return await ct.Widget.AnyAsync(z => z.Id == id);
case AyaType.Customer:
return await ct.Customer.AnyAsync(m => m.Id == id);
return await ct.Customer.AnyAsync(z => z.Id == id);
case AyaType.Contract:
return await ct.Contract.AnyAsync(m => m.Id == id);
return await ct.Contract.AnyAsync(z => z.Id == id);
case AyaType.HeadOffice:
return await ct.HeadOffice.AnyAsync(m => m.Id == id);
return await ct.HeadOffice.AnyAsync(z => z.Id == id);
case AyaType.LoanUnit:
return await ct.LoanUnit.AnyAsync(m => m.Id == id);
return await ct.LoanUnit.AnyAsync(z => z.Id == id);
case AyaType.Part:
return await ct.Part.AnyAsync(m => m.Id == id);
return await ct.Part.AnyAsync(z => z.Id == id);
case AyaType.PM:
return await ct.PM.AnyAsync(m => m.Id == id);
return await ct.PM.AnyAsync(z => z.Id == id);
case AyaType.PMItem:
return await ct.PMItem.AnyAsync(m => m.Id == id);
return await ct.PMItem.AnyAsync(z => z.Id == id);
case AyaType.PMTemplate:
return await ct.PMTemplate.AnyAsync(m => m.Id == id);
return await ct.PMTemplate.AnyAsync(z => z.Id == id);
case AyaType.PMTemplateItem:
return await ct.PMTemplateItem.AnyAsync(m => m.Id == id);
return await ct.PMTemplateItem.AnyAsync(z => z.Id == id);
case AyaType.Project:
return await ct.Project.AnyAsync(m => m.Id == id);
return await ct.Project.AnyAsync(z => z.Id == id);
case AyaType.PurchaseOrder:
return await ct.PurchaseOrder.AnyAsync(m => m.Id == id);
return await ct.PurchaseOrder.AnyAsync(z => z.Id == id);
case AyaType.Quote:
return await ct.Quote.AnyAsync(m => m.Id == id);
return await ct.Quote.AnyAsync(z => z.Id == id);
case AyaType.QuoteItem:
return await ct.QuoteItem.AnyAsync(m => m.Id == id);
return await ct.QuoteItem.AnyAsync(z => z.Id == id);
case AyaType.QuoteTemplate:
return await ct.QuoteTemplate.AnyAsync(m => m.Id == id);
return await ct.QuoteTemplate.AnyAsync(z => z.Id == id);
case AyaType.QuoteTemplateItem:
return await ct.QuoteTemplateItem.AnyAsync(m => m.Id == id);
return await ct.QuoteTemplateItem.AnyAsync(z => z.Id == id);
case AyaType.Unit:
return await ct.Unit.AnyAsync(m => m.Id == id);
return await ct.Unit.AnyAsync(z => z.Id == id);
case AyaType.UnitModel:
return await ct.UnitModel.AnyAsync(m => m.Id == id);
return await ct.UnitModel.AnyAsync(z => z.Id == id);
case AyaType.Vendor:
return await ct.Vendor.AnyAsync(m => m.Id == id);
return await ct.Vendor.AnyAsync(z => z.Id == id);
//--- WorkOrder
case AyaType.WorkOrder:
return await ct.WorkOrder.AnyAsync(m => m.Id == id);
return await ct.WorkOrder.AnyAsync(z => z.Id == id);
case AyaType.WorkOrderItem:
return await ct.WorkOrderItem.AnyAsync(m => m.Id == id);
return await ct.WorkOrderItem.AnyAsync(z => z.Id == id);
case AyaType.WorkOrderItemExpense:
return await ct.WorkOrderItemExpense.AnyAsync(m => m.Id == id);
return await ct.WorkOrderItemExpense.AnyAsync(z => z.Id == id);
case AyaType.WorkOrderItemLabor:
return await ct.WorkOrderItemLabor.AnyAsync(m => m.Id == id);
return await ct.WorkOrderItemLabor.AnyAsync(z => z.Id == id);
case AyaType.WorkOrderItemLoan:
return await ct.WorkOrderItemLoan.AnyAsync(m => m.Id == id);
return await ct.WorkOrderItemLoan.AnyAsync(z => z.Id == id);
case AyaType.WorkOrderItemPart:
return await ct.WorkOrderItemPart.AnyAsync(m => m.Id == id);
return await ct.WorkOrderItemPart.AnyAsync(z => z.Id == id);
case AyaType.WorkOrderItemPartRequest:
return await ct.WorkOrderItemPartRequest.AnyAsync(m => m.Id == id);
return await ct.WorkOrderItemPartRequest.AnyAsync(z => z.Id == id);
case AyaType.WorkOrderItemScheduledUser:
return await ct.WorkOrderItemScheduledUser.AnyAsync(m => m.Id == id);
return await ct.WorkOrderItemScheduledUser.AnyAsync(z => z.Id == id);
case AyaType.WorkOrderItemTask:
return await ct.WorkOrderItemTask.AnyAsync(m => m.Id == id);
return await ct.WorkOrderItemTask.AnyAsync(z => z.Id == id);
case AyaType.WorkOrderItemTravel:
return await ct.WorkOrderItemTravel.AnyAsync(m => m.Id == id);
return await ct.WorkOrderItemTravel.AnyAsync(z => z.Id == id);
case AyaType.WorkOrderItemUnit:
return await ct.WorkOrderItemUnit.AnyAsync(m => m.Id == id);
return await ct.WorkOrderItemUnit.AnyAsync(z => z.Id == id);
//---
case AyaType.WorkOrderTemplate:
return await ct.WorkOrderTemplate.AnyAsync(m => m.Id == id);
return await ct.WorkOrderTemplate.AnyAsync(z => z.Id == id);
case AyaType.WorkOrderTemplateItem:
return await ct.WorkOrderTemplateItem.AnyAsync(m => m.Id == id);
return await ct.WorkOrderTemplateItem.AnyAsync(z => z.Id == id);
default:
throw new System.NotSupportedException($"AyaNova.Biz.BizObjectExistsInDatabase::ExistsAsync type {ayaType.ToString()} is not supported");

View File

@@ -29,7 +29,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> ExistsAsync(long id)
{
return await ct.Contract.AnyAsync(e => e.Id == id);
return await ct.Contract.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////

View File

@@ -16,7 +16,7 @@ namespace AyaNova.Biz
return;
var FormTemplate = JArray.Parse(formCustom.Template);
var ThisFormCustomFieldsList = AyaFormFieldDefinitions.AyaFormFields(formCustom.FormKey).Where(x => x.IsCustomField == true).Select(x => x.TKey).ToList();
var ThisFormCustomFieldsList = AyaFormFieldDefinitions.AyaFormFields(formCustom.FormKey).Where(z => z.IsCustomField == true).Select(z => z.TKey).ToList();
//If the customFields string is empty then only validation is if any of the fields are required to be filled in
if (!hasCustomData)

View File

@@ -29,7 +29,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> ExistsAsync(long id)
{
return await ct.Customer.AnyAsync(e => e.Id == id);
return await ct.Customer.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -90,7 +90,7 @@ namespace AyaNova.Biz
//
internal async Task<Customer> GetAsync(long id, bool logTheGetEvent = true)
{
var ret = await ct.Customer.SingleOrDefaultAsync(m => m.Id == id);
var ret = await ct.Customer.SingleOrDefaultAsync(z => z.Id == id);
if (logTheGetEvent && ret != null)
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, BizType, AyaEvent.Retrieved), ct);
return ret;
@@ -101,7 +101,7 @@ namespace AyaNova.Biz
//
internal async Task<Customer> PutAsync(Customer putObject)
{
Customer dbObject = await ct.Customer.SingleOrDefaultAsync(m => m.Id == putObject.Id);
Customer dbObject = await ct.Customer.SingleOrDefaultAsync(z => z.Id == putObject.Id);
if (dbObject == null)
{
AddError(ApiErrorCode.NOT_FOUND, "id");
@@ -142,7 +142,7 @@ namespace AyaNova.Biz
{
try
{
Customer dbObject = await ct.Customer.SingleOrDefaultAsync(m => m.Id == id);
Customer dbObject = await ct.Customer.SingleOrDefaultAsync(z => z.Id == id);
ValidateCanDelete(dbObject);
if (HasErrors)
return false;
@@ -182,7 +182,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
{
var obj = await ct.Customer.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.Customer.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -211,7 +211,7 @@ namespace AyaNova.Biz
if (!PropertyHasErrors("Name"))
{
//Use Any command is efficient way to check existance, it doesn't return the record, just a true or false
if (await ct.Customer.AnyAsync(m => m.Name == proposedObj.Name && m.Id != proposedObj.Id))
if (await ct.Customer.AnyAsync(z => z.Name == proposedObj.Name && z.Id != proposedObj.Id))
{
AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "Name");
}
@@ -219,7 +219,7 @@ namespace AyaNova.Biz
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.Customer.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.Customer.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required

View File

@@ -39,7 +39,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> ExistsAsync(long id)
{
return await ct.DataListView.AnyAsync(e => e.Id == id);
return await ct.DataListView.AnyAsync(z => z.Id == id);
}
@@ -66,7 +66,7 @@ namespace AyaNova.Biz
//EVENT LOG
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, outObj.Id, BizType, AyaEvent.Created), ct);
return outObj;
@@ -85,27 +85,27 @@ namespace AyaNova.Biz
DataListView outObj = new DataListView();
CopyObject.Copy(dbObj, outObj);
//generate unique name
//generate unique name
string newUniqueName = string.Empty;
bool NotUnique = true;
long l = 1;
do
{
{
newUniqueName = Util.StringUtil.UniqueNameBuilder(dbObj.Name, l++, 255);
NotUnique = await ct.DataListView.AnyAsync(m => m.Name == newUniqueName);
NotUnique = await ct.DataListView.AnyAsync(z => z.Name == newUniqueName);
} while (NotUnique);
outObj.Name = newUniqueName;
outObj.Id = 0;
outObj.Concurrency = 0;
await ct.DataListView.AddAsync(outObj);
await ct.SaveChangesAsync();
//Handle child and associated items:
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, outObj.Id, BizType, AyaEvent.Created), ct);
return outObj;
}
@@ -117,7 +117,7 @@ namespace AyaNova.Biz
internal async Task<DataListView> GetAsync(long fetchId, bool logTheGetEvent = true)
{
//This is simple so nothing more here, but often will be copying to a different output object or some other ops
var ret = await ct.DataListView.SingleOrDefaultAsync(m => m.Id == fetchId && (m.Public == true || m.UserId == UserId));
var ret = await ct.DataListView.SingleOrDefaultAsync(z => z.Id == fetchId && (z.Public == true || z.UserId == UserId));
if (logTheGetEvent && ret != null)
{
//Log
@@ -137,12 +137,12 @@ namespace AyaNova.Biz
{
items = await ct.DataListView
.AsNoTracking()
.Where(m => m.ListKey == listKey && (m.Public == true || m.UserId == UserId))
.OrderBy(m => m.Name)
.Select(m => new NameIdItem()
.Where(z => z.ListKey == listKey && (z.Public == true || z.UserId == UserId))
.OrderBy(z => z.Name)
.Select(z => new NameIdItem()
{
Id = m.Id,
Name = m.Name
Id = z.Id,
Name = z.Name
}).ToListAsync();
}
@@ -177,7 +177,7 @@ namespace AyaNova.Biz
//Log modification and save context
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObj.Id, BizType, AyaEvent.Modified), ct);
return true;
}
@@ -241,7 +241,7 @@ namespace AyaNova.Biz
if (!PropertyHasErrors("Name"))
{
//Use Any command is efficient way to check existance, it doesn't return the record, just a true or false
if (await ct.DataListView.AnyAsync(m => m.Name == inObj.Name && m.Id != inObj.Id))
if (await ct.DataListView.AnyAsync(z => z.Name == inObj.Name && z.Id != inObj.Id))
{
AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "Name");
}
@@ -286,7 +286,7 @@ namespace AyaNova.Biz
if (DataList != null)
{
var TheField = DataList.FieldDefinitions.SingleOrDefault(x => x.FieldKey.ToLowerInvariant() == fld);
var TheField = DataList.FieldDefinitions.SingleOrDefault(z => z.FieldKey.ToLowerInvariant() == fld);
if (TheField == null)
{
@@ -330,88 +330,11 @@ namespace AyaNova.Biz
}
// //VALIDATE SORT
// //Filter json must parse
// if (!string.IsNullOrWhiteSpace(inObj.Sort))
// {
// try
// {
// var v = JArray.Parse(inObj.Sort);
// for (int i = 0; i < v.Count; i++)
// {
// var sortItem = v[i];
// if (sortItem["fld"] == null)
// AddError(ApiErrorCode.VALIDATION_REQUIRED, "Sort", $"Sort array item {i}, object is missing required \"fld\" property ");
// else
// {
// var fld = sortItem["fld"].Value<string>();
// if (string.IsNullOrWhiteSpace(fld))
// AddError(ApiErrorCode.VALIDATION_REQUIRED, "Sort", $"Sort array item {i}, \"fld\" property is empty and required");
// //validate the field name if we can
// if (DataList != null)
// {
// if (!DataList.FieldDefinitions.Exists(x => x.FieldKey.ToLowerInvariant() == fld && x.IsFilterable))
// {
// AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Sort", $"Sort array item {i}, fld property value \"{fld}\" is not a valid value for ListKey specified");
// }
// }
// }
// if (sortItem["dir"] == null)
// AddError(ApiErrorCode.VALIDATION_REQUIRED, "Sort", $"Sort array item {i}, object is missing required \"dir\" sort direction property ");
// else
// {
// var sortDir = sortItem["dir"].Value<string>();
// if (sortDir != "+" && sortDir != "-")
// AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Sort", $"Sort array item {i}, \"dir\" property value of \"{sortDir}\" is not a valid sort direction value, must be \"+\" or \"-\" only");
// }
// //NOTE: value of nothing, null or empty is a valid value so no checking for it here
// }
// }
// catch (Newtonsoft.Json.JsonReaderException ex)
// {
// AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Sort", "Sort is not valid JSON string: " + ex.Message);
// }
// }
return;
}
//FOR FUTURE
// private void ValidateCanDelete(DataListFilter inObj)
// {
// //Leaving this off for now
// }
// ////////////////////////////////////////////////////////////////////////////////////////////////
// //JOB / OPERATIONS
// //
// public async Task HandleJobAsync(OpsJob job)
// {
// //Hand off the particular job to the corresponding processing code
// //NOTE: If this code throws an exception the caller (JobsBiz::ProcessJobsAsync) will automatically set the job to failed and log the exeption so
// //basically any error condition during job processing should throw up an exception if it can't be handled
// switch (job.JobType)
// {
// case JobType.TestDataFilterJob:
// await ProcessTestJobAsync(job);
// break;
// default:
// throw new System.ArgumentOutOfRangeException($"DataFilterBiz.HandleJob-> Invalid job type{job.JobType.ToString()}");
// }
// }
//Other job handlers here...
/////////////////////////////////////////////////////////////////////

View File

@@ -56,9 +56,9 @@ namespace AyaNova.Biz
var offset = opt.Offset ?? 0;
//Set up the query
var q = ct.Event.Select(m => m).AsNoTracking();
q = q.Where(m => m.AyId == opt.AyId && m.AyaType == opt.AyaType);
q = q.OrderByDescending(m => m.Created);
var q = ct.Event.Select(z => z).AsNoTracking();
q = q.Where(z => z.AyId == opt.AyId && z.AyaType == opt.AyaType);
q = q.OrderByDescending(z => z.Created);
q = q.Skip(offset).Take(limit);
//Execute the query
@@ -68,13 +68,13 @@ namespace AyaNova.Biz
using (var command = ct.Database.GetDbConnection().CreateCommand())
{
ct.Database.OpenConnection();
ret.Events = EventItems.Select(m => new AyaNova.Api.Controllers.EventLogController.ObjectEventLogItem()
ret.Events = EventItems.Select(z => new AyaNova.Api.Controllers.EventLogController.ObjectEventLogItem()
{
Date = m.Created,
UserId = m.UserId,
Event = m.AyEvent,
Textra = m.Textra,
Name = BizObjectNameFetcherDirect.Name(AyaType.User, m.UserId, command)
Date = z.Created,
UserId = z.UserId,
Event = z.AyEvent,
Textra = z.Textra,
Name = BizObjectNameFetcherDirect.Name(AyaType.User, z.UserId, command)
}).ToArray();
ret.Name = BizObjectNameFetcherDirect.Name(opt.AyaType, opt.AyId, command);
@@ -95,13 +95,11 @@ namespace AyaNova.Biz
var limit = opt.Limit ?? DEFAULT_EVENT_LIMIT;
var offset = opt.Offset ?? 0;
//Set up the query
// var q = ct.Event.Select(m => m).Skip(offset).Take(limit).AsNoTracking();
// q = q.Where(m => m.UserId == opt.UserId);
// q = q.OrderByDescending(m => m.Created);
var q = ct.Event.Select(m => m).AsNoTracking();
q = q.Where(m => m.UserId == opt.UserId);
q = q.OrderByDescending(m => m.Created);
var q = ct.Event.Select(z => z).AsNoTracking();
q = q.Where(z => z.UserId == opt.UserId);
q = q.OrderByDescending(z => z.Created);
q = q.Skip(offset).Take(limit);
@@ -111,15 +109,15 @@ namespace AyaNova.Biz
{
ct.Database.OpenConnection();
//convert the Event array to the correct return type array
ret.Events = EventItems.Select(m => new AyaNova.Api.Controllers.EventLogController.UserEventLogItem()
ret.Events = EventItems.Select(z => new AyaNova.Api.Controllers.EventLogController.UserEventLogItem()
{
Date = m.Created,
ObjectType = m.AyaType,
ObjectId = m.AyId,
Event = m.AyEvent,
Textra = m.Textra,
Name = BizObjectNameFetcherDirect.Name(m.AyaType, m.AyId, command)
Date = z.Created,
ObjectType = z.AyaType,
ObjectId = z.AyId,
Event = z.AyEvent,
Textra = z.Textra,
Name = BizObjectNameFetcherDirect.Name(z.AyaType, z.AyId, command)
}).ToArray();
ret.Name = BizObjectNameFetcherDirect.Name(AyaType.User, opt.UserId, command);

View File

@@ -38,7 +38,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> ExistsAsync(string formKey)
{
return await ct.FormCustom.AnyAsync(x => x.FormKey == formKey);
return await ct.FormCustom.AnyAsync(z => z.FormKey == formKey);
}
@@ -82,7 +82,7 @@ namespace AyaNova.Biz
//Step 1: check if exists, if it does then just return it
if (await ExistsAsync(formKey))
{
return await ct.FormCustom.SingleOrDefaultAsync(m => m.FormKey == formKey);
return await ct.FormCustom.SingleOrDefaultAsync(z => z.FormKey == formKey);
}
//If it doesn't exist, vet the form key name is ok by checking with this list
@@ -168,7 +168,7 @@ namespace AyaNova.Biz
if (!PropertyHasErrors("FormKey") && isNew)
{
//Use Any command is efficient way to check existance, it doesn't return the record, just a true or false
if (await ct.FormCustom.AnyAsync(m => m.FormKey == inObj.FormKey && m.Id != inObj.Id))
if (await ct.FormCustom.AnyAsync(z => z.FormKey == inObj.FormKey && z.Id != inObj.Id))
{
AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "FormKey");
}
@@ -210,13 +210,13 @@ namespace AyaNova.Biz
if (ValidFormFields != null)
{
if (!ValidFormFields.Exists(x => x.FieldKey == fldKey))
if (!ValidFormFields.Exists(z => z.FieldKey == fldKey))
{
AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Template", $"Template array item {i}, fld property value \"{fldKey}\" is not a valid form field value for formKey specified");
}
else
{
MasterFormField = ValidFormFields.FirstOrDefault(x => x.FieldKey == fldKey);
MasterFormField = ValidFormFields.FirstOrDefault(z => z.FieldKey == fldKey);
}
}

View File

@@ -29,7 +29,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> ExistsAsync(long id)
{
return await ct.HeadOffice.AnyAsync(e => e.Id == id);
return await ct.HeadOffice.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -72,7 +72,7 @@ namespace AyaNova.Biz
do
{
newUniqueName = Util.StringUtil.UniqueNameBuilder(dbObject.Name, l++, 255);
NotUnique = await ct.HeadOffice.AnyAsync(m => m.Name == newUniqueName);
NotUnique = await ct.HeadOffice.AnyAsync(z => z.Name == newUniqueName);
} while (NotUnique);
newObject.Name = newUniqueName;
newObject.Id = 0;
@@ -90,7 +90,7 @@ namespace AyaNova.Biz
//
internal async Task<HeadOffice> GetAsync(long id, bool logTheGetEvent = true)
{
var ret = await ct.HeadOffice.SingleOrDefaultAsync(m => m.Id == id);
var ret = await ct.HeadOffice.SingleOrDefaultAsync(z => z.Id == id);
if (logTheGetEvent && ret != null)
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, BizType, AyaEvent.Retrieved), ct);
return ret;
@@ -101,7 +101,7 @@ namespace AyaNova.Biz
//
internal async Task<HeadOffice> PutAsync(HeadOffice putObject)
{
HeadOffice dbObject = await ct.HeadOffice.SingleOrDefaultAsync(m => m.Id == putObject.Id);
HeadOffice dbObject = await ct.HeadOffice.SingleOrDefaultAsync(z => z.Id == putObject.Id);
if (dbObject == null)
{
AddError(ApiErrorCode.NOT_FOUND, "id");
@@ -142,7 +142,7 @@ namespace AyaNova.Biz
{
try
{
HeadOffice dbObject = await ct.HeadOffice.SingleOrDefaultAsync(m => m.Id == id);
HeadOffice dbObject = await ct.HeadOffice.SingleOrDefaultAsync(z => z.Id == id);
ValidateCanDelete(dbObject);
if (HasErrors)
return false;
@@ -182,7 +182,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
{
var obj = await ct.HeadOffice.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.HeadOffice.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -211,7 +211,7 @@ namespace AyaNova.Biz
if (!PropertyHasErrors("Name"))
{
//Use Any command is efficient way to check existance, it doesn't return the record, just a true or false
if (await ct.HeadOffice.AnyAsync(m => m.Name == proposedObj.Name && m.Id != proposedObj.Id))
if (await ct.HeadOffice.AnyAsync(z => z.Name == proposedObj.Name && z.Id != proposedObj.Id))
{
AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "Name");
}
@@ -219,7 +219,7 @@ namespace AyaNova.Biz
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.HeadOffice.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.HeadOffice.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required

View File

@@ -40,15 +40,15 @@ namespace AyaNova.Biz
List<JobOperationsFetchInfo> ret = new List<JobOperationsFetchInfo>();
var jobitems = await ct.OpsJob
.OrderBy(m => m.Created)
.OrderBy(z => z.Created)
.ToListAsync();
foreach (OpsJob i in jobitems)
{
//fetch the most recent log time for each job
var mostRecentLogItem = await ct.OpsJobLog
.Where(c => c.JobId == i.GId)
.OrderByDescending(t => t.Created)
.Where(z => z.JobId == i.GId)
.OrderByDescending(z => z.Created)
.FirstOrDefaultAsync();
JobOperationsFetchInfo o = new JobOperationsFetchInfo();
@@ -75,8 +75,8 @@ namespace AyaNova.Biz
List<JobOperationsLogInfoItem> ret = new List<JobOperationsLogInfoItem>();
var l = await ct.OpsJobLog
.Where(c => c.JobId == jobId)
.OrderBy(m => m.Created)
.Where(z => z.JobId == jobId)
.OrderBy(z => z.Created)
.ToListAsync();
foreach (OpsJobLog i in l)

View File

@@ -28,8 +28,8 @@ namespace AyaNova.Biz
{
return await ct.OpsJob
.AsNoTracking()
.Where(c => c.ObjectId == ayObj.ObjectId && c.ObjectType == ayObj.ObjectType)
.OrderBy(m => m.Created)
.Where(z => z.ObjectId == ayObj.ObjectId && z.ObjectType == ayObj.ObjectType)
.OrderBy(z => z.Created)
.ToListAsync();
}
@@ -63,8 +63,8 @@ namespace AyaNova.Biz
{
var ret = await ct.OpsJob
.AsNoTracking()
.Where(c => c.StartAfter < System.DateTime.UtcNow && c.Exclusive == exclusiveOnly && c.JobStatus == JobStatus.Sleeping)
.OrderBy(m => m.Created)
.Where(z => z.StartAfter < System.DateTime.UtcNow && z.Exclusive == exclusiveOnly && z.JobStatus == JobStatus.Sleeping)
.OrderBy(z => z.Created)
.ToListAsync();
return ret;
@@ -80,8 +80,8 @@ namespace AyaNova.Biz
{
var ret = await ct.OpsJob
.AsNoTracking()
.Where(c => c.JobStatus == JobStatus.Sleeping || c.JobStatus == JobStatus.Running)
.OrderBy(m => m.Created)
.Where(z => z.JobStatus == JobStatus.Sleeping || z.JobStatus == JobStatus.Running)
.OrderBy(z => z.Created)
.ToListAsync();
return ret;
@@ -96,8 +96,8 @@ namespace AyaNova.Biz
{
var ret = await ct.OpsJob
.AsNoTracking()
.Where(c => c.JobType == jobType)
.OrderBy(m => m.Created)
.Where(z => z.JobType == jobType)
.OrderBy(z => z.Created)
.ToListAsync();
return ret;
@@ -112,8 +112,8 @@ namespace AyaNova.Biz
{
var ret = await ct.OpsJob
.AsNoTracking()
.Where(c => c.JobStatus == JobStatus.Sleeping || c.JobStatus == JobStatus.Running)
.OrderBy(m => m.Created)
.Where(z => z.JobStatus == JobStatus.Sleeping || z.JobStatus == JobStatus.Running)
.OrderBy(z => z.Created)
.ToListAsync();
return ret;
@@ -127,7 +127,7 @@ namespace AyaNova.Biz
internal static async Task<long> GetCountForJobStatusAsync(AyContext ct, JobStatus jobStatus)
{
var ret = await ct.OpsJob
.Where(c => c.JobStatus == jobStatus)
.Where(z => z.JobStatus == jobStatus)
.LongCountAsync();
return ret;
}
@@ -274,7 +274,7 @@ namespace AyaNova.Biz
/// <param name="ct"></param>
internal static async Task<OpsJob> UpdateJobStatusAsync(Guid jobId, JobStatus newStatus, AyContext ct)
{
var oFromDb = await ct.OpsJob.SingleOrDefaultAsync(m => m.GId == jobId);
var oFromDb = await ct.OpsJob.SingleOrDefaultAsync(z => z.GId == jobId);
if (oFromDb == null) return null;
oFromDb.JobStatus = newStatus;
await ct.SaveChangesAsync();
@@ -332,7 +332,7 @@ namespace AyaNova.Biz
//also have to deal with db object etc, I guess they'd have to instantiate themselves to avoid disposed object being used error
//This area may turn out to need a re-write in future, but I think it might only involve this block and ProcessJobAsync
//the actual individual objects that are responsible for jobs will likely not need a signature rewrite or anything (I hope)
//For now I'm hoping that no job will be so slow that it can hold up all the other jobs indefinitely.
//For now I'z hoping that no job will be so slow that it can hold up all the other jobs indefinitely.
List<OpsJob> sharedJobs = await GetReadyJobsNotExlusiveOnlyAsync(ct);
foreach (OpsJob j in sharedJobs)

View File

@@ -29,7 +29,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> ExistsAsync(long id)
{
return await ct.LoanUnit.AnyAsync(e => e.Id == id);
return await ct.LoanUnit.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -72,7 +72,7 @@ namespace AyaNova.Biz
do
{
newUniqueName = Util.StringUtil.UniqueNameBuilder(dbObject.Name, l++, 255);
NotUnique = await ct.LoanUnit.AnyAsync(m => m.Name == newUniqueName);
NotUnique = await ct.LoanUnit.AnyAsync(z => z.Name == newUniqueName);
} while (NotUnique);
newObject.Name = newUniqueName;
newObject.Id = 0;
@@ -90,7 +90,7 @@ namespace AyaNova.Biz
//
internal async Task<LoanUnit> GetAsync(long id, bool logTheGetEvent = true)
{
var ret = await ct.LoanUnit.SingleOrDefaultAsync(m => m.Id == id);
var ret = await ct.LoanUnit.SingleOrDefaultAsync(z => z.Id == id);
if (logTheGetEvent && ret != null)
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, BizType, AyaEvent.Retrieved), ct);
return ret;
@@ -101,7 +101,7 @@ namespace AyaNova.Biz
//
internal async Task<LoanUnit> PutAsync(LoanUnit putObject)
{
LoanUnit dbObject = await ct.LoanUnit.SingleOrDefaultAsync(m => m.Id == putObject.Id);
LoanUnit dbObject = await ct.LoanUnit.SingleOrDefaultAsync(z => z.Id == putObject.Id);
if (dbObject == null)
{
AddError(ApiErrorCode.NOT_FOUND, "id");
@@ -142,7 +142,7 @@ namespace AyaNova.Biz
{
try
{
LoanUnit dbObject = await ct.LoanUnit.SingleOrDefaultAsync(m => m.Id == id);
LoanUnit dbObject = await ct.LoanUnit.SingleOrDefaultAsync(z => z.Id == id);
ValidateCanDelete(dbObject);
if (HasErrors)
return false;
@@ -182,7 +182,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
{
var obj = await ct.LoanUnit.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.LoanUnit.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -211,7 +211,7 @@ namespace AyaNova.Biz
if (!PropertyHasErrors("Name"))
{
//Use Any command is efficient way to check existance, it doesn't return the record, just a true or false
if (await ct.LoanUnit.AnyAsync(m => m.Name == proposedObj.Name && m.Id != proposedObj.Id))
if (await ct.LoanUnit.AnyAsync(z => z.Name == proposedObj.Name && z.Id != proposedObj.Id))
{
AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "Name");
}
@@ -219,7 +219,7 @@ namespace AyaNova.Biz
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.LoanUnit.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.LoanUnit.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required

View File

@@ -37,7 +37,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> ExistsAsync(long id)
{
return await ct.PM.AnyAsync(e => e.Id == id);
return await ct.PM.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -48,7 +48,7 @@ namespace AyaNova.Biz
internal async Task<PM> GetAsync(long fetchId, bool logTheGetEvent = true)
{
//This is simple so nothing more here, but often will be copying to a different output object or some other ops
var ret = await ct.PM.SingleOrDefaultAsync(m => m.Id == fetchId);
var ret = await ct.PM.SingleOrDefaultAsync(z => z.Id == fetchId);
if (logTheGetEvent && ret != null)
{
//Log
@@ -119,7 +119,7 @@ namespace AyaNova.Biz
// do
// {
// newUniqueName = Util.StringUtil.UniqueNameBuilder(dbObj.Name, l++, 255);
// NotUnique = await ct.PM.AnyAsync(m => m.Name == newUniqueName);
// NotUnique = await ct.PM.AnyAsync(z => z.Name == newUniqueName);
// } while (NotUnique);
// outObj.Name = newUniqueName;
@@ -196,7 +196,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
{
var obj = await ct.PM.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.PM.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Serial).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -250,7 +250,7 @@ namespace AyaNova.Biz
// if (!PropertyHasErrors("Name"))
// {
// //Use Any command is efficient way to check existance, it doesn't return the record, just a true or false
// if (await ct.PM.AnyAsync(m => m.Name == proposedObj.Name && m.Id != proposedObj.Id))
// if (await ct.PM.AnyAsync(z => z.Name == proposedObj.Name && z.Id != proposedObj.Id))
// {
// AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "Name");
// }
@@ -258,7 +258,7 @@ namespace AyaNova.Biz
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.PM.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.PM.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required

View File

@@ -29,7 +29,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> ExistsAsync(long id)
{
return await ct.PMTemplate.AnyAsync(e => e.Id == id);
return await ct.PMTemplate.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -72,7 +72,7 @@ namespace AyaNova.Biz
do
{
newUniqueName = Util.StringUtil.UniqueNameBuilder(dbObject.Name, l++, 255);
NotUnique = await ct.PMTemplate.AnyAsync(m => m.Name == newUniqueName);
NotUnique = await ct.PMTemplate.AnyAsync(z => z.Name == newUniqueName);
} while (NotUnique);
newObject.Name = newUniqueName;
newObject.Id = 0;
@@ -90,7 +90,7 @@ namespace AyaNova.Biz
//
internal async Task<PMTemplate> GetAsync(long id, bool logTheGetEvent = true)
{
var ret = await ct.PMTemplate.SingleOrDefaultAsync(m => m.Id == id);
var ret = await ct.PMTemplate.SingleOrDefaultAsync(z => z.Id == id);
if (logTheGetEvent && ret != null)
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, BizType, AyaEvent.Retrieved), ct);
return ret;
@@ -101,7 +101,7 @@ namespace AyaNova.Biz
//
internal async Task<PMTemplate> PutAsync(PMTemplate putObject)
{
PMTemplate dbObject = await ct.PMTemplate.SingleOrDefaultAsync(m => m.Id == putObject.Id);
PMTemplate dbObject = await ct.PMTemplate.SingleOrDefaultAsync(z => z.Id == putObject.Id);
if (dbObject == null)
{
AddError(ApiErrorCode.NOT_FOUND, "id");
@@ -142,7 +142,7 @@ namespace AyaNova.Biz
{
try
{
PMTemplate dbObject = await ct.PMTemplate.SingleOrDefaultAsync(m => m.Id == id);
PMTemplate dbObject = await ct.PMTemplate.SingleOrDefaultAsync(z => z.Id == id);
ValidateCanDelete(dbObject);
if (HasErrors)
return false;
@@ -182,7 +182,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
{
var obj = await ct.PMTemplate.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.PMTemplate.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -211,7 +211,7 @@ namespace AyaNova.Biz
if (!PropertyHasErrors("Name"))
{
//Use Any command is efficient way to check existance, it doesn't return the record, just a true or false
if (await ct.PMTemplate.AnyAsync(m => m.Name == proposedObj.Name && m.Id != proposedObj.Id))
if (await ct.PMTemplate.AnyAsync(z => z.Name == proposedObj.Name && z.Id != proposedObj.Id))
{
AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "Name");
}
@@ -219,7 +219,7 @@ namespace AyaNova.Biz
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.PMTemplate.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.PMTemplate.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required

View File

@@ -29,7 +29,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> ExistsAsync(long id)
{
return await ct.Part.AnyAsync(e => e.Id == id);
return await ct.Part.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////

View File

@@ -45,7 +45,7 @@ namespace AyaNova.Biz
long lTypeId = (long)ayaType;
//first try to fetch from db
var ret = await ct.PickListTemplate.SingleOrDefaultAsync(m => m.Id == lTypeId);
var ret = await ct.PickListTemplate.SingleOrDefaultAsync(z => z.Id == lTypeId);
if (logTheGetEvent && ret != null)
{
//Log
@@ -128,7 +128,7 @@ namespace AyaNova.Biz
//Final fixup if user specifies tag query but there are not tags on this object then
//rather than error just accept it as a no tag query
//Note: it's not valid to have more than one field with tags in the picklist definition so this works
if (PickList.ColumnDefinitions.FirstOrDefault(x => x.ColumnDataType == UiFieldDataType.Tags) == null)
if (PickList.ColumnDefinitions.FirstOrDefault(z => z.ColumnDataType == UiFieldDataType.Tags) == null)
{
TagSpecificQuery = null;
}
@@ -155,7 +155,7 @@ namespace AyaNova.Biz
//put
internal async Task<bool> ReplaceAsync(PickListTemplate template)
{
var o = await ct.PickListTemplate.FirstOrDefaultAsync(m => m.Id == (long)template.Id);
var o = await ct.PickListTemplate.FirstOrDefaultAsync(z => z.Id == (long)template.Id);
bool bAdd = false;
if (o == null)
{
@@ -191,7 +191,7 @@ namespace AyaNova.Biz
//REMOVE ANY RECORD WITH SAME AYATYPE ID
long lTypeId = (long)ayaType;
var o = await ct.PickListTemplate.FirstOrDefaultAsync(m => m.Id == lTypeId);
var o = await ct.PickListTemplate.FirstOrDefaultAsync(z => z.Id == lTypeId);
if (o != null)
{
ct.PickListTemplate.Remove(o);
@@ -248,7 +248,7 @@ namespace AyaNova.Biz
if (PickList != null)
{
var TheField = PickList.ColumnDefinitions.SingleOrDefault(x => x.FieldKey.ToLowerInvariant() == fld);
var TheField = PickList.ColumnDefinitions.SingleOrDefault(z => z.FieldKey.ToLowerInvariant() == fld);
if (TheField == null)
{

View File

@@ -29,7 +29,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> ExistsAsync(long id)
{
return await ct.Project.AnyAsync(e => e.Id == id);
return await ct.Project.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////

View File

@@ -29,7 +29,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> ExistsAsync(long id)
{
return await ct.PurchaseOrder.AnyAsync(e => e.Id == id);
return await ct.PurchaseOrder.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -72,7 +72,7 @@ namespace AyaNova.Biz
do
{
newUniqueName = Util.StringUtil.UniqueNameBuilder(dbObject.Name, l++, 255);
NotUnique = await ct.PurchaseOrder.AnyAsync(m => m.Name == newUniqueName);
NotUnique = await ct.PurchaseOrder.AnyAsync(z => z.Name == newUniqueName);
} while (NotUnique);
newObject.Name = newUniqueName;
newObject.Id = 0;
@@ -90,7 +90,7 @@ namespace AyaNova.Biz
//
internal async Task<PurchaseOrder> GetAsync(long id, bool logTheGetEvent = true)
{
var ret = await ct.PurchaseOrder.SingleOrDefaultAsync(m => m.Id == id);
var ret = await ct.PurchaseOrder.SingleOrDefaultAsync(z => z.Id == id);
if (logTheGetEvent && ret != null)
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, BizType, AyaEvent.Retrieved), ct);
return ret;
@@ -101,7 +101,7 @@ namespace AyaNova.Biz
//
internal async Task<PurchaseOrder> PutAsync(PurchaseOrder putObject)
{
PurchaseOrder dbObject = await ct.PurchaseOrder.SingleOrDefaultAsync(m => m.Id == putObject.Id);
PurchaseOrder dbObject = await ct.PurchaseOrder.SingleOrDefaultAsync(z => z.Id == putObject.Id);
if (dbObject == null)
{
AddError(ApiErrorCode.NOT_FOUND, "id");
@@ -142,7 +142,7 @@ namespace AyaNova.Biz
{
try
{
PurchaseOrder dbObject = await ct.PurchaseOrder.SingleOrDefaultAsync(m => m.Id == id);
PurchaseOrder dbObject = await ct.PurchaseOrder.SingleOrDefaultAsync(z => z.Id == id);
ValidateCanDelete(dbObject);
if (HasErrors)
return false;
@@ -182,7 +182,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
{
var obj = await ct.PurchaseOrder.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.PurchaseOrder.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -211,7 +211,7 @@ namespace AyaNova.Biz
if (!PropertyHasErrors("Name"))
{
//Use Any command is efficient way to check existance, it doesn't return the record, just a true or false
if (await ct.PurchaseOrder.AnyAsync(m => m.Name == proposedObj.Name && m.Id != proposedObj.Id))
if (await ct.PurchaseOrder.AnyAsync(z => z.Name == proposedObj.Name && z.Id != proposedObj.Id))
{
AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "Name");
}
@@ -219,7 +219,7 @@ namespace AyaNova.Biz
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.PurchaseOrder.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.PurchaseOrder.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required

View File

@@ -37,7 +37,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> ExistsAsync(long id)
{
return await ct.Quote.AnyAsync(e => e.Id == id);
return await ct.Quote.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -48,7 +48,7 @@ namespace AyaNova.Biz
internal async Task<Quote> GetAsync(long fetchId, bool logTheGetEvent = true)
{
//This is simple so nothing more here, but often will be copying to a different output object or some other ops
var ret = await ct.Quote.SingleOrDefaultAsync(m => m.Id == fetchId);
var ret = await ct.Quote.SingleOrDefaultAsync(z => z.Id == fetchId);
if (logTheGetEvent && ret != null)
{
//Log
@@ -119,7 +119,7 @@ namespace AyaNova.Biz
// do
// {
// newUniqueName = Util.StringUtil.UniqueNameBuilder(dbObj.Name, l++, 255);
// NotUnique = await ct.Quote.AnyAsync(m => m.Name == newUniqueName);
// NotUnique = await ct.Quote.AnyAsync(z => z.Name == newUniqueName);
// } while (NotUnique);
// outObj.Name = newUniqueName;
@@ -196,7 +196,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
{
var obj = await ct.Quote.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.Quote.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Serial).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -251,7 +251,7 @@ namespace AyaNova.Biz
// if (!PropertyHasErrors("Name"))
// {
// //Use Any command is efficient way to check existance, it doesn't return the record, just a true or false
// if (await ct.Quote.AnyAsync(m => m.Name == proposedObj.Name && m.Id != proposedObj.Id))
// if (await ct.Quote.AnyAsync(z => z.Name == proposedObj.Name && z.Id != proposedObj.Id))
// {
// AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "Name");
// }
@@ -259,7 +259,7 @@ namespace AyaNova.Biz
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.Quote.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.Quote.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required

View File

@@ -35,7 +35,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> ExistsAsync(long id)
{
return await ct.QuoteTemplate.AnyAsync(e => e.Id == id);
return await ct.QuoteTemplate.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -46,7 +46,7 @@ namespace AyaNova.Biz
internal async Task<QuoteTemplate> GetAsync(long fetchId, bool logTheGetEvent = true)
{
//This is simple so nothing more here, but often will be copying to a different output object or some other ops
var ret = await ct.QuoteTemplate.SingleOrDefaultAsync(m => m.Id == fetchId);
var ret = await ct.QuoteTemplate.SingleOrDefaultAsync(z => z.Id == fetchId);
if (logTheGetEvent && ret != null)
{
//Log
@@ -104,7 +104,7 @@ namespace AyaNova.Biz
do
{
newUniqueName = Util.StringUtil.UniqueNameBuilder(dbObj.Name, l++, 255);
NotUnique = await ct.QuoteTemplate.AnyAsync(m => m.Name == newUniqueName);
NotUnique = await ct.QuoteTemplate.AnyAsync(z => z.Name == newUniqueName);
} while (NotUnique);
outObj.Name = newUniqueName;
@@ -173,7 +173,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
{
var obj = await ct.QuoteTemplate.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.QuoteTemplate.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -226,7 +226,7 @@ namespace AyaNova.Biz
if (!PropertyHasErrors("Name"))
{
//Use Any command is efficient way to check existance, it doesn't return the record, just a true or false
if (await ct.QuoteTemplate.AnyAsync(m => m.Name == proposedObj.Name && m.Id != proposedObj.Id))
if (await ct.QuoteTemplate.AnyAsync(z => z.Name == proposedObj.Name && z.Id != proposedObj.Id))
{
AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "Name");
}
@@ -234,7 +234,7 @@ namespace AyaNova.Biz
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.QuoteTemplate.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.QuoteTemplate.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required

View File

@@ -19,7 +19,7 @@ namespace AyaNova.Biz
var FormTemplate = JArray.Parse(formCustom.Template);
// var FormTemplate=(JArray)OuterJson["template"];
var FormFields = AyaFormFieldDefinitions.AyaFormFields(formCustom.FormKey);
// var ThisFormNormalFieldsList = FormFields.Where(x => x.Custom == false).Select(x => x.Key).ToList();
// var ThisFormNormalFieldsList = FormFields.Where(z => z.Custom == false).Select(z => z.Key).ToList();
foreach (JObject jo in FormTemplate)
{
@@ -30,7 +30,7 @@ namespace AyaNova.Biz
// - e.g.: {template:[{fld:"ltkeyfieldname",hide:"true/false",required:"true/false", type:"bool"},{fld:"ltkeyfieldname",hide:"true/false",required:"true/false", type:"text"]}
//get the FormField object
AyaFormFieldDefinition FF = FormFields.Where(x => x.FieldKey == FldLtKey).Single();
AyaFormFieldDefinition FF = FormFields.Where(z => z.FieldKey == FldLtKey).Single();
//don't validate custom fields, just skip them
// if (!string.IsNullOrWhiteSpace(FF.PropertyName))//this used to work because there would be no property name but now there is so it doesn't

View File

@@ -153,7 +153,7 @@ namespace AyaNova.Biz
if (SearchTerms.Count > 0)
foreach (string Term in SearchTerms)
{
DictionaryMatches.AddRange(await ct.SearchDictionary.Where(m => m.Word.Contains(Term)).Select(m => m.Id).ToListAsync());
DictionaryMatches.AddRange(await ct.SearchDictionary.Where(z => z.Word.Contains(Term)).Select(z => z.Id).ToListAsync());
}
@@ -166,15 +166,15 @@ namespace AyaNova.Biz
//Contains?
if (WildCardSearchTerm.StartsWith("%") && WildCardSearchTerm.EndsWith("%"))
{
DictionaryMatches.AddRange(await ct.SearchDictionary.Where(m => m.Word.Contains(WildCardSearchTerm.Replace("%", ""))).Select(m => m.Id).ToListAsync());
DictionaryMatches.AddRange(await ct.SearchDictionary.Where(z => z.Word.Contains(WildCardSearchTerm.Replace("%", ""))).Select(z => z.Id).ToListAsync());
}
else if (WildCardSearchTerm.EndsWith("%")) //STARTS WITH?
{
DictionaryMatches.AddRange(await ct.SearchDictionary.Where(m => m.Word.StartsWith(WildCardSearchTerm.Replace("%", ""))).Select(m => m.Id).ToListAsync());
DictionaryMatches.AddRange(await ct.SearchDictionary.Where(z => z.Word.StartsWith(WildCardSearchTerm.Replace("%", ""))).Select(z => z.Id).ToListAsync());
}
else if (WildCardSearchTerm.StartsWith("%"))//ENDS WITH?
{
DictionaryMatches.AddRange(await ct.SearchDictionary.Where(m => m.Word.EndsWith(WildCardSearchTerm.Replace("%", ""))).Select(m => m.Id).ToListAsync());
DictionaryMatches.AddRange(await ct.SearchDictionary.Where(z => z.Word.EndsWith(WildCardSearchTerm.Replace("%", ""))).Select(z => z.Id).ToListAsync());
}
}
}
@@ -183,16 +183,16 @@ namespace AyaNova.Biz
var TotalSearchTermsToMatch = PreWildCardedSearchTerms.Count + SearchTerms.Count;
//Build search query based on searchParameters
var q = ct.SearchKey.Distinct().Where(x => DictionaryMatches.Contains(x.WordId));
var q = ct.SearchKey.Distinct().Where(z => DictionaryMatches.Contains(z.WordId));
//Of type?
if (searchParameters.TypeOnly != AyaType.NoType)
q = q.Where(m => m.ObjectType == searchParameters.TypeOnly);
q = q.Where(z => z.ObjectType == searchParameters.TypeOnly);
//Find the records that have the search terms in searchkey
var SearchMatches = q.GroupBy(x => new { x.ObjectType, x.ObjectId }).Select(x => new { ObjectId = x.Key.ObjectId, ObjectType = x.Key.ObjectType, ObjectCount = x.LongCount() });
var SearchMatches = q.GroupBy(z => new { z.ObjectType, z.ObjectId }).Select(z => new { ObjectId = z.Key.ObjectId, ObjectType = z.Key.ObjectType, ObjectCount = z.LongCount() });
//PUT THE RESULTS INTO MATCHING OBJECTS LIST
@@ -231,8 +231,8 @@ namespace AyaNova.Biz
MatchingObjects = MatchingObjects.Take(searchParameters.MaxResults).ToList();
//Sort and group the matching objects list in return order
//zCzustomer.OrderBy(c => c.LastName).ThenBy(c => c.FirstName)
var OrderedMatchingObjects = MatchingObjects.OrderBy(x => x.ObjectType).ThenByDescending(x => x.ObjectId);
//zCzustomer.OrderBy(z => z.LastName).ThenBy(z => z.FirstName)
var OrderedMatchingObjects = MatchingObjects.OrderBy(z => z.ObjectType).ThenByDescending(z => z.ObjectId);
@@ -545,27 +545,27 @@ namespace AyaNova.Biz
//slide a window over the text and check it's score, the highest scoring window wins
//move the length of the shortest search term so as to ensure we won't
//miss it, but faster than moving one character at a time
for (int x = 0; x < this.rawtext.Length - maximumCharactersToExtract; x += shortestSearchTermLength)
for (int z = 0; z < this.rawtext.Length - maximumCharactersToExtract; z += shortestSearchTermLength)
{
thisscore = score(x, x + (maximumCharactersToExtract));
thisscore = score(z, z + (maximumCharactersToExtract));
if (thisscore == 0) continue;
if (thisscore > BestScore)
{
BestScore = thisscore;
BestWindow = this.rawtext.Substring(x, maximumCharactersToExtract);
BestWindow = this.rawtext.Substring(z, maximumCharactersToExtract);
//Best window to get if the future score is equal
//I.E. put the terms in the center of the window if
//the score is equal
BestWindowStartPos = x + (maximumCharactersToExtract / 2);
BestWindowStartPos = z + (maximumCharactersToExtract / 2);
}
//If it's equal to the last and we're positioned over
//the best spot (terms in center) then capture that
if (thisscore == BestScore && x == BestWindowStartPos)
if (thisscore == BestScore && z == BestWindowStartPos)
{
BestWindow = this.rawtext.Substring(x, maximumCharactersToExtract);
BestWindow = this.rawtext.Substring(z, maximumCharactersToExtract);
}
}
@@ -732,7 +732,7 @@ namespace AyaNova.Biz
List<long> MatchingKeywordIdList = new List<long>();
//ITERATE ALL THE KEYWORDS, SEARCH IN THE SEARCHDICTIONARY TABLE AND COLLECT ID'S OF ANY PRE-EXISTING IN DB KEYWORDS
var ExistingKeywordMatches = await ServiceProviderProvider.DBContext.SearchDictionary.AsNoTracking().Where(m => KeyWordList.Contains(m.Word)).ToDictionaryAsync(m => m.Id, m => m.Word);
var ExistingKeywordMatches = await ServiceProviderProvider.DBContext.SearchDictionary.AsNoTracking().Where(z => KeyWordList.Contains(z.Word)).ToDictionaryAsync(z => z.Id, z => z.Word);
/*example of above query, returns a list of words and ids
SELECT a.id, a.xmin, a.word
FROM asearchdictionary AS a
@@ -858,7 +858,7 @@ cache or provide directly the translation to save time repeatedly fetching it wh
}
//FETCH THE WORD ID, PLACE IN MATCHINGKEYWORDLIST AND MOVE ON TO THE NEXT WORD
var SearchDictionaryMatchFoundInDB = await ServiceProviderProvider.DBContext.SearchDictionary.AsNoTracking().Where(x => x.Word == KeyWord).FirstOrDefaultAsync();
var SearchDictionaryMatchFoundInDB = await ServiceProviderProvider.DBContext.SearchDictionary.AsNoTracking().Where(z => z.Word == KeyWord).FirstOrDefaultAsync();
if (SearchDictionaryMatchFoundInDB != null)
{
MatchingKeywordIdList.Add(SearchDictionaryMatchFoundInDB.Id);
@@ -932,11 +932,11 @@ cache or provide directly the translation to save time repeatedly fetching it wh
// //iterate all Translations, cache the word break data
// l = await ct.Translation
// .AsNoTracking()
// .OrderBy(m => m.Name)
// .Select(m => new NameIdItem()
// .OrderBy(z => z.Name)
// .Select(z => new NameIdItem()
// {
// Id = m.Id,
// Name = m.Name
// Id = z.Id,
// Name = z.Name
// }).ToListAsync();
// TranslationWordBreakingDataCache.Add(TranslationId, await GetTranslationSearchDataAsync(TranslationId));
// }

View File

@@ -84,7 +84,7 @@ namespace AyaNova.Biz
do
{
//START: Get tag word and concurrency token and count
var ExistingTag = await ct.Tag.FirstOrDefaultAsync(x => x.Name == s);
var ExistingTag = await ct.Tag.FirstOrDefaultAsync(z => z.Name == s);
//if not present, then nothing to do
if (ExistingTag != null)
{
@@ -153,7 +153,7 @@ namespace AyaNova.Biz
do
{
//START: Get tag word and concurrency token and count
var ExistingTag = await ct.Tag.FirstOrDefaultAsync(x => x.Name == s);
var ExistingTag = await ct.Tag.FirstOrDefaultAsync(z => z.Name == s);
//if not present, then add it with a count of 0
if (ExistingTag == null)
{
@@ -191,8 +191,8 @@ namespace AyaNova.Biz
//however the client will always require a filter to display a tag list for choosing from
if (string.IsNullOrWhiteSpace(q))
{
return await ct.Tag.OrderBy(x => x.Name)
.Select(x => x.Name)
return await ct.Tag.OrderBy(z => z.Name)
.Select(z => z.Name)
.AsNoTracking()
.ToListAsync();
}
@@ -200,9 +200,9 @@ namespace AyaNova.Biz
{
q = NormalizeTag(q);
return await ct.Tag
.Where(x => x.Name.Contains(q))
.OrderBy(x => x.Name)
.Select(x => x.Name)
.Where(z => z.Name.Contains(q))
.OrderBy(z => z.Name)
.Select(z => z.Name)
.Take(25)
.AsNoTracking()
.ToListAsync();
@@ -216,7 +216,7 @@ namespace AyaNova.Biz
//however the client will always require a filter to display a tag list for choosing from
if (string.IsNullOrWhiteSpace(q))
{
return await ct.Tag.OrderByDescending(x => x.RefCount).Select(x => new TagCloudItem() { Name = x.Name, RefCount = x.RefCount }).AsNoTracking().ToListAsync();
return await ct.Tag.OrderByDescending(z => z.RefCount).Select(z => new TagCloudItem() { Name = z.Name, RefCount = z.RefCount }).AsNoTracking().ToListAsync();
}
else
{
@@ -224,9 +224,9 @@ namespace AyaNova.Biz
//TODO: Use the EF CORE TAKE method to restrict the results to a maximum limit
//however need to ensure it doesn't balk when the limit is higher than the number of results (probably not but test that)
return await ct.Tag
.Where(x => x.Name.Contains(q))
.OrderByDescending(x => x.RefCount)
.Select(x => new TagCloudItem() { Name = x.Name, RefCount = x.RefCount })
.Where(z => z.Name.Contains(q))
.OrderByDescending(z => z.RefCount)
.Select(z => new TagCloudItem() { Name = z.Name, RefCount = z.RefCount })
.AsNoTracking()
.ToListAsync();
}

View File

@@ -54,7 +54,7 @@ namespace AyaNova.Biz
return null;
//fetch the existing translation for duplication
var SourceTranslation = await ct.Translation.Include(x => x.TranslationItems).SingleOrDefaultAsync(m => m.Id == inObj.Id);
var SourceTranslation = await ct.Translation.Include(z => z.TranslationItems).SingleOrDefaultAsync(z => z.Id == inObj.Id);
//replicate the source to a new dest and save
Translation NewTranslation = new Translation();
@@ -83,7 +83,7 @@ namespace AyaNova.Biz
internal async Task<Translation> GetAsync(long fetchId)
{
//This is simple so nothing more here, but often will be copying to a different output object or some other ops
return await ct.Translation.Include(x => x.TranslationItems).SingleOrDefaultAsync(m => m.Id == fetchId);
return await ct.Translation.Include(z => z.TranslationItems).SingleOrDefaultAsync(z => z.Id == fetchId);
}
@@ -94,11 +94,11 @@ namespace AyaNova.Biz
List<NameIdItem> l = new List<NameIdItem>();
l = await ct.Translation
.AsNoTracking()
.OrderBy(m => m.Name)
.Select(m => new NameIdItem()
.OrderBy(z => z.Name)
.Select(z => new NameIdItem()
{
Id = m.Id,
Name = m.Name
Id = z.Id,
Name = z.Name
}).ToListAsync();
return l;
@@ -154,7 +154,7 @@ namespace AyaNova.Biz
#if (DEBUG)
TrackRequestedKey(param);
#endif
var ret = await ct.TranslationItem.Where(x => x.TranslationId == UserTranslationId && param.Contains(x.Key)).ToDictionaryAsync(x => x.Key, x => x.Display);
var ret = await ct.TranslationItem.Where(z => z.TranslationId == UserTranslationId && param.Contains(z.Key)).ToDictionaryAsync(z => z.Key, z => z.Display);
return ret.ToList();
}
@@ -168,7 +168,7 @@ namespace AyaNova.Biz
if (!await ct.Translation.AnyAsync(e => e.Id == translationId))
translationId = ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID;
var ret = await ct.TranslationItem.Where(x => x.TranslationId == translationId && param.Contains(x.Key)).AsNoTracking().ToDictionaryAsync(x => x.Key, x => x.Display);
var ret = await ct.TranslationItem.Where(z => z.TranslationId == translationId && param.Contains(z.Key)).AsNoTracking().ToDictionaryAsync(z => z.Key, z => z.Display);
return ret;
}
@@ -178,7 +178,7 @@ namespace AyaNova.Biz
{
if (ct == null)
ct = ServiceProviderProvider.DBContext;
var ret = await ct.Translation.Where(x => x.Id == translationId).AsNoTracking().Select(m => m.CjkIndex).SingleOrDefaultAsync();
var ret = await ct.Translation.Where(z => z.Id == translationId).AsNoTracking().Select(z => z.CjkIndex).SingleOrDefaultAsync();
return ret;
}
@@ -196,14 +196,14 @@ namespace AyaNova.Biz
TrackRequestedKey(key);
#endif
AyContext ct = ServiceProviderProvider.DBContext;
return await ct.TranslationItem.Where(m => m.TranslationId == ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID && m.Key == key).Select(m => m.Display).AsNoTracking().FirstOrDefaultAsync();
return await ct.TranslationItem.Where(z => z.TranslationId == ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID && z.Key == key).Select(z => z.Display).AsNoTracking().FirstOrDefaultAsync();
}
//Get all stock keys that are valid (used for key coverage reporting)
internal static async Task<List<string>> GetKeyListAsync()
{
AyContext ct = ServiceProviderProvider.DBContext;
return await ct.TranslationItem.Where(m => m.TranslationId == 1).OrderBy(m => m.Key).Select(m => m.Key).AsNoTracking().ToListAsync();
return await ct.TranslationItem.Where(z => z.TranslationId == 1).OrderBy(z => z.Key).Select(z => z.Key).AsNoTracking().ToListAsync();
}
@@ -253,7 +253,7 @@ namespace AyaNova.Biz
foreach (NewTextIdConcurrencyTokenItem tit in inObj)
{
var titem = await ct.TranslationItem.SingleOrDefaultAsync(m => m.Id == tit.Id);
var titem = await ct.TranslationItem.SingleOrDefaultAsync(z => z.Id == tit.Id);
if (titem == null)
{
AddError(ApiErrorCode.NOT_FOUND, $"Translation item ID {tit.Id}");
@@ -347,7 +347,7 @@ namespace AyaNova.Biz
AddError(ApiErrorCode.VALIDATION_LENGTH_EXCEEDED, "Name", "255 char max");
//Name must be unique
if (await ct.Translation.AnyAsync(m => m.Name == inObjName))
if (await ct.Translation.AnyAsync(z => z.Name == inObjName))
AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "Name");
return;
@@ -387,7 +387,7 @@ namespace AyaNova.Biz
public async Task<long> TranslationNameToIdAsync(string translationName)
{
var v = await ct.Translation.AsNoTracking().FirstOrDefaultAsync(c => c.Name == translationName);
var v = await ct.Translation.AsNoTracking().FirstOrDefaultAsync(z => z.Name == translationName);
if (v == null) return 0;
return v.Id;
}
@@ -398,20 +398,20 @@ namespace AyaNova.Biz
{
ct = ServiceProviderProvider.DBContext;
}
var v = await ct.Translation.AsNoTracking().FirstOrDefaultAsync(c => c.Name == translationName);
var v = await ct.Translation.AsNoTracking().FirstOrDefaultAsync(z => z.Name == translationName);
if (v == null) return ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID;
return v.Id;
}
public async Task<bool> TranslationExistsAsync(string translationName)
{
return await ct.Translation.AnyAsync(c => c.Name == translationName);
return await ct.Translation.AnyAsync(z => z.Name == translationName);
}
public async Task<bool> TranslationExistsAsync(long id)
{
return await ct.Translation.AnyAsync(e => e.Id == id);
return await ct.Translation.AnyAsync(z => z.Id == id);
}
@@ -419,14 +419,14 @@ namespace AyaNova.Biz
//this is only called by Search.cs to cache a local cjk and stopwords, no one else calls it currently
public static async Task<long> ReturnSpecifiedTranslationIdIfExistsOrDefaultTranslationId(long id, AyContext ct)
{
if (!await ct.Translation.AnyAsync(e => e.Id == id))
if (!await ct.Translation.AnyAsync(z => z.Id == id))
return ServerBootConfig.AYANOVA_DEFAULT_TRANSLATION_ID;
return id;
}
public async Task<bool> TranslationItemExistsAsync(long id)
{
return await ct.TranslationItem.AnyAsync(e => e.Id == id);
return await ct.TranslationItem.AnyAsync(z => z.Id == id);
}

View File

@@ -29,7 +29,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> ExistsAsync(long id)
{
return await ct.Unit.AnyAsync(e => e.Id == id);
return await ct.Unit.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -72,7 +72,7 @@ namespace AyaNova.Biz
do
{
newUniqueName = Util.StringUtil.UniqueNameBuilder(dbObject.Name, l++, 255);
NotUnique = await ct.Unit.AnyAsync(m => m.Name == newUniqueName);
NotUnique = await ct.Unit.AnyAsync(z => z.Name == newUniqueName);
} while (NotUnique);
newObject.Name = newUniqueName;
newObject.Id = 0;
@@ -90,7 +90,7 @@ namespace AyaNova.Biz
//
internal async Task<Unit> GetAsync(long id, bool logTheGetEvent = true)
{
var ret = await ct.Unit.SingleOrDefaultAsync(m => m.Id == id);
var ret = await ct.Unit.SingleOrDefaultAsync(z => z.Id == id);
if (logTheGetEvent && ret != null)
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, BizType, AyaEvent.Retrieved), ct);
return ret;
@@ -101,7 +101,7 @@ namespace AyaNova.Biz
//
internal async Task<Unit> PutAsync(Unit putObject)
{
Unit dbObject = await ct.Unit.SingleOrDefaultAsync(m => m.Id == putObject.Id);
Unit dbObject = await ct.Unit.SingleOrDefaultAsync(z => z.Id == putObject.Id);
if (dbObject == null)
{
AddError(ApiErrorCode.NOT_FOUND, "id");
@@ -142,7 +142,7 @@ namespace AyaNova.Biz
{
try
{
Unit dbObject = await ct.Unit.SingleOrDefaultAsync(m => m.Id == id);
Unit dbObject = await ct.Unit.SingleOrDefaultAsync(z => z.Id == id);
ValidateCanDelete(dbObject);
if (HasErrors)
return false;
@@ -182,7 +182,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
{
var obj = await ct.Unit.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.Unit.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -211,7 +211,7 @@ namespace AyaNova.Biz
if (!PropertyHasErrors("Name"))
{
//Use Any command is efficient way to check existance, it doesn't return the record, just a true or false
if (await ct.Unit.AnyAsync(m => m.Name == proposedObj.Name && m.Id != proposedObj.Id))
if (await ct.Unit.AnyAsync(z => z.Name == proposedObj.Name && z.Id != proposedObj.Id))
{
AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "Name");
}
@@ -219,7 +219,7 @@ namespace AyaNova.Biz
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.Unit.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.Unit.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required

View File

@@ -29,7 +29,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> ExistsAsync(long id)
{
return await ct.UnitModel.AnyAsync(e => e.Id == id);
return await ct.UnitModel.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -72,7 +72,7 @@ namespace AyaNova.Biz
do
{
newUniqueName = Util.StringUtil.UniqueNameBuilder(dbObject.Name, l++, 255);
NotUnique = await ct.UnitModel.AnyAsync(m => m.Name == newUniqueName);
NotUnique = await ct.UnitModel.AnyAsync(z => z.Name == newUniqueName);
} while (NotUnique);
newObject.Name = newUniqueName;
newObject.Id = 0;
@@ -90,7 +90,7 @@ namespace AyaNova.Biz
//
internal async Task<UnitModel> GetAsync(long id, bool logTheGetEvent = true)
{
var ret = await ct.UnitModel.SingleOrDefaultAsync(m => m.Id == id);
var ret = await ct.UnitModel.SingleOrDefaultAsync(z => z.Id == id);
if (logTheGetEvent && ret != null)
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, BizType, AyaEvent.Retrieved), ct);
return ret;
@@ -101,7 +101,7 @@ namespace AyaNova.Biz
//
internal async Task<UnitModel> PutAsync(UnitModel putObject)
{
UnitModel dbObject = await ct.UnitModel.SingleOrDefaultAsync(m => m.Id == putObject.Id);
UnitModel dbObject = await ct.UnitModel.SingleOrDefaultAsync(z => z.Id == putObject.Id);
if (dbObject == null)
{
AddError(ApiErrorCode.NOT_FOUND, "id");
@@ -142,7 +142,7 @@ namespace AyaNova.Biz
{
try
{
UnitModel dbObject = await ct.UnitModel.SingleOrDefaultAsync(m => m.Id == id);
UnitModel dbObject = await ct.UnitModel.SingleOrDefaultAsync(z => z.Id == id);
ValidateCanDelete(dbObject);
if (HasErrors)
return false;
@@ -182,7 +182,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
{
var obj = await ct.UnitModel.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.UnitModel.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -211,7 +211,7 @@ namespace AyaNova.Biz
if (!PropertyHasErrors("Name"))
{
//Use Any command is efficient way to check existance, it doesn't return the record, just a true or false
if (await ct.UnitModel.AnyAsync(m => m.Name == proposedObj.Name && m.Id != proposedObj.Id))
if (await ct.UnitModel.AnyAsync(z => z.Name == proposedObj.Name && z.Id != proposedObj.Id))
{
AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "Name");
}
@@ -219,7 +219,7 @@ namespace AyaNova.Biz
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.UnitModel.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.UnitModel.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required

View File

@@ -32,9 +32,9 @@ namespace AyaNova.Biz
internal static async Task<long> ActiveCountAsync()
{
var ct = ServiceProviderProvider.DBContext;
var ret = await ct.User.Where(x => x.Active == true && (
x.UserType == UserType.Service ||
x.UserType == UserType.ServiceContractor)).LongCountAsync();
var ret = await ct.User.Where(z => z.Active == true && (
z.UserType == UserType.Service ||
z.UserType == UserType.ServiceContractor)).LongCountAsync();
return ret;
}
@@ -51,7 +51,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> ExistsAsync(long id)
{
return await ct.User.AnyAsync(e => e.Id == id);
return await ct.User.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -127,7 +127,7 @@ namespace AyaNova.Biz
{
//This is simple so nothing more here, but often will be copying to a different output object or some other ops
var dbFullUser = await ct.User.SingleOrDefaultAsync(m => m.Id == Id);
var dbFullUser = await ct.User.SingleOrDefaultAsync(z => z.Id == Id);
if (dbFullUser != null)
{
//Log
@@ -149,7 +149,7 @@ namespace AyaNova.Biz
//
internal async Task<User> PutAsync(User putObject)
{
User dbObject = await ct.User.SingleOrDefaultAsync(m => m.Id == putObject.Id);
User dbObject = await ct.User.SingleOrDefaultAsync(z => z.Id == putObject.Id);
if (dbObject == null)
{
AddError(ApiErrorCode.NOT_FOUND, "id");
@@ -214,7 +214,7 @@ namespace AyaNova.Biz
// //put
// internal async Task<User> PutAsync(User putObject)
// {
// User dbObject = await ct.User.SingleOrDefaultAsync(m => m.Id == putObject.Id);
// User dbObject = await ct.User.SingleOrDefaultAsync(z => z.Id == putObject.Id);
// if (dbObject == null)
// {
// AddError(ApiErrorCode.NOT_FOUND, "id");
@@ -280,7 +280,7 @@ namespace AyaNova.Biz
//
internal async Task<bool> ChangePasswordAsync(long userId, string newPassword)
{
User dbObj = await ct.User.FirstOrDefaultAsync(m => m.Id == userId);
User dbObj = await ct.User.FirstOrDefaultAsync(z => z.Id == userId);
dbObj.Password = Hasher.hash(dbObj.Salt, newPassword);
await ct.SaveChangesAsync();
@@ -305,7 +305,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
{
var obj = await ct.User.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.User.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.EmployeeNumber).AddText(obj.Tags).AddText(obj.Wiki).AddCustomFields(obj.CustomFields);
@@ -394,14 +394,14 @@ namespace AyaNova.Biz
if (!PropertyHasErrors("Name"))
{
//Use Any command is efficient way to check existance, it doesn't return the record, just a true or false
if (await ct.User.AnyAsync(m => m.Name == proposedObj.Name && m.Id != proposedObj.Id))
if (await ct.User.AnyAsync(z => z.Name == proposedObj.Name && z.Id != proposedObj.Id))
{
AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "Name");
}
}
//LOGIN must be unique
if (await ct.User.AnyAsync(m => m.Login == proposedObj.Login && m.Id != proposedObj.Id))
if (await ct.User.AnyAsync(z => z.Login == proposedObj.Login && z.Id != proposedObj.Id))
{
AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "Login");
}
@@ -447,7 +447,7 @@ namespace AyaNova.Biz
else
{
//verify that client exists
//TODO WHEN CLIENT OBJECT MADE if(!ct.Client.any(m))
//TODO WHEN CLIENT OBJECT MADE if(!ct.Client.any(z))
}
}
@@ -461,7 +461,7 @@ namespace AyaNova.Biz
else
{
//verify that HeadOfficeId exists
//TODO WHEN HEADOFFICE OBJECT MADE if(!ct.HeadOffice.any(m))
//TODO WHEN HEADOFFICE OBJECT MADE if(!ct.HeadOffice.any(z))
}
}
@@ -475,7 +475,7 @@ namespace AyaNova.Biz
else
{
//verify that VENDOR SubVendorId exists
//TODO WHEN VENDOR OBJECT MADE if(!ct.Vendor.any(m))
//TODO WHEN VENDOR OBJECT MADE if(!ct.Vendor.any(z))
}
}
@@ -489,7 +489,7 @@ namespace AyaNova.Biz
AddError(ApiErrorCode.VALIDATION_LENGTH_EXCEEDED, "EmployeeNumber", "255 max");
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.SingleOrDefaultAsync(x => x.FormKey == AyaType.User.ToString());
var FormCustomization = await ct.FormCustom.SingleOrDefaultAsync(z => z.FormKey == AyaType.User.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required
@@ -527,8 +527,8 @@ namespace AyaNova.Biz
//They can always make any user inactive to get rid of them and it will mean referential integrity issues are not there
//There's only one rule - have they done anything eventlog worthy yet?
//if (await ct.Event.Select(m => m).Where(m => m.UserId == inObj.Id).Count() > 0)
if (await ct.Event.AnyAsync(m => m.UserId == inObj.Id))
//if (await ct.Event.Select(z => z).Where(z => z.UserId == inObj.Id).Count() > 0)
if (await ct.Event.AnyAsync(z => z.UserId == inObj.Id))
{
AddError(ApiErrorCode.INVALID_OPERATION, "user", "LT:ErrorDBForeignKeyViolation");
return;
@@ -592,7 +592,7 @@ namespace AyaNova.Biz
if (jobData.ContainsKey("idList"))
idList = ((JArray)jobData["idList"]).ToObject<List<long>>();
else
idList = await ct.Widget.Select(m => m.Id).ToListAsync();
idList = await ct.Widget.Select(z => z.Id).ToListAsync();
bool SaveIt = false;
foreach (long id in idList)
{

View File

@@ -34,7 +34,7 @@ namespace AyaNova.Biz
{
//NOTE: get by UserId as there is a 1:1 relationship, not by useroptions id
//This is simple so nothing more here, but often will be copying to a different output object or some other ops
return await ct.UserOptions.SingleOrDefaultAsync(m => m.UserId == fetchId);
return await ct.UserOptions.SingleOrDefaultAsync(z => z.UserId == fetchId);
}

View File

@@ -29,7 +29,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> ExistsAsync(long id)
{
return await ct.Vendor.AnyAsync(e => e.Id == id);
return await ct.Vendor.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -72,7 +72,7 @@ namespace AyaNova.Biz
do
{
newUniqueName = Util.StringUtil.UniqueNameBuilder(dbObject.Name, l++, 255);
NotUnique = await ct.Vendor.AnyAsync(m => m.Name == newUniqueName);
NotUnique = await ct.Vendor.AnyAsync(z => z.Name == newUniqueName);
} while (NotUnique);
newObject.Name = newUniqueName;
newObject.Id = 0;
@@ -90,7 +90,7 @@ namespace AyaNova.Biz
//
internal async Task<Vendor> GetAsync(long id, bool logTheGetEvent = true)
{
var ret = await ct.Vendor.SingleOrDefaultAsync(m => m.Id == id);
var ret = await ct.Vendor.SingleOrDefaultAsync(z => z.Id == id);
if (logTheGetEvent && ret != null)
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, BizType, AyaEvent.Retrieved), ct);
return ret;
@@ -101,7 +101,7 @@ namespace AyaNova.Biz
//
internal async Task<Vendor> PutAsync(Vendor putObject)
{
Vendor dbObject = await ct.Vendor.SingleOrDefaultAsync(m => m.Id == putObject.Id);
Vendor dbObject = await ct.Vendor.SingleOrDefaultAsync(z => z.Id == putObject.Id);
if (dbObject == null)
{
AddError(ApiErrorCode.NOT_FOUND, "id");
@@ -142,7 +142,7 @@ namespace AyaNova.Biz
{
try
{
Vendor dbObject = await ct.Vendor.SingleOrDefaultAsync(m => m.Id == id);
Vendor dbObject = await ct.Vendor.SingleOrDefaultAsync(z => z.Id == id);
ValidateCanDelete(dbObject);
if (HasErrors)
return false;
@@ -182,7 +182,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
{
var obj = await ct.Vendor.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.Vendor.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -211,7 +211,7 @@ namespace AyaNova.Biz
if (!PropertyHasErrors("Name"))
{
//Use Any command is efficient way to check existance, it doesn't return the record, just a true or false
if (await ct.Vendor.AnyAsync(m => m.Name == proposedObj.Name && m.Id != proposedObj.Id))
if (await ct.Vendor.AnyAsync(z => z.Name == proposedObj.Name && z.Id != proposedObj.Id))
{
AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "Name");
}
@@ -219,7 +219,7 @@ namespace AyaNova.Biz
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.Vendor.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.Vendor.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required

View File

@@ -34,7 +34,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> ExistsAsync(long id)
{
return await ct.Widget.AnyAsync(e => e.Id == id);
return await ct.Widget.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -77,7 +77,7 @@ namespace AyaNova.Biz
do
{
newUniqueName = Util.StringUtil.UniqueNameBuilder(dbObject.Name, l++, 255);
NotUnique = await ct.Widget.AnyAsync(m => m.Name == newUniqueName);
NotUnique = await ct.Widget.AnyAsync(z => z.Name == newUniqueName);
} while (NotUnique);
newObject.Name = newUniqueName;
newObject.Id = 0;
@@ -95,7 +95,7 @@ namespace AyaNova.Biz
//
internal async Task<Widget> GetAsync(long id, bool logTheGetEvent = true)
{
var ret = await ct.Widget.SingleOrDefaultAsync(m => m.Id == id);
var ret = await ct.Widget.SingleOrDefaultAsync(z => z.Id == id);
if (logTheGetEvent && ret != null)
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, BizType, AyaEvent.Retrieved), ct);
return ret;
@@ -106,7 +106,7 @@ namespace AyaNova.Biz
//
internal async Task<Widget> PutAsync(Widget putObject)
{
Widget dbObject = await ct.Widget.SingleOrDefaultAsync(m => m.Id == putObject.Id);
Widget dbObject = await ct.Widget.SingleOrDefaultAsync(z => z.Id == putObject.Id);
if (dbObject == null)
{
AddError(ApiErrorCode.NOT_FOUND, "id");
@@ -147,7 +147,7 @@ namespace AyaNova.Biz
{
try
{
Widget dbObject = await ct.Widget.SingleOrDefaultAsync(m => m.Id == id);
Widget dbObject = await ct.Widget.SingleOrDefaultAsync(z => z.Id == id);
ValidateCanDelete(dbObject);
if (HasErrors)
return false;
@@ -205,7 +205,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
{
var obj = await ct.Widget.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.Widget.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Serial).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -235,7 +235,7 @@ namespace AyaNova.Biz
if (!PropertyHasErrors("Name"))
{
//Use Any command is efficient way to check existance, it doesn't return the record, just a true or false
if (await ct.Widget.AnyAsync(m => m.Name == proposedObj.Name && m.Id != proposedObj.Id))
if (await ct.Widget.AnyAsync(z => z.Name == proposedObj.Name && z.Id != proposedObj.Id))
{
AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "Name");
}
@@ -260,7 +260,7 @@ namespace AyaNova.Biz
}
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.Widget.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.Widget.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required
@@ -331,7 +331,7 @@ namespace AyaNova.Biz
if (jobData.ContainsKey("idList"))
idList = ((JArray)jobData["idList"]).ToObject<List<long>>();
else
idList = await ct.Widget.Select(m => m.Id).ToListAsync();
idList = await ct.Widget.Select(z => z.Id).ToListAsync();
bool SaveIt = false;
foreach (long id in idList)
{

View File

@@ -49,7 +49,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> WorkOrderExistsAsync(long id)
{
return await ct.WorkOrder.AnyAsync(e => e.Id == id);
return await ct.WorkOrder.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -128,7 +128,7 @@ namespace AyaNova.Biz
.ThenInclude(wi => wi.Travels)
.Include(w => w.Items)
.ThenInclude(wi => wi.Units)
.SingleOrDefaultAsync(m => m.Id == id);
.SingleOrDefaultAsync(z => z.Id == id);
if (logTheGetEvent && ret != null)
@@ -141,7 +141,7 @@ namespace AyaNova.Biz
//
internal async Task<WorkOrder> WorkOrderPutAsync(dtWorkOrder dtPutObject)
{
WorkOrder dbObject = await ct.WorkOrder.SingleOrDefaultAsync(m => m.Id == dtPutObject.Id);
WorkOrder dbObject = await ct.WorkOrder.SingleOrDefaultAsync(z => z.Id == dtPutObject.Id);
if (dbObject == null)
{
AddError(ApiErrorCode.NOT_FOUND, "id");
@@ -195,13 +195,13 @@ namespace AyaNova.Biz
{
try
{
WorkOrder dbObject = await ct.WorkOrder.SingleOrDefaultAsync(m => m.Id == id);
WorkOrder dbObject = await ct.WorkOrder.SingleOrDefaultAsync(z => z.Id == id);
WorkOrderValidateCanDelete(dbObject);
if (HasErrors)
return false;
//collect the child id's to delete
var ItemIds = await ct.WorkOrderItem.Where(m => m.WorkOrderId == id).Select(m => m.Id).ToListAsync();
var ItemIds = await ct.WorkOrderItem.Where(z => z.WorkOrderId == id).Select(z => z.Id).ToListAsync();
//Delete children
foreach (long ItemId in ItemIds)
@@ -313,7 +313,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
{
var obj = await ct.WorkOrder.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.WorkOrder.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Serial).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -346,7 +346,7 @@ namespace AyaNova.Biz
// if (!PropertyHasErrors("Name"))
// {
// //Use Any command is efficient way to check existance, it doesn't return the record, just a true or false
// if (await ct.WorkOrder.AnyAsync(m => m.Name == proposedObj.Name && m.Id != proposedObj.Id))
// if (await ct.WorkOrder.AnyAsync(z => z.Name == proposedObj.Name && z.Id != proposedObj.Id))
// {
// AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "Name");
// }
@@ -354,7 +354,7 @@ namespace AyaNova.Biz
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.WorkOrder.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.WorkOrder.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required
@@ -391,7 +391,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> ItemExistsAsync(long id)
{
return await ct.WorkOrderItem.AnyAsync(e => e.Id == id);
return await ct.WorkOrderItem.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -439,7 +439,7 @@ namespace AyaNova.Biz
.Include(wi => wi.Tasks)
.Include(wi => wi.Travels)
.Include(wi => wi.Units)
.SingleOrDefaultAsync(m => m.Id == id);
.SingleOrDefaultAsync(z => z.Id == id);
if (logTheGetEvent && ret != null)
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, AyaType.WorkOrderItem, AyaEvent.Retrieved), ct);
return ret;
@@ -452,7 +452,7 @@ namespace AyaNova.Biz
internal async Task<WorkOrderItem> ItemPutAsync(dtWorkOrderItem dtPutObject)
{
WorkOrderItem dbObject = await ct.WorkOrderItem.SingleOrDefaultAsync(m => m.Id == dtPutObject.Id);
WorkOrderItem dbObject = await ct.WorkOrderItem.SingleOrDefaultAsync(z => z.Id == dtPutObject.Id);
if (dbObject == null)
{
AddError(ApiErrorCode.NOT_FOUND, "id");
@@ -502,21 +502,21 @@ namespace AyaNova.Biz
transaction = await ct.Database.BeginTransactionAsync();
try
{
WorkOrderItem dbObject = await ct.WorkOrderItem.SingleOrDefaultAsync(m => m.Id == id);
WorkOrderItem dbObject = await ct.WorkOrderItem.SingleOrDefaultAsync(z => z.Id == id);
ItemValidateCanDelete(dbObject);
if (HasErrors)
return false;
//collect the child id's to delete
var ExpenseIds = await ct.WorkOrderItemExpense.Where(m => m.WorkOrderItemId == id).Select(m => m.Id).ToListAsync();
var LaborIds = await ct.WorkOrderItemLabor.Where(m => m.WorkOrderItemId == id).Select(m => m.Id).ToListAsync();
var LoanIds = await ct.WorkOrderItemLoan.Where(m => m.WorkOrderItemId == id).Select(m => m.Id).ToListAsync();
var PartIds = await ct.WorkOrderItemPart.Where(m => m.WorkOrderItemId == id).Select(m => m.Id).ToListAsync();
var PartRequestIds = await ct.WorkOrderItemPartRequest.Where(m => m.WorkOrderItemId == id).Select(m => m.Id).ToListAsync();
var ScheduledUserIds = await ct.WorkOrderItemScheduledUser.Where(m => m.WorkOrderItemId == id).Select(m => m.Id).ToListAsync();
var TaskIds = await ct.WorkOrderItemTask.Where(m => m.WorkOrderItemId == id).Select(m => m.Id).ToListAsync();
var TravelIds = await ct.WorkOrderItemTravel.Where(m => m.WorkOrderItemId == id).Select(m => m.Id).ToListAsync();
var UnitIds = await ct.WorkOrderItemUnit.Where(m => m.WorkOrderItemId == id).Select(m => m.Id).ToListAsync();
var ExpenseIds = await ct.WorkOrderItemExpense.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
var LaborIds = await ct.WorkOrderItemLabor.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
var LoanIds = await ct.WorkOrderItemLoan.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
var PartIds = await ct.WorkOrderItemPart.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
var PartRequestIds = await ct.WorkOrderItemPartRequest.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
var ScheduledUserIds = await ct.WorkOrderItemScheduledUser.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
var TaskIds = await ct.WorkOrderItemTask.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
var TravelIds = await ct.WorkOrderItemTravel.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
var UnitIds = await ct.WorkOrderItemUnit.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
//Delete children
foreach (long ItemId in ExpenseIds)
@@ -590,7 +590,7 @@ namespace AyaNova.Biz
}
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.WorkOrderItem.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.WorkOrderItem.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required
@@ -635,7 +635,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> ItemGetSearchResultSummary(long id)
{
var obj = await ct.WorkOrderItem.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.WorkOrderItem.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -658,7 +658,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> ExpenseExistsAsync(long id)
{
return await ct.WorkOrderItemExpense.AnyAsync(e => e.Id == id);
return await ct.WorkOrderItemExpense.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -694,7 +694,7 @@ namespace AyaNova.Biz
//docs say this will not query twice but will recognize the duplicate woitem bit which is required for multiple grandchild collections
var ret =
await ct.WorkOrderItemExpense
.SingleOrDefaultAsync(m => m.Id == id);
.SingleOrDefaultAsync(z => z.Id == id);
if (logTheGetEvent && ret != null)
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, AyaType.WorkOrderItemExpense, AyaEvent.Retrieved), ct);
return ret;
@@ -705,7 +705,7 @@ namespace AyaNova.Biz
//
internal async Task<WorkOrderItemExpense> ExpensePutAsync(WorkOrderItemExpense dtPutObject)
{
WorkOrderItemExpense dbObject = await ct.WorkOrderItemExpense.SingleOrDefaultAsync(m => m.Id == dtPutObject.Id);
WorkOrderItemExpense dbObject = await ct.WorkOrderItemExpense.SingleOrDefaultAsync(z => z.Id == dtPutObject.Id);
if (dbObject == null)
{
AddError(ApiErrorCode.NOT_FOUND, "id");
@@ -746,7 +746,7 @@ namespace AyaNova.Biz
//
internal async Task<bool> ExpenseDeleteAsync(long id)
{
WorkOrderItemExpense dbObject = await ct.WorkOrderItemExpense.SingleOrDefaultAsync(m => m.Id == id);
WorkOrderItemExpense dbObject = await ct.WorkOrderItemExpense.SingleOrDefaultAsync(z => z.Id == id);
ExpenseValidateCanDelete(dbObject);
if (HasErrors)
return false;
@@ -776,7 +776,7 @@ namespace AyaNova.Biz
}
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.WorkOrderItemExpense.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.WorkOrderItemExpense.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required
@@ -824,7 +824,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> ExpenseGetSearchResultSummary(long id)
{
var obj = await ct.WorkOrderItemExpense.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.WorkOrderItemExpense.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -847,7 +847,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> LaborExistsAsync(long id)
{
return await ct.WorkOrderItemLabor.AnyAsync(e => e.Id == id);
return await ct.WorkOrderItemLabor.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -883,7 +883,7 @@ namespace AyaNova.Biz
//docs say this will not query twice but will recognize the duplicate woitem bit which is required for multiple grandchild collections
var ret =
await ct.WorkOrderItemLabor
.SingleOrDefaultAsync(m => m.Id == id);
.SingleOrDefaultAsync(z => z.Id == id);
if (logTheGetEvent && ret != null)
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, AyaType.WorkOrderItemLabor, AyaEvent.Retrieved), ct);
return ret;
@@ -894,7 +894,7 @@ namespace AyaNova.Biz
//
internal async Task<WorkOrderItemLabor> LaborPutAsync(WorkOrderItemLabor dtPutObject)
{
WorkOrderItemLabor dbObject = await ct.WorkOrderItemLabor.SingleOrDefaultAsync(m => m.Id == dtPutObject.Id);
WorkOrderItemLabor dbObject = await ct.WorkOrderItemLabor.SingleOrDefaultAsync(z => z.Id == dtPutObject.Id);
if (dbObject == null)
{
AddError(ApiErrorCode.NOT_FOUND, "id");
@@ -935,7 +935,7 @@ namespace AyaNova.Biz
//
internal async Task<bool> LaborDeleteAsync(long id)
{
WorkOrderItemLabor dbObject = await ct.WorkOrderItemLabor.SingleOrDefaultAsync(m => m.Id == id);
WorkOrderItemLabor dbObject = await ct.WorkOrderItemLabor.SingleOrDefaultAsync(z => z.Id == id);
LaborValidateCanDelete(dbObject);
if (HasErrors)
return false;
@@ -965,7 +965,7 @@ namespace AyaNova.Biz
}
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.WorkOrderItemLabor.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.WorkOrderItemLabor.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required
@@ -1013,7 +1013,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> LaborGetSearchResultSummary(long id)
{
var obj = await ct.WorkOrderItemLabor.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.WorkOrderItemLabor.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -1035,7 +1035,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> LoanExistsAsync(long id)
{
return await ct.WorkOrderItemLoan.AnyAsync(e => e.Id == id);
return await ct.WorkOrderItemLoan.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1071,7 +1071,7 @@ namespace AyaNova.Biz
//docs say this will not query twice but will recognize the duplicate woitem bit which is required for multiple grandchild collections
var ret =
await ct.WorkOrderItemLoan
.SingleOrDefaultAsync(m => m.Id == id);
.SingleOrDefaultAsync(z => z.Id == id);
if (logTheGetEvent && ret != null)
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, AyaType.WorkOrderItemLoan, AyaEvent.Retrieved), ct);
return ret;
@@ -1082,7 +1082,7 @@ namespace AyaNova.Biz
//
internal async Task<WorkOrderItemLoan> LoanPutAsync(WorkOrderItemLoan dtPutObject)
{
WorkOrderItemLoan dbObject = await ct.WorkOrderItemLoan.SingleOrDefaultAsync(m => m.Id == dtPutObject.Id);
WorkOrderItemLoan dbObject = await ct.WorkOrderItemLoan.SingleOrDefaultAsync(z => z.Id == dtPutObject.Id);
if (dbObject == null)
{
AddError(ApiErrorCode.NOT_FOUND, "id");
@@ -1123,7 +1123,7 @@ namespace AyaNova.Biz
//
internal async Task<bool> LoanDeleteAsync(long id)
{
WorkOrderItemLoan dbObject = await ct.WorkOrderItemLoan.SingleOrDefaultAsync(m => m.Id == id);
WorkOrderItemLoan dbObject = await ct.WorkOrderItemLoan.SingleOrDefaultAsync(z => z.Id == id);
LoanValidateCanDelete(dbObject);
if (HasErrors)
return false;
@@ -1153,7 +1153,7 @@ namespace AyaNova.Biz
}
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.WorkOrderItemLoan.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.WorkOrderItemLoan.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required
@@ -1201,7 +1201,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> LoanGetSearchResultSummary(long id)
{
var obj = await ct.WorkOrderItemLoan.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.WorkOrderItemLoan.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -1224,7 +1224,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> PartExistsAsync(long id)
{
return await ct.WorkOrderItemPart.AnyAsync(e => e.Id == id);
return await ct.WorkOrderItemPart.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1260,7 +1260,7 @@ namespace AyaNova.Biz
//docs say this will not query twice but will recognize the duplicate woitem bit which is required for multiple grandchild collections
var ret =
await ct.WorkOrderItemPart
.SingleOrDefaultAsync(m => m.Id == id);
.SingleOrDefaultAsync(z => z.Id == id);
if (logTheGetEvent && ret != null)
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, AyaType.WorkOrderItemPart, AyaEvent.Retrieved), ct);
return ret;
@@ -1271,7 +1271,7 @@ namespace AyaNova.Biz
//
internal async Task<WorkOrderItemPart> PartPutAsync(WorkOrderItemPart dtPutObject)
{
WorkOrderItemPart dbObject = await ct.WorkOrderItemPart.SingleOrDefaultAsync(m => m.Id == dtPutObject.Id);
WorkOrderItemPart dbObject = await ct.WorkOrderItemPart.SingleOrDefaultAsync(z => z.Id == dtPutObject.Id);
if (dbObject == null)
{
AddError(ApiErrorCode.NOT_FOUND, "id");
@@ -1312,7 +1312,7 @@ namespace AyaNova.Biz
//
internal async Task<bool> PartDeleteAsync(long id)
{
WorkOrderItemPart dbObject = await ct.WorkOrderItemPart.SingleOrDefaultAsync(m => m.Id == id);
WorkOrderItemPart dbObject = await ct.WorkOrderItemPart.SingleOrDefaultAsync(z => z.Id == id);
PartValidateCanDelete(dbObject);
if (HasErrors)
return false;
@@ -1342,7 +1342,7 @@ namespace AyaNova.Biz
}
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.WorkOrderItemPart.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.WorkOrderItemPart.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required
@@ -1387,7 +1387,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> PartGetSearchResultSummary(long id)
{
var obj = await ct.WorkOrderItemPart.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.WorkOrderItemPart.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -1410,7 +1410,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> PartRequestExistsAsync(long id)
{
return await ct.WorkOrderItemPartRequest.AnyAsync(e => e.Id == id);
return await ct.WorkOrderItemPartRequest.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1446,7 +1446,7 @@ namespace AyaNova.Biz
//docs say this will not query twice but will recognize the duplicate woitem bit which is required for multiple grandchild collections
var ret =
await ct.WorkOrderItemPartRequest
.SingleOrDefaultAsync(m => m.Id == id);
.SingleOrDefaultAsync(z => z.Id == id);
if (logTheGetEvent && ret != null)
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, AyaType.WorkOrderItemPartRequest, AyaEvent.Retrieved), ct);
return ret;
@@ -1457,7 +1457,7 @@ namespace AyaNova.Biz
//
internal async Task<WorkOrderItemPartRequest> PartRequestPutAsync(WorkOrderItemPartRequest dtPutObject)
{
WorkOrderItemPartRequest dbObject = await ct.WorkOrderItemPartRequest.SingleOrDefaultAsync(m => m.Id == dtPutObject.Id);
WorkOrderItemPartRequest dbObject = await ct.WorkOrderItemPartRequest.SingleOrDefaultAsync(z => z.Id == dtPutObject.Id);
if (dbObject == null)
{
AddError(ApiErrorCode.NOT_FOUND, "id");
@@ -1498,7 +1498,7 @@ namespace AyaNova.Biz
//
internal async Task<bool> PartRequestDeleteAsync(long id)
{
WorkOrderItemPartRequest dbObject = await ct.WorkOrderItemPartRequest.SingleOrDefaultAsync(m => m.Id == id);
WorkOrderItemPartRequest dbObject = await ct.WorkOrderItemPartRequest.SingleOrDefaultAsync(z => z.Id == id);
PartRequestValidateCanDelete(dbObject);
if (HasErrors)
return false;
@@ -1528,7 +1528,7 @@ namespace AyaNova.Biz
}
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.WorkOrderItemPartRequest.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.WorkOrderItemPartRequest.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required
@@ -1576,7 +1576,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> PartRequestGetSearchResultSummary(long id)
{
var obj = await ct.WorkOrderItemPartRequest.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.WorkOrderItemPartRequest.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -1599,7 +1599,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> ScheduledUserExistsAsync(long id)
{
return await ct.WorkOrderItemScheduledUser.AnyAsync(e => e.Id == id);
return await ct.WorkOrderItemScheduledUser.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1635,7 +1635,7 @@ namespace AyaNova.Biz
//docs say this will not query twice but will recognize the duplicate woitem bit which is required for multiple grandchild collections
var ret =
await ct.WorkOrderItemScheduledUser
.SingleOrDefaultAsync(m => m.Id == id);
.SingleOrDefaultAsync(z => z.Id == id);
if (logTheGetEvent && ret != null)
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, AyaType.WorkOrderItemScheduledUser, AyaEvent.Retrieved), ct);
return ret;
@@ -1646,7 +1646,7 @@ namespace AyaNova.Biz
//
internal async Task<WorkOrderItemScheduledUser> ScheduledUserPutAsync(WorkOrderItemScheduledUser dtPutObject)
{
WorkOrderItemScheduledUser dbObject = await ct.WorkOrderItemScheduledUser.SingleOrDefaultAsync(m => m.Id == dtPutObject.Id);
WorkOrderItemScheduledUser dbObject = await ct.WorkOrderItemScheduledUser.SingleOrDefaultAsync(z => z.Id == dtPutObject.Id);
if (dbObject == null)
{
AddError(ApiErrorCode.NOT_FOUND, "id");
@@ -1687,7 +1687,7 @@ namespace AyaNova.Biz
//
internal async Task<bool> ScheduledUserDeleteAsync(long id)
{
WorkOrderItemScheduledUser dbObject = await ct.WorkOrderItemScheduledUser.SingleOrDefaultAsync(m => m.Id == id);
WorkOrderItemScheduledUser dbObject = await ct.WorkOrderItemScheduledUser.SingleOrDefaultAsync(z => z.Id == id);
ScheduledUserValidateCanDelete(dbObject);
if (HasErrors)
return false;
@@ -1717,7 +1717,7 @@ namespace AyaNova.Biz
}
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.WorkOrderItemScheduledUser.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.WorkOrderItemScheduledUser.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required
@@ -1765,7 +1765,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> ScheduledUserGetSearchResultSummary(long id)
{
var obj = await ct.WorkOrderItemScheduledUser.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.WorkOrderItemScheduledUser.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -1788,7 +1788,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> TaskExistsAsync(long id)
{
return await ct.WorkOrderItemTask.AnyAsync(e => e.Id == id);
return await ct.WorkOrderItemTask.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1824,7 +1824,7 @@ namespace AyaNova.Biz
//docs say this will not query twice but will recognize the duplicate woitem bit which is required for multiple grandchild collections
var ret =
await ct.WorkOrderItemTask
.SingleOrDefaultAsync(m => m.Id == id);
.SingleOrDefaultAsync(z => z.Id == id);
if (logTheGetEvent && ret != null)
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, AyaType.WorkOrderItemTask, AyaEvent.Retrieved), ct);
return ret;
@@ -1835,7 +1835,7 @@ namespace AyaNova.Biz
//
internal async Task<WorkOrderItemTask> TaskPutAsync(WorkOrderItemTask dtPutObject)
{
WorkOrderItemTask dbObject = await ct.WorkOrderItemTask.SingleOrDefaultAsync(m => m.Id == dtPutObject.Id);
WorkOrderItemTask dbObject = await ct.WorkOrderItemTask.SingleOrDefaultAsync(z => z.Id == dtPutObject.Id);
if (dbObject == null)
{
AddError(ApiErrorCode.NOT_FOUND, "id");
@@ -1876,7 +1876,7 @@ namespace AyaNova.Biz
//
internal async Task<bool> TaskDeleteAsync(long id)
{
WorkOrderItemTask dbObject = await ct.WorkOrderItemTask.SingleOrDefaultAsync(m => m.Id == id);
WorkOrderItemTask dbObject = await ct.WorkOrderItemTask.SingleOrDefaultAsync(z => z.Id == id);
TaskValidateCanDelete(dbObject);
if (HasErrors)
return false;
@@ -1906,7 +1906,7 @@ namespace AyaNova.Biz
}
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.WorkOrderItemTask.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.WorkOrderItemTask.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required
@@ -1954,7 +1954,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> TaskGetSearchResultSummary(long id)
{
var obj = await ct.WorkOrderItemTask.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.WorkOrderItemTask.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -1977,7 +1977,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> TravelExistsAsync(long id)
{
return await ct.WorkOrderItemTravel.AnyAsync(e => e.Id == id);
return await ct.WorkOrderItemTravel.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -2013,7 +2013,7 @@ namespace AyaNova.Biz
//docs say this will not query twice but will recognize the duplicate woitem bit which is required for multiple grandchild collections
var ret =
await ct.WorkOrderItemTravel
.SingleOrDefaultAsync(m => m.Id == id);
.SingleOrDefaultAsync(z => z.Id == id);
if (logTheGetEvent && ret != null)
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, AyaType.WorkOrderItemTravel, AyaEvent.Retrieved), ct);
return ret;
@@ -2024,7 +2024,7 @@ namespace AyaNova.Biz
//
internal async Task<WorkOrderItemTravel> TravelPutAsync(WorkOrderItemTravel dtPutObject)
{
WorkOrderItemTravel dbObject = await ct.WorkOrderItemTravel.SingleOrDefaultAsync(m => m.Id == dtPutObject.Id);
WorkOrderItemTravel dbObject = await ct.WorkOrderItemTravel.SingleOrDefaultAsync(z => z.Id == dtPutObject.Id);
if (dbObject == null)
{
AddError(ApiErrorCode.NOT_FOUND, "id");
@@ -2065,7 +2065,7 @@ namespace AyaNova.Biz
//
internal async Task<bool> TravelDeleteAsync(long id)
{
WorkOrderItemTravel dbObject = await ct.WorkOrderItemTravel.SingleOrDefaultAsync(m => m.Id == id);
WorkOrderItemTravel dbObject = await ct.WorkOrderItemTravel.SingleOrDefaultAsync(z => z.Id == id);
TravelValidateCanDelete(dbObject);
if (HasErrors)
return false;
@@ -2095,7 +2095,7 @@ namespace AyaNova.Biz
}
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.WorkOrderItemTravel.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.WorkOrderItemTravel.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required
@@ -2143,7 +2143,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> TravelGetSearchResultSummary(long id)
{
var obj = await ct.WorkOrderItemTravel.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.WorkOrderItemTravel.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -2166,7 +2166,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> UnitExistsAsync(long id)
{
return await ct.WorkOrderItemUnit.AnyAsync(e => e.Id == id);
return await ct.WorkOrderItemUnit.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -2202,7 +2202,7 @@ namespace AyaNova.Biz
//docs say this will not query twice but will recognize the duplicate woitem bit which is required for multiple grandchild collections
var ret =
await ct.WorkOrderItemUnit
.SingleOrDefaultAsync(m => m.Id == id);
.SingleOrDefaultAsync(z => z.Id == id);
if (logTheGetEvent && ret != null)
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, AyaType.WorkOrderItemUnit, AyaEvent.Retrieved), ct);
return ret;
@@ -2213,7 +2213,7 @@ namespace AyaNova.Biz
//
internal async Task<WorkOrderItemUnit> UnitPutAsync(WorkOrderItemUnit dtPutObject)
{
WorkOrderItemUnit dbObject = await ct.WorkOrderItemUnit.SingleOrDefaultAsync(m => m.Id == dtPutObject.Id);
WorkOrderItemUnit dbObject = await ct.WorkOrderItemUnit.SingleOrDefaultAsync(z => z.Id == dtPutObject.Id);
if (dbObject == null)
{
AddError(ApiErrorCode.NOT_FOUND, "id");
@@ -2254,7 +2254,7 @@ namespace AyaNova.Biz
//
internal async Task<bool> UnitDeleteAsync(long id)
{
WorkOrderItemUnit dbObject = await ct.WorkOrderItemUnit.SingleOrDefaultAsync(m => m.Id == id);
WorkOrderItemUnit dbObject = await ct.WorkOrderItemUnit.SingleOrDefaultAsync(z => z.Id == id);
UnitValidateCanDelete(dbObject);
if (HasErrors)
return false;
@@ -2284,7 +2284,7 @@ namespace AyaNova.Biz
}
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.WorkOrderItemUnit.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.WorkOrderItemUnit.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required
@@ -2332,7 +2332,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> UnitGetSearchResultSummary(long id)
{
var obj = await ct.WorkOrderItemUnit.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.WorkOrderItemUnit.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -2448,7 +2448,7 @@ namespace AyaNova.Biz
if (jobData.ContainsKey("idList"))
idList = ((JArray)jobData["idList"]).ToObject<List<long>>();
else
idList = await ct.Widget.Select(m => m.Id).ToListAsync();
idList = await ct.Widget.Select(z => z.Id).ToListAsync();
bool SaveIt = false;
foreach (long id in idList)
{

View File

@@ -35,7 +35,7 @@ namespace AyaNova.Biz
//EXISTS
internal async Task<bool> ExistsAsync(long id)
{
return await ct.WorkOrderTemplate.AnyAsync(e => e.Id == id);
return await ct.WorkOrderTemplate.AnyAsync(z => z.Id == id);
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -46,7 +46,7 @@ namespace AyaNova.Biz
internal async Task<WorkOrderTemplate> GetAsync(long fetchId, bool logTheGetEvent = true)
{
//This is simple so nothing more here, but often will be copying to a different output object or some other ops
var ret = await ct.WorkOrderTemplate.SingleOrDefaultAsync(m => m.Id == fetchId);
var ret = await ct.WorkOrderTemplate.SingleOrDefaultAsync(z => z.Id == fetchId);
if (logTheGetEvent && ret != null)
{
//Log
@@ -104,7 +104,7 @@ namespace AyaNova.Biz
do
{
newUniqueName = Util.StringUtil.UniqueNameBuilder(dbObj.Name, l++, 255);
NotUnique = await ct.WorkOrderTemplate.AnyAsync(m => m.Name == newUniqueName);
NotUnique = await ct.WorkOrderTemplate.AnyAsync(z => z.Name == newUniqueName);
} while (NotUnique);
outObj.Name = newUniqueName;
@@ -174,7 +174,7 @@ namespace AyaNova.Biz
public async Task<Search.SearchIndexProcessObjectParameters> GetSearchResultSummary(long id)
{
var obj = await ct.WorkOrderTemplate.SingleOrDefaultAsync(m => m.Id == id);
var obj = await ct.WorkOrderTemplate.SingleOrDefaultAsync(z => z.Id == id);
var SearchParams = new Search.SearchIndexProcessObjectParameters();
if (obj != null)
SearchParams.AddText(obj.Notes).AddText(obj.Name).AddText(obj.Wiki).AddText(obj.Tags).AddCustomFields(obj.CustomFields);
@@ -227,7 +227,7 @@ namespace AyaNova.Biz
if (!PropertyHasErrors("Name"))
{
//Use Any command is efficient way to check existance, it doesn't return the record, just a true or false
if (await ct.WorkOrderTemplate.AnyAsync(m => m.Name == proposedObj.Name && m.Id != proposedObj.Id))
if (await ct.WorkOrderTemplate.AnyAsync(z => z.Name == proposedObj.Name && z.Id != proposedObj.Id))
{
AddError(ApiErrorCode.VALIDATION_NOT_UNIQUE, "Name");
}
@@ -235,7 +235,7 @@ namespace AyaNova.Biz
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.WorkOrderTemplate.ToString());
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(z => z.FormKey == AyaType.WorkOrderTemplate.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required

View File

@@ -62,8 +62,8 @@ namespace AyaNova.Biz
//Get the deleteable succeeded jobs list
var jobs = await ct.OpsJob
.AsNoTracking()
.Where(c => c.Created < dtDeleteCutoff && c.JobStatus == jobStatus)
.OrderBy(m => m.Created)
.Where(z => z.Created < dtDeleteCutoff && z.JobStatus == jobStatus)
.OrderBy(z => z.Created)
.ToListAsync();
log.LogTrace($"SweepAsync processing: cutoff={dtDeleteCutoff.ToString()}, for {jobs.Count.ToString()} jobs of status {jobStatus.ToString()}");
@@ -95,8 +95,8 @@ namespace AyaNova.Biz
//Get the deleteable succeeded jobs list
var jobs = await ct.OpsJob
.AsNoTracking()
.Where(c => c.Created < dtRunningDeadline && c.JobStatus == JobStatus.Running)
.OrderBy(m => m.Created)
.Where(z => z.Created < dtRunningDeadline && z.JobStatus == JobStatus.Running)
.OrderBy(z => z.Created)
.ToListAsync();
log.LogTrace($"killStuckJobsAsync processing: cutoff={dtRunningDeadline.ToString()}, for {jobs.Count.ToString()} jobs of status {JobStatus.Running.ToString()}");

View File

@@ -130,25 +130,25 @@ namespace AyaNova.Models
//TODO: this entire block is almost certainly wrong or not required
// //Indexes must be specified through fluent api unfortunately
// modelBuilder.Entity<FileAttachment>().HasIndex(p => p.StoredFileName);
// modelBuilder.Entity<FileAttachment>().HasIndex(z => z.StoredFileName);
// //Relationships
// modelBuilder.Entity<Translation>()
// .HasMany(c => c.TranslationItems)
// .WithOne(e => e.Translation)
// .HasMany(z => z.TranslationItems)
// .WithOne(z => z.Translation)
// .IsRequired();//default delete behaviour is cascade when set to isrequired
// modelBuilder.Entity<User>()
// .HasOne(p => p.UserOptions)
// .WithOne(i => i.User)
// .HasForeignKey<UserOptions>(b => b.UserId)
// .HasOne(z => z.UserOptions)
// .WithOne(z => z.User)
// .HasForeignKey<UserOptions>(z => z.UserId)
// .OnDelete(DeleteBehavior.Cascade);//Hopefully will delete the useroptions with the user?
// //User->Widget Not certain about this definition
// modelBuilder.Entity<User>()
// .HasOne(p => p.Widget)
// .WithOne(i => i.User)
// .HasForeignKey<Widget>(b => b.UserId)
// .HasOne(z => z.Widget)
// .WithOne(z => z.User)
// .HasForeignKey<Widget>(z => z.UserId)
// .OnDelete(DeleteBehavior.NoAction);
//////////////////////////////////////////////////////////////

View File

@@ -354,7 +354,7 @@ namespace AyaNova.Util
{
//check ref count of file
var count = await ct.FileAttachment.LongCountAsync(w => w.StoredFileName == fileAttachmentToBeDeleted.StoredFileName);
var count = await ct.FileAttachment.LongCountAsync(z => z.StoredFileName == fileAttachmentToBeDeleted.StoredFileName);
//Store in DB
ct.FileAttachment.Remove(fileAttachmentToBeDeleted);

View File

@@ -565,7 +565,7 @@ namespace AyaNova.Core
{
try
{
var CurrentInDbKeyRecord = await ct.License.OrderBy(x => x.Id).FirstOrDefaultAsync();
var CurrentInDbKeyRecord = await ct.License.OrderBy(z => z.Id).FirstOrDefaultAsync();
if (CurrentInDbKeyRecord == null)
throw new ApplicationException("E1020 - Can't install key, no key record found");
@@ -681,13 +681,13 @@ EQIDAQAB
//FEATURES
Newtonsoft.Json.Linq.JArray p = (Newtonsoft.Json.Linq.JArray)token.SelectToken("Key.Features");
for (int x = 0; x < p.Count; x++)
for (int z = 0; z < p.Count; z++)
{
LicenseFeature lf = new LicenseFeature();
lf.Feature = (string)p[x].SelectToken("Name");
if (p[x].SelectToken("Count") != null)
lf.Feature = (string)p[z].SelectToken("Name");
if (p[z].SelectToken("Count") != null)
{
lf.Count = (long)p[x].SelectToken("Count");
lf.Count = (long)p[z].SelectToken("Count");
}
else
{

View File

@@ -85,15 +85,7 @@ namespace AyaNova.Util
//Erase all the data except for the license, schema and the manager user
await DbUtil.EmptyBizDataFromDatabaseForSeedingOrImportingAsync(log);
apiServerState.SetOpsOnly("Seeding database with sample data");
// //Set the default user options of the manager account
// using (var cct = ServiceProviderProvider.DBContext)
// {
// var mgr = await cct.UserOptions.FirstAsync(m => m.Id == 1);
// mgr.TimeZoneOffset = timeZoneOffset;
// await cct.SaveChangesAsync();
// }
//WIDGET sample form customization
{

View File

@@ -28,7 +28,7 @@ namespace AyaNova.Util
if (global == null)
{
//fetch or create as not provided (meaning this was called from Startup.cs)
global = ct.GlobalBizSettings.FirstOrDefault(m => m.Id == 1);
global = ct.GlobalBizSettings.FirstOrDefault(z => z.Id == 1);
if (global == null)
{
global = new GlobalBizSettings();