This commit is contained in:
@@ -114,7 +114,7 @@ namespace AyaNova.Api.Controllers
|
||||
//Instantiate the business object handler
|
||||
DataListFilterBiz biz = DataListFilterBiz.GetBiz(ct, HttpContext);
|
||||
|
||||
var o = await biz.GetNoLogAsync(id);
|
||||
var o = await biz.GetAsync(id, false);
|
||||
if (o == null)
|
||||
return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND));
|
||||
|
||||
@@ -187,7 +187,7 @@ namespace AyaNova.Api.Controllers
|
||||
//Instantiate the business object handler
|
||||
DataListFilterBiz biz = DataListFilterBiz.GetBiz(ct, HttpContext);
|
||||
|
||||
var o = await biz.GetNoLogAsync(id);
|
||||
var o = await biz.GetAsync(id, false);
|
||||
if (o == null)
|
||||
return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND));
|
||||
|
||||
|
||||
@@ -156,7 +156,7 @@ namespace AyaNova.Api.Controllers
|
||||
//Instantiate the business object handler
|
||||
FormCustomBiz biz = FormCustomBiz.GetBiz(ct, HttpContext);
|
||||
|
||||
var o = await biz.GetNoLogAsync(formkey);
|
||||
var o = await biz.GetAsync(formkey);
|
||||
if (o == null)
|
||||
return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND));
|
||||
|
||||
|
||||
@@ -409,7 +409,7 @@ namespace AyaNova
|
||||
// ******************** TESTING WIPE DB *****************************
|
||||
//
|
||||
//Set this to true to wipe the db and reinstall a trial license and re-seed the data
|
||||
var TESTING_REFRESH_DB = true;//#######################################################################################
|
||||
var TESTING_REFRESH_DB = false;//#######################################################################################
|
||||
|
||||
#if (DEBUG)
|
||||
|
||||
@@ -450,7 +450,7 @@ namespace AyaNova
|
||||
{
|
||||
AyaNova.Core.License.FetchKeyAsync(apiServerState, dbContext, _newLog).Wait();
|
||||
//NOTE: For unit testing make sure the time zone in util is set to the same figure as here to ensure list filter by date tests will work because server is on same page as user in terms of time
|
||||
Util.Seeder.SeedDatabaseAsync(Util.Seeder.SeedLevel.HugeForLoadTest, -7).Wait();//#############################################################################################
|
||||
Util.Seeder.SeedDatabaseAsync(Util.Seeder.SeedLevel.SmallOneManShopTrialDataSet, -7).Wait();//#############################################################################################
|
||||
}
|
||||
//TESTING
|
||||
#endif
|
||||
|
||||
@@ -30,11 +30,11 @@ namespace AyaNova.Biz
|
||||
return new DataListFilterBiz(ct, UserIdFromContext.Id(httpContext.Items), UserLocaleIdFromContext.Id(httpContext.Items), UserRolesFromContext.Roles(httpContext.Items));
|
||||
}
|
||||
|
||||
//Version for internal use
|
||||
internal static DataListFilterBiz GetBizInternal(AyContext ct)
|
||||
{
|
||||
return new DataListFilterBiz(ct, 1, ServerBootConfig.AYANOVA_DEFAULT_LANGUAGE_ID, AuthorizationRoles.BizAdminFull);
|
||||
}
|
||||
// //Version for internal use
|
||||
// internal static DataListFilterBiz GetBizInternal(AyContext ct)
|
||||
// {
|
||||
// return new DataListFilterBiz(ct, 1, ServerBootConfig.AYANOVA_DEFAULT_LANGUAGE_ID, AuthorizationRoles.BizAdminFull);
|
||||
// }
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//EXISTS
|
||||
@@ -75,45 +75,17 @@ namespace AyaNova.Biz
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//CREATE
|
||||
internal async Task<DataListFilter> Create(AyContext ct, DataListFilter inObj)
|
||||
{
|
||||
await ValidateAsync(inObj, true);
|
||||
if (HasErrors)
|
||||
return null;
|
||||
else
|
||||
{
|
||||
//do stuff with datafilter
|
||||
DataListFilter outObj = inObj;
|
||||
outObj.UserId = UserId;
|
||||
|
||||
|
||||
await ct.DataListFilter.AddAsync(outObj);
|
||||
await ct.SaveChangesAsync();
|
||||
|
||||
//Handle child and associated items:
|
||||
|
||||
//EVENT LOG
|
||||
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, outObj.Id, BizType, AyaEvent.Created), ct);
|
||||
|
||||
//SEARCH INDEXING
|
||||
// Search.ProcessNewObjectKeywords(UserLocaleId, outObj.Id, BizType, outObj.Name, outObj.Name);
|
||||
|
||||
return outObj;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/// GET
|
||||
|
||||
//Get one
|
||||
internal async Task<DataListFilter> GetAsync(long fetchId)
|
||||
internal async Task<DataListFilter> 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.DataListFilter.SingleOrDefaultAsync(m => m.Id == fetchId && (m.Public == true || m.UserId == UserId));
|
||||
if (ret != null)
|
||||
if (logTheGetEvent && ret != null)
|
||||
{
|
||||
//Log
|
||||
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, fetchId, BizType, AyaEvent.Retrieved), ct);
|
||||
@@ -121,13 +93,7 @@ namespace AyaNova.Biz
|
||||
return ret;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/// GET
|
||||
internal async Task<DataListFilter> GetNoLogAsync(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.DataListFilter.SingleOrDefaultAsync(m => m.Id == fetchId);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//get picklist (NOT PAGED)
|
||||
@@ -205,7 +171,7 @@ namespace AyaNova.Biz
|
||||
|
||||
//Event log process delete
|
||||
await EventLogProcessor.DeleteObjectLogAsync(UserId, BizType, dbObj.Id, dbObj.Name, ct);
|
||||
|
||||
|
||||
|
||||
//Delete search index
|
||||
//Search.ProcessDeletedObjectKeywords(dbObj.Id, BizType);
|
||||
|
||||
@@ -29,11 +29,11 @@ namespace AyaNova.Biz
|
||||
return new DataListTemplateBiz(ct, UserIdFromContext.Id(httpContext.Items), UserLocaleIdFromContext.Id(httpContext.Items), UserRolesFromContext.Roles(httpContext.Items));
|
||||
}
|
||||
|
||||
//Version for internal use
|
||||
internal static DataListTemplateBiz GetBizInternal(AyContext ct)
|
||||
{
|
||||
return new DataListTemplateBiz(ct, 1, ServerBootConfig.AYANOVA_DEFAULT_LANGUAGE_ID, AuthorizationRoles.BizAdminFull);
|
||||
}
|
||||
// //Version for internal use
|
||||
// internal static DataListTemplateBiz GetBizInternal(AyContext ct)
|
||||
// {
|
||||
// return new DataListTemplateBiz(ct, 1, ServerBootConfig.AYANOVA_DEFAULT_LANGUAGE_ID, AuthorizationRoles.BizAdminFull);
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -30,11 +30,11 @@ namespace AyaNova.Biz
|
||||
return new FormCustomBiz(ct, UserIdFromContext.Id(httpContext.Items), UserLocaleIdFromContext.Id(httpContext.Items), UserRolesFromContext.Roles(httpContext.Items));
|
||||
}
|
||||
|
||||
//Version for internal use
|
||||
internal static FormCustomBiz GetBizInternal(AyContext ct)
|
||||
{
|
||||
return new FormCustomBiz(ct, 1, ServerBootConfig.AYANOVA_DEFAULT_LANGUAGE_ID, AuthorizationRoles.BizAdminFull);
|
||||
}
|
||||
// //Version for internal use
|
||||
// internal static FormCustomBiz GetBizInternal(AyContext ct)
|
||||
// {
|
||||
// return new FormCustomBiz(ct, 1, ServerBootConfig.AYANOVA_DEFAULT_LANGUAGE_ID, AuthorizationRoles.BizAdminFull);
|
||||
// }
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//EXISTS
|
||||
@@ -43,13 +43,7 @@ namespace AyaNova.Biz
|
||||
return await ct.FormCustom.AnyAsync(x => x.FormKey == formKey);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/// GET
|
||||
internal async Task<FormCustom> GetNoLogAsync(string formKey)
|
||||
{
|
||||
//This is simple so nothing more here, but often will be copying to a different output object or some other ops
|
||||
return await ct.FormCustom.SingleOrDefaultAsync(x => x.FormKey == formKey);
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//CREATE
|
||||
|
||||
@@ -30,15 +30,13 @@ namespace AyaNova.Biz
|
||||
SeedOrImportRelaxedRulesMode = false;//default
|
||||
}
|
||||
|
||||
internal static LocaleBiz GetBiz(AyContext ct, Microsoft.AspNetCore.Http.HttpContext httpContext)
|
||||
internal static LocaleBiz GetBiz(AyContext ct, Microsoft.AspNetCore.Http.HttpContext httpContext = null)
|
||||
{
|
||||
return new LocaleBiz(ct, UserIdFromContext.Id(httpContext.Items), UserLocaleIdFromContext.Id(httpContext.Items), UserRolesFromContext.Roles(httpContext.Items));
|
||||
}
|
||||
if (httpContext != null)
|
||||
return new LocaleBiz(ct, UserIdFromContext.Id(httpContext.Items), UserLocaleIdFromContext.Id(httpContext.Items), UserRolesFromContext.Roles(httpContext.Items));
|
||||
else
|
||||
return new LocaleBiz(ct, 1, ServerBootConfig.AYANOVA_DEFAULT_LANGUAGE_ID, AuthorizationRoles.BizAdminFull);
|
||||
|
||||
//Version for internal use
|
||||
internal static LocaleBiz GetBizInternal(AyContext ct, long currentUserId, AuthorizationRoles roles)
|
||||
{
|
||||
return new LocaleBiz(ct, currentUserId, ServerBootConfig.AYANOVA_DEFAULT_LANGUAGE_ID, roles);
|
||||
}
|
||||
|
||||
|
||||
@@ -171,7 +169,8 @@ namespace AyaNova.Biz
|
||||
TrackRequestedKey(param);
|
||||
#endif
|
||||
AyContext ct = ServiceProviderProvider.DBContext;
|
||||
if (!await LocaleExistsStaticAsync(localeId, ct))
|
||||
|
||||
if (!await ct.Locale.AnyAsync(e => e.Id == localeId))
|
||||
localeId = ServerBootConfig.AYANOVA_DEFAULT_LANGUAGE_ID;
|
||||
var ret = await ct.LocaleItem.Where(x => x.LocaleId == localeId && param.Contains(x.Key)).AsNoTracking().ToDictionaryAsync(x => x.Key, x => x.Display);
|
||||
return ret;
|
||||
@@ -289,7 +288,7 @@ namespace AyaNova.Biz
|
||||
return false;
|
||||
ct.Locale.Remove(dbObj);
|
||||
await ct.SaveChangesAsync();
|
||||
//Log
|
||||
//Log
|
||||
await EventLogProcessor.DeleteObjectLogAsync(UserId, AyaType.Locale, dbObj.Id, dbObj.Name, ct);
|
||||
return true;
|
||||
}
|
||||
@@ -371,7 +370,8 @@ namespace AyaNova.Biz
|
||||
|
||||
public async Task<bool> LocaleExistsAsync(string localeName)
|
||||
{
|
||||
return await LocaleNameToIdAsync(localeName) != 0;
|
||||
return await ct.Locale.AnyAsync(c => c.Name == localeName);
|
||||
|
||||
}
|
||||
|
||||
public async Task<bool> LocaleExistsAsync(long id)
|
||||
@@ -380,13 +380,13 @@ namespace AyaNova.Biz
|
||||
}
|
||||
|
||||
|
||||
public static async Task<bool> LocaleExistsStaticAsync(long id, AyContext ct)
|
||||
{
|
||||
return await ct.Locale.AnyAsync(e => e.Id == id);
|
||||
}
|
||||
// public static async Task<bool> LocaleExistsStaticAsync(long id, AyContext ct)
|
||||
// {
|
||||
// return await ct.Locale.AnyAsync(e => e.Id == id);
|
||||
// }
|
||||
|
||||
|
||||
public static async Task<long> EnsuredLocaleIdStaticAsync(long id, AyContext ct)
|
||||
//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> ReturnSpecifiedLocaleIdIfExistsOrDefaultLocaleId(long id, AyContext ct)
|
||||
{
|
||||
if (!await ct.Locale.AnyAsync(e => e.Id == id))
|
||||
return ServerBootConfig.AYANOVA_DEFAULT_LANGUAGE_ID;
|
||||
@@ -622,8 +622,8 @@ namespace AyaNova.Biz
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//this is the equivalent of returning void for a Task signature with nothing to return
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ namespace AyaNova.Biz
|
||||
await ImportLocale(ResourceFolderPath, "de");
|
||||
|
||||
//Ensure locales are present, not missing any keys and that there is a server default locale that exists
|
||||
LocaleBiz lb = LocaleBiz.GetBizInternal(ServiceProviderProvider.DBContext, 1, AuthorizationRoles.OpsAdminFull);
|
||||
LocaleBiz lb = LocaleBiz.GetBiz(ServiceProviderProvider.DBContext);
|
||||
await lb.ValidateLocalesAsync();
|
||||
|
||||
}
|
||||
|
||||
@@ -714,7 +714,7 @@ cache or provide directly the locale to save time repeatedly fetching it when do
|
||||
//Get stopwords
|
||||
//Validate locale id, if not right then use default instead
|
||||
var Param = new List<string>();
|
||||
localeId = await LocaleBiz.EnsuredLocaleIdStaticAsync(localeId, ct);
|
||||
localeId = await LocaleBiz.ReturnSpecifiedLocaleIdIfExistsOrDefaultLocaleId(localeId, ct);
|
||||
Param.Add("StopWords1");
|
||||
Param.Add("StopWords2");
|
||||
Param.Add("StopWords3");
|
||||
|
||||
@@ -34,8 +34,8 @@ namespace AyaNova.Biz
|
||||
{
|
||||
var ct = ServiceProviderProvider.DBContext;
|
||||
var ret = await ct.User.Where(x => x.Active == true && (x.UserType == UserType.Schedulable || x.UserType == UserType.Subcontractor)).LongCountAsync();
|
||||
|
||||
return ret;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
internal static UserBiz GetBiz(AyContext ct, Microsoft.AspNetCore.Http.HttpContext httpContext)
|
||||
@@ -43,11 +43,11 @@ namespace AyaNova.Biz
|
||||
return new UserBiz(ct, UserIdFromContext.Id(httpContext.Items), UserLocaleIdFromContext.Id(httpContext.Items), UserRolesFromContext.Roles(httpContext.Items));
|
||||
}
|
||||
|
||||
//Version for internal use
|
||||
internal static UserBiz GetBizInternal(AyContext ct)
|
||||
{
|
||||
return new UserBiz(ct, 1, ServerBootConfig.AYANOVA_DEFAULT_LANGUAGE_ID, AuthorizationRoles.BizAdminFull);
|
||||
}
|
||||
// //Version for internal use
|
||||
// internal static UserBiz GetBizInternal(AyContext ct)
|
||||
// {
|
||||
// return new UserBiz(ct, 1, ServerBootConfig.AYANOVA_DEFAULT_LANGUAGE_ID, AuthorizationRoles.BizAdminFull);
|
||||
// }
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//CREATE
|
||||
@@ -91,47 +91,6 @@ namespace AyaNova.Biz
|
||||
}
|
||||
}
|
||||
|
||||
// ////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// //CREATE
|
||||
// internal User Create(AyContext TempContext, User inObj)
|
||||
// {
|
||||
// //This is a new user so it will have been posted with a password in plaintext which needs to be salted and hashed
|
||||
// inObj.Salt = Hasher.GenerateSalt();
|
||||
// inObj.Password = Hasher.hash(inObj.Salt, inObj.Password);
|
||||
|
||||
// inObj.Tags = TagUtil.NormalizeTags(inObj.Tags);
|
||||
// inObj.CustomFields = JsonUtil.CompactJson(inObj.CustomFields);
|
||||
|
||||
// //Seeder sets user options in advance so no need to create them here in that case
|
||||
// if (inObj.UserOptions == null)
|
||||
// inObj.UserOptions = new UserOptions();
|
||||
|
||||
// ValidateAsync(inObj, null);
|
||||
// if (HasErrors)
|
||||
// return null;
|
||||
// else
|
||||
// {
|
||||
|
||||
// TempContext.User.Add(inObj);
|
||||
|
||||
// //save to get Id
|
||||
// TempContext.SaveChanges();
|
||||
|
||||
// //Handle child and associated items
|
||||
|
||||
// //Log event
|
||||
// EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, inObj.Id, BizType, AyaEvent.Created), TempContext);
|
||||
|
||||
// //SEARCH INDEXING
|
||||
// SearchIndexAsync(inObj, true);
|
||||
|
||||
// //TAGS
|
||||
// TagUtil.ProcessUpdateTagsInRepositoryAsync(TempContext, inObj.Tags, null);
|
||||
|
||||
// return inObj;
|
||||
|
||||
// }
|
||||
// }
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/// GET
|
||||
@@ -151,114 +110,6 @@ namespace AyaNova.Biz
|
||||
|
||||
|
||||
|
||||
// public static FilterOptions FilterOptions(long localizeToLocaleId = 0)
|
||||
// {
|
||||
// //NOTE: All column names are lowercase to conform with Postgres AyaNova DB which uses lowercase for all identifiers
|
||||
// //Also all list keys are lower case for consistency
|
||||
// FilterOptions f = new FilterOptions("user");
|
||||
// f.
|
||||
// AddField("id", "ID", AyDataType.Integer).
|
||||
// AddField("name", "Name", AyDataType.Text).
|
||||
// AddField("active", "Active", AyDataType.Bool).
|
||||
// AddField("tags", "Tags", AyDataType.Tags).
|
||||
// AddField("EmployeeNumber", "UserEmployeeNumber", AyDataType.Text).
|
||||
// AddField("usertype", "UserUserType", AyDataType.Enum).
|
||||
// AddField("notes", "UserNotes", AyDataType.Text);
|
||||
|
||||
// if (localizeToLocaleId != 0)
|
||||
// f.Localize(localizeToLocaleId);
|
||||
// return f;
|
||||
// }
|
||||
|
||||
|
||||
// //get many (paged)
|
||||
// internal async Task<ApiPagedResponse<System.Object>> GetManyAsync(IUrlHelper Url, string routeName, ListOptions pagingOptions)
|
||||
// {
|
||||
|
||||
// pagingOptions.Offset = pagingOptions.Offset ?? ListOptions.DefaultOffset;
|
||||
// pagingOptions.Limit = pagingOptions.Limit ?? ListOptions.DefaultLimit;
|
||||
|
||||
|
||||
// //BUILD THE QUERY
|
||||
// //base query
|
||||
// var q = "SELECT *, xmin FROM AUSER ";
|
||||
|
||||
// //GET THE FILTER / SORT
|
||||
// if (pagingOptions.DataFilterId > 0)
|
||||
// {
|
||||
// var TheFilter = await ct.DataFilter.FirstOrDefaultAsync(x => x.Id == pagingOptions.DataFilterId);
|
||||
|
||||
// //BUILD WHERE AND APPEND IT
|
||||
// q = q + SqlFilterCriteriaBuilder.DataFilterToSQLCriteria(TheFilter, AyaObjectFieldDefinitions.AyaObjectFields(AyaObjectFieldDefinitions.USER_KEY), UserId);
|
||||
|
||||
// //BUILD ORDER BY AND APPEND IT
|
||||
// q = q + SqlFilterOrderByBuilder.DataFilterToSQLOrderBy(TheFilter);
|
||||
// }
|
||||
// // else
|
||||
// // {
|
||||
// // //GET DEFAULT ORDER BY
|
||||
// // q = q + SqlFilterOrderByBuilder.DefaultGetManyOrderBy;
|
||||
// // }
|
||||
|
||||
|
||||
// #pragma warning disable EF1000
|
||||
|
||||
// // var items = await ct.User
|
||||
// // .AsNoTracking()
|
||||
// // .FromSql(q)
|
||||
// // .Skip(pagingOptions.Offset.Value)
|
||||
// // .Take(pagingOptions.Limit.Value)
|
||||
// // .ToArrayAsync();
|
||||
|
||||
// var items = await ct.User
|
||||
// .FromSqlRaw(q)
|
||||
// .AsNoTracking()
|
||||
// .Skip(pagingOptions.Offset.Value)
|
||||
// .Take(pagingOptions.Limit.Value)
|
||||
// .ToArrayAsync();
|
||||
|
||||
|
||||
// // var totalRecordCount = await ct.User
|
||||
// // .AsNoTracking()
|
||||
// // .FromSql(q)
|
||||
// // .CountAsync();
|
||||
|
||||
// var totalRecordCount = await ct.User.FromSqlRaw(q)
|
||||
// .AsNoTracking()
|
||||
// .CountAsync();
|
||||
// #pragma warning restore EF1000
|
||||
|
||||
// int itemCount = items.Count();//totalRecordCount doesn't skip and take so not usable here
|
||||
// var cleanedItems = new System.Object[itemCount];
|
||||
// for (int i = 0; i < itemCount; i++)
|
||||
// {
|
||||
// cleanedItems[i] = CleanUserForReturn(items[i]);
|
||||
// }
|
||||
|
||||
// var pageLinks = new PaginationLinkBuilder(Url, routeName, null, pagingOptions, totalRecordCount).PagingLinksObject();
|
||||
// ApiPagedResponse<System.Object> pr = new ApiPagedResponse<System.Object>(cleanedItems, pageLinks);
|
||||
// return pr;
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
// //get picklist (paged)
|
||||
// internal ApiPagedResponse<NameIdItem> GetPickList(IUrlHelper Url, string routeName, ListOptions pagingOptions)
|
||||
// {
|
||||
// pagingOptions.Offset = pagingOptions.Offset ?? ListOptions.DefaultOffset;
|
||||
// pagingOptions.Limit = pagingOptions.Limit ?? ListOptions.DefaultLimit;
|
||||
|
||||
|
||||
// var ret = PickListFetcher.GetPickList(ct, UserId, pagingOptions, AyaObjectFieldDefinitions.AyaObjectFields(AyaObjectFieldDefinitions.USER_KEY), "auser");
|
||||
|
||||
// var pageLinks = new PaginationLinkBuilder(Url, routeName, null, pagingOptions, ret.TotalRecordCount).PagingLinksObject();
|
||||
|
||||
// ApiPagedResponse<NameIdItem> pr = new ApiPagedResponse<NameIdItem>(ret.Items, pageLinks);
|
||||
// return pr;
|
||||
// }
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//UPDATE
|
||||
//
|
||||
@@ -907,7 +758,7 @@ namespace AyaNova.Biz
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//this is the equivalent of returning void for a Task signature with nothing to return
|
||||
return true;
|
||||
|
||||
|
||||
@@ -21,16 +21,16 @@ namespace AyaNova.Biz
|
||||
BizType = AyaType.Widget;
|
||||
}
|
||||
|
||||
internal static WidgetBiz GetBiz(AyContext ct, Microsoft.AspNetCore.Http.HttpContext httpContext)
|
||||
internal static WidgetBiz GetBiz(AyContext ct, Microsoft.AspNetCore.Http.HttpContext httpContext = null)
|
||||
{
|
||||
return new WidgetBiz(ct, UserIdFromContext.Id(httpContext.Items), UserLocaleIdFromContext.Id(httpContext.Items), UserRolesFromContext.Roles(httpContext.Items));
|
||||
|
||||
if (httpContext != null)
|
||||
return new WidgetBiz(ct, UserIdFromContext.Id(httpContext.Items), UserLocaleIdFromContext.Id(httpContext.Items), UserRolesFromContext.Roles(httpContext.Items));
|
||||
else//when called internally for internal ops there will be no context so need to set default values for that
|
||||
return new WidgetBiz(ct, 1, ServerBootConfig.AYANOVA_DEFAULT_LANGUAGE_ID, AuthorizationRoles.BizAdminFull);
|
||||
}
|
||||
|
||||
//Version for internal use
|
||||
internal static WidgetBiz GetBizInternal(AyContext ct)
|
||||
{
|
||||
return new WidgetBiz(ct, 1, ServerBootConfig.AYANOVA_DEFAULT_LANGUAGE_ID, AuthorizationRoles.BizAdminFull);
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//EXISTS
|
||||
@@ -44,11 +44,11 @@ namespace AyaNova.Biz
|
||||
///
|
||||
///
|
||||
|
||||
internal async Task<Widget> GetAsync(long fetchId, bool log = true)
|
||||
internal async Task<Widget> 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.Widget.SingleOrDefaultAsync(m => m.Id == fetchId);
|
||||
if (log && ret != null)
|
||||
if (logTheGetEvent && ret != null)
|
||||
{
|
||||
//Log
|
||||
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, fetchId, BizType, AyaEvent.Retrieved), ct);
|
||||
|
||||
@@ -138,7 +138,7 @@ namespace AyaNova.Util
|
||||
|
||||
//Seed special test data for integration testing
|
||||
//log.LogInformation("Seeding known users");
|
||||
await SeedKnownUsersAsync(log, timeZoneOffset);
|
||||
await SeedKnownUsersAsync(log, timeZoneOffset);
|
||||
|
||||
//log.LogInformation("Seeding all other data");
|
||||
switch (slevel)
|
||||
@@ -163,7 +163,7 @@ namespace AyaNova.Util
|
||||
|
||||
//100 widgets
|
||||
watch = new Stopwatch();
|
||||
watch.Start();
|
||||
watch.Start();
|
||||
await GenSeedWidgetAsync(log, 100);
|
||||
//PERF
|
||||
watch.Stop();
|
||||
@@ -605,8 +605,8 @@ namespace AyaNova.Util
|
||||
|
||||
o.CustomFields = $@"{{c1:""{c1}"",c2:""{c2}"",c3:{c3},c4:{c4},c5:{c5}}}";
|
||||
|
||||
|
||||
WidgetBiz biz = WidgetBiz.GetBizInternal(ServiceProviderProvider.DBContext);
|
||||
|
||||
WidgetBiz biz = WidgetBiz.GetBiz(ServiceProviderProvider.DBContext);
|
||||
var NewObject = await biz.CreateAsync(o);
|
||||
if (NewObject == null)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user