This commit is contained in:
@@ -59,29 +59,6 @@ namespace AyaNova.Api.Controllers
|
|||||||
return CreatedAtAction(nameof(ReminderController.GetReminder), new { id = o.Id, version = apiVersion.ToString() }, new ApiCreatedResponse(o));
|
return CreatedAtAction(nameof(ReminderController.GetReminder), new { id = o.Id, version = apiVersion.ToString() }, new ApiCreatedResponse(o));
|
||||||
}
|
}
|
||||||
|
|
||||||
// /// <summary>
|
|
||||||
// /// Duplicate Reminder
|
|
||||||
// /// (Wiki and Attachments are not duplicated)
|
|
||||||
// /// </summary>
|
|
||||||
// /// <param name="id">Source object id</param>
|
|
||||||
// /// <param name="apiVersion">From route path</param>
|
|
||||||
// /// <returns>Reminder</returns>
|
|
||||||
// [HttpPost("duplicate/{id}")]
|
|
||||||
// public async Task<IActionResult> DuplicateReminder([FromRoute] long id, ApiVersion apiVersion)
|
|
||||||
// {
|
|
||||||
// if (!serverState.IsOpen)
|
|
||||||
// return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
|
|
||||||
// ReminderBiz biz = ReminderBiz.GetBiz(ct, HttpContext);
|
|
||||||
// if (!Authorized.HasCreateRole(HttpContext.Items, biz.BizType))
|
|
||||||
// return StatusCode(403, new ApiNotAuthorizedResponse());
|
|
||||||
// if (!ModelState.IsValid)
|
|
||||||
// return BadRequest(new ApiErrorResponse(ModelState));
|
|
||||||
// Reminder o = await biz.DuplicateAsync(id);
|
|
||||||
// if (o == null)
|
|
||||||
// return BadRequest(new ApiErrorResponse(biz.Errors));
|
|
||||||
// else
|
|
||||||
// return CreatedAtAction(nameof(ReminderController.GetReminder), new { id = o.Id, version = apiVersion.ToString() }, new ApiCreatedResponse(o));
|
|
||||||
// }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Get Reminder
|
/// Get Reminder
|
||||||
@@ -99,7 +76,8 @@ namespace AyaNova.Api.Controllers
|
|||||||
if (!ModelState.IsValid)
|
if (!ModelState.IsValid)
|
||||||
return BadRequest(new ApiErrorResponse(ModelState));
|
return BadRequest(new ApiErrorResponse(ModelState));
|
||||||
var o = await biz.GetAsync(id);
|
var o = await biz.GetAsync(id);
|
||||||
if (o == null) return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND));
|
if (o == null)
|
||||||
|
return BadRequest(new ApiErrorResponse(biz.Errors));
|
||||||
return Ok(ApiOkResponse.Response(o));
|
return Ok(ApiOkResponse.Response(o));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -118,7 +96,7 @@ namespace AyaNova.Api.Controllers
|
|||||||
ReminderBiz biz = ReminderBiz.GetBiz(ct, HttpContext);
|
ReminderBiz biz = ReminderBiz.GetBiz(ct, HttpContext);
|
||||||
if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType))
|
if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType))
|
||||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||||
var o = await biz.PutAsync(updatedObject);
|
var o = await biz.PutAsync(updatedObject);
|
||||||
if (o == null)
|
if (o == null)
|
||||||
{
|
{
|
||||||
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
||||||
@@ -151,7 +129,33 @@ namespace AyaNova.Api.Controllers
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get Reminder schedule "more" info
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns>Information to display in schedule when selected for more info</returns>
|
||||||
|
[HttpGet("sched-info/{id}")]
|
||||||
|
public async Task<IActionResult> GetScheduledUserScheduleInfoView([FromRoute] long id)
|
||||||
|
{
|
||||||
|
if (!serverState.IsOpen)
|
||||||
|
return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
|
||||||
|
ReminderBiz biz = ReminderBiz.GetBiz(ct, HttpContext);
|
||||||
|
if (!Authorized.HasReadFullRole(HttpContext.Items, biz.BizType))
|
||||||
|
return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||||
|
if (!ModelState.IsValid)
|
||||||
|
return BadRequest(new ApiErrorResponse(ModelState));
|
||||||
|
var o = await biz.GetAsync(id);
|
||||||
|
if (o == null)
|
||||||
|
return BadRequest(new ApiErrorResponse(biz.Errors));
|
||||||
|
return Ok(ApiOkResponse.Response(new
|
||||||
|
{
|
||||||
|
o.Color,
|
||||||
|
o.Name,
|
||||||
|
o.Notes,
|
||||||
|
o.StartDate,
|
||||||
|
o.StopDate
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
//------------
|
//------------
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ namespace AyaNova.Api.Controllers
|
|||||||
serverState = apiServerState;
|
serverState = apiServerState;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
██╗ ██╗ ██████╗ ██████╗ ██╗ ██╗ ██████╗ ██████╗ ██████╗ ███████╗██████╗
|
██╗ ██╗ ██████╗ ██████╗ ██╗ ██╗ ██████╗ ██████╗ ██████╗ ███████╗██████╗
|
||||||
@@ -120,7 +120,7 @@ namespace AyaNova.Api.Controllers
|
|||||||
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
||||||
if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType) || biz.UserIsRestrictedType)
|
if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType) || biz.UserIsRestrictedType)
|
||||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||||
var o = await biz.WorkOrderPutAsync(updatedObject);
|
var o = await biz.WorkOrderPutAsync(updatedObject);
|
||||||
if (o == null)
|
if (o == null)
|
||||||
{
|
{
|
||||||
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
||||||
@@ -320,7 +320,7 @@ namespace AyaNova.Api.Controllers
|
|||||||
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
||||||
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItem) || biz.UserIsRestrictedType)
|
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItem) || biz.UserIsRestrictedType)
|
||||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||||
var o = await biz.ItemPutAsync(updatedObject);
|
var o = await biz.ItemPutAsync(updatedObject);
|
||||||
if (o == null)
|
if (o == null)
|
||||||
{
|
{
|
||||||
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
||||||
@@ -427,7 +427,7 @@ namespace AyaNova.Api.Controllers
|
|||||||
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
||||||
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemExpense) || biz.UserIsSubContractorFull || biz.UserIsSubContractorRestricted)
|
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemExpense) || biz.UserIsSubContractorFull || biz.UserIsSubContractorRestricted)
|
||||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||||
var o = await biz.ExpensePutAsync(updatedObject);
|
var o = await biz.ExpensePutAsync(updatedObject);
|
||||||
if (o == null)
|
if (o == null)
|
||||||
{
|
{
|
||||||
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
||||||
@@ -535,7 +535,7 @@ namespace AyaNova.Api.Controllers
|
|||||||
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
||||||
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemLabor))
|
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemLabor))
|
||||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||||
var o = await biz.LaborPutAsync(updatedObject);
|
var o = await biz.LaborPutAsync(updatedObject);
|
||||||
if (o == null)
|
if (o == null)
|
||||||
{
|
{
|
||||||
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
||||||
@@ -643,7 +643,7 @@ namespace AyaNova.Api.Controllers
|
|||||||
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
||||||
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemLoan) || biz.UserIsRestrictedType)
|
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemLoan) || biz.UserIsRestrictedType)
|
||||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||||
var o = await biz.LoanPutAsync(updatedObject);
|
var o = await biz.LoanPutAsync(updatedObject);
|
||||||
if (o == null)
|
if (o == null)
|
||||||
{
|
{
|
||||||
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
||||||
@@ -752,7 +752,7 @@ namespace AyaNova.Api.Controllers
|
|||||||
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
||||||
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemOutsideService) || biz.UserIsRestrictedType)
|
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemOutsideService) || biz.UserIsRestrictedType)
|
||||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||||
var o = await biz.OutsideServicePutAsync(updatedObject);
|
var o = await biz.OutsideServicePutAsync(updatedObject);
|
||||||
if (o == null)
|
if (o == null)
|
||||||
{
|
{
|
||||||
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
||||||
@@ -859,7 +859,7 @@ namespace AyaNova.Api.Controllers
|
|||||||
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
||||||
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemPart) || biz.UserIsRestrictedType)
|
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemPart) || biz.UserIsRestrictedType)
|
||||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||||
var o = await biz.PartPutAsync(updatedObject);
|
var o = await biz.PartPutAsync(updatedObject);
|
||||||
if (o == null)
|
if (o == null)
|
||||||
{
|
{
|
||||||
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
||||||
@@ -965,7 +965,7 @@ namespace AyaNova.Api.Controllers
|
|||||||
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
||||||
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemPartRequest) || biz.UserIsRestrictedType)
|
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemPartRequest) || biz.UserIsRestrictedType)
|
||||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||||
var o = await biz.PartRequestPutAsync(updatedObject);
|
var o = await biz.PartRequestPutAsync(updatedObject);
|
||||||
if (o == null)
|
if (o == null)
|
||||||
{
|
{
|
||||||
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
||||||
@@ -1071,7 +1071,7 @@ namespace AyaNova.Api.Controllers
|
|||||||
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
||||||
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemScheduledUser) || biz.UserIsRestrictedType)
|
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemScheduledUser) || biz.UserIsRestrictedType)
|
||||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||||
var o = await biz.ScheduledUserPutAsync(updatedObject);
|
var o = await biz.ScheduledUserPutAsync(updatedObject);
|
||||||
if (o == null)
|
if (o == null)
|
||||||
{
|
{
|
||||||
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
||||||
@@ -1104,7 +1104,7 @@ namespace AyaNova.Api.Controllers
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Get WorkOrderItemScheduledUser schedule info
|
/// Get WorkOrderItemScheduledUser schedule info
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="WorkOrderItemScheduledUserId"></param>
|
/// <param name="WorkOrderItemScheduledUserId"></param>
|
||||||
@@ -1200,7 +1200,7 @@ namespace AyaNova.Api.Controllers
|
|||||||
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
||||||
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemTask))
|
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemTask))
|
||||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||||
var o = await biz.TaskPutAsync(updatedObject);
|
var o = await biz.TaskPutAsync(updatedObject);
|
||||||
if (o == null)
|
if (o == null)
|
||||||
{
|
{
|
||||||
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
||||||
@@ -1306,7 +1306,7 @@ namespace AyaNova.Api.Controllers
|
|||||||
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
||||||
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemTravel))
|
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemTravel))
|
||||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||||
var o = await biz.TravelPutAsync(updatedObject);
|
var o = await biz.TravelPutAsync(updatedObject);
|
||||||
if (o == null)
|
if (o == null)
|
||||||
{
|
{
|
||||||
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
||||||
@@ -1412,7 +1412,7 @@ namespace AyaNova.Api.Controllers
|
|||||||
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
||||||
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemUnit) || biz.UserIsRestrictedType)
|
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemUnit) || biz.UserIsRestrictedType)
|
||||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||||
var o = await biz.UnitPutAsync(updatedObject);
|
var o = await biz.UnitPutAsync(updatedObject);
|
||||||
if (o == null)
|
if (o == null)
|
||||||
{
|
{
|
||||||
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
||||||
|
|||||||
@@ -67,6 +67,11 @@ namespace AyaNova.Biz
|
|||||||
internal async Task<Reminder> GetAsync(long id, bool logTheGetEvent = true)
|
internal async Task<Reminder> GetAsync(long id, bool logTheGetEvent = true)
|
||||||
{
|
{
|
||||||
var ret = await ct.Reminder.AsNoTracking().SingleOrDefaultAsync(m => m.Id == id);
|
var ret = await ct.Reminder.AsNoTracking().SingleOrDefaultAsync(m => m.Id == id);
|
||||||
|
if (ret.UserId != UserId)
|
||||||
|
{
|
||||||
|
AddError(ApiErrorCode.NOT_AUTHORIZED, "generalerror", "A User may only retrieve their own reminders");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
if (logTheGetEvent && ret != null)
|
if (logTheGetEvent && ret != null)
|
||||||
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, BizType, AyaEvent.Retrieved), ct);
|
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, BizType, AyaEvent.Retrieved), ct);
|
||||||
return ret;
|
return ret;
|
||||||
@@ -113,7 +118,7 @@ namespace AyaNova.Biz
|
|||||||
return putObject;
|
return putObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//UPDATE schedule only
|
//UPDATE schedule only
|
||||||
//
|
//
|
||||||
internal async Task<bool> PutNewScheduleTimeAsync(ScheduleItemAdjustParams p)
|
internal async Task<bool> PutNewScheduleTimeAsync(ScheduleItemAdjustParams p)
|
||||||
@@ -143,7 +148,7 @@ namespace AyaNova.Biz
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObject.Id, dbObject.AyaType, AyaEvent.Modified), ct);
|
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObject.Id, dbObject.AyaType, AyaEvent.Modified), ct);
|
||||||
|
|
||||||
await HandlePotentialNotificationEvent(AyaEvent.Modified, dbObject, dbObject);
|
await HandlePotentialNotificationEvent(AyaEvent.Modified, dbObject, dbObject);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -425,7 +430,7 @@ namespace AyaNova.Biz
|
|||||||
public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj = null)
|
public async Task HandlePotentialNotificationEvent(AyaEvent ayaEvent, ICoreBizObjectModel proposedObj, ICoreBizObjectModel currentObj = null)
|
||||||
{
|
{
|
||||||
ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger<ReminderBiz>();
|
ILogger log = AyaNova.Util.ApplicationLogging.CreateLogger<ReminderBiz>();
|
||||||
if(ServerBootConfig.SEEDING || ServerBootConfig.MIGRATING) return;
|
if (ServerBootConfig.SEEDING || ServerBootConfig.MIGRATING) return;
|
||||||
log.LogDebug($"HandlePotentialNotificationEvent processing: [AyaType:{this.BizType}, AyaEvent:{ayaEvent}]");
|
log.LogDebug($"HandlePotentialNotificationEvent processing: [AyaType:{this.BizType}, AyaEvent:{ayaEvent}]");
|
||||||
|
|
||||||
bool isNew = currentObj == null;
|
bool isNew = currentObj == null;
|
||||||
|
|||||||
@@ -4933,216 +4933,9 @@ namespace AyaNova.Biz
|
|||||||
//
|
//
|
||||||
internal async Task<object> ScheduledUserGetScheduleInfoViewAsync(long id, bool logTheGetEvent = true)
|
internal async Task<object> ScheduledUserGetScheduleInfoViewAsync(long id, bool logTheGetEvent = true)
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
MORE INFO DISPLAY
|
|
||||||
Summary info to display for woitem when open dialog (MUST check at server if restricted tech and not send / show some if not all of this)
|
|
||||||
No controls to change the time / date for now
|
|
||||||
|
|
||||||
wosummary
|
|
||||||
wostatus
|
|
||||||
woitemsummary
|
|
||||||
woitemstatus
|
|
||||||
woitempriority
|
|
||||||
tech
|
|
||||||
estimated qty
|
|
||||||
rate
|
|
||||||
tags
|
|
||||||
|
|
||||||
*/
|
|
||||||
var w = await WorkOrderGetPartialAsync(AyaType.WorkOrderItemScheduledUser, id, false, true);
|
var w = await WorkOrderGetPartialAsync(AyaType.WorkOrderItemScheduledUser, id, false, true);
|
||||||
|
|
||||||
if (UserIsRestrictedType && w.Items[0].ScheduledUsers[0].UserId != UserId)//restricted users can only see their own
|
if (UserIsRestrictedType && w.Items[0].ScheduledUsers[0].UserId != UserId)//restricted users can only see their own
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
/*
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"id": 6,
|
|
||||||
"concurrency": 14171235,
|
|
||||||
"serial": 6,
|
|
||||||
"notes": "Esse aut totam adipisci minima optio rerum sed qui.",
|
|
||||||
"wiki": null,
|
|
||||||
"customFields": null,
|
|
||||||
"tags": [
|
|
||||||
"black",
|
|
||||||
"jade",
|
|
||||||
"zebra",
|
|
||||||
"zone0",
|
|
||||||
"zone6"
|
|
||||||
],
|
|
||||||
"customerId": 11,
|
|
||||||
"customerViz": "Parker, Ryan and Denesik",
|
|
||||||
"customerTechNotesViz": null,
|
|
||||||
"projectId": null,
|
|
||||||
"projectViz": null,
|
|
||||||
"internalReferenceNumber": "irf-5922",
|
|
||||||
"customerReferenceNumber": "crf-8231",
|
|
||||||
"customerContactName": null,
|
|
||||||
"fromQuoteId": null,
|
|
||||||
"fromPMId": null,
|
|
||||||
"createdDate": "2021-09-16T13:58:46.481767Z",
|
|
||||||
"serviceDate": "2021-11-11T23:00:00Z",
|
|
||||||
"completeByDate": "2021-11-16T23:00:00Z",
|
|
||||||
"durationToCompleted": "00:00:00",
|
|
||||||
"invoiceNumber": null,
|
|
||||||
"customerSignature": null,
|
|
||||||
"customerSignatureName": null,
|
|
||||||
"customerSignatureCaptured": null,
|
|
||||||
"techSignature": null,
|
|
||||||
"techSignatureName": null,
|
|
||||||
"techSignatureCaptured": null,
|
|
||||||
"onsite": false,
|
|
||||||
"contractId": null,
|
|
||||||
"contractViz": "-",
|
|
||||||
"lastStatusId": 1,
|
|
||||||
"postAddress": "014 Roberts Garden",
|
|
||||||
"postCity": "Chesterborough",
|
|
||||||
"postRegion": "California",
|
|
||||||
"postCountry": "Nauru",
|
|
||||||
"postCode": "66467",
|
|
||||||
"address": "0844 Zieme Prairie",
|
|
||||||
"city": "Chesterborough",
|
|
||||||
"region": "California",
|
|
||||||
"country": "Nauru",
|
|
||||||
"latitude": -2.527,
|
|
||||||
"longitude": 132.4754,
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"id": 14,
|
|
||||||
"concurrency": 14171235,
|
|
||||||
"notes": "itemnotes - 2 ",
|
|
||||||
"wiki": null,
|
|
||||||
"customFields": null,
|
|
||||||
"tags": [],
|
|
||||||
"workOrderId": 6,
|
|
||||||
"techNotes": "technotes - 2",
|
|
||||||
"workOrderItemStatusId": 1,
|
|
||||||
"workOrderItemStatusNameViz": "Item is completed",
|
|
||||||
"workOrderItemStatusColorViz": "#c00000",
|
|
||||||
"workOrderItemPriorityId": 1,
|
|
||||||
"workOrderItemPriorityNameViz": "Immediately",
|
|
||||||
"workOrderItemPriorityColorViz": "#c00000",
|
|
||||||
"requestDate": "2021-11-11T23:02:00Z",
|
|
||||||
"warrantyService": false,
|
|
||||||
"sequence": 3,
|
|
||||||
"fromCSRId": null,
|
|
||||||
"fromCSRViz": null,
|
|
||||||
"expenses": [],
|
|
||||||
"labors": [],
|
|
||||||
"loans": [],
|
|
||||||
"parts": [],
|
|
||||||
"partRequests": [],
|
|
||||||
"scheduledUsers": [
|
|
||||||
{
|
|
||||||
"id": 33,
|
|
||||||
"concurrency": 14171866,
|
|
||||||
"userId": 10,
|
|
||||||
"userViz": "Eliza Hartmann - Tech",
|
|
||||||
"estimatedQuantity": 1,
|
|
||||||
"startDate": "2021-11-09T21:00:00Z",
|
|
||||||
"stopDate": "2021-11-09T22:00:00Z",
|
|
||||||
"serviceRateId": null,
|
|
||||||
"serviceRateViz": null,
|
|
||||||
"workOrderItemId": 14
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"tasks": [],
|
|
||||||
"travels": [],
|
|
||||||
"units": [],
|
|
||||||
"outsideServices": []
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"states": [
|
|
||||||
{
|
|
||||||
"id": 26,
|
|
||||||
"concurrency": 14171235,
|
|
||||||
"workOrderId": 6,
|
|
||||||
"workOrderStatusId": 2,
|
|
||||||
"created": "2021-11-11T23:05:00Z",
|
|
||||||
"userId": 25,
|
|
||||||
"userViz": "Carroll Miller",
|
|
||||||
"nameViz": "Needs to be assigned",
|
|
||||||
"colorViz": "#80ffff",
|
|
||||||
"completedViz": false,
|
|
||||||
"lockedViz": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 27,
|
|
||||||
"concurrency": 14171235,
|
|
||||||
"workOrderId": 6,
|
|
||||||
"workOrderStatusId": 3,
|
|
||||||
"created": "2021-11-12T00:00:00Z",
|
|
||||||
"userId": 10,
|
|
||||||
"userViz": "Eliza Hartmann - Tech",
|
|
||||||
"nameViz": "Scheduled",
|
|
||||||
"colorViz": "#00ff00",
|
|
||||||
"completedViz": false,
|
|
||||||
"lockedViz": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 28,
|
|
||||||
"concurrency": 14171235,
|
|
||||||
"workOrderId": 6,
|
|
||||||
"workOrderStatusId": 1,
|
|
||||||
"created": "2021-11-12T00:05:00Z",
|
|
||||||
"userId": 10,
|
|
||||||
"userViz": "Eliza Hartmann - Tech",
|
|
||||||
"nameViz": "Manager approval required",
|
|
||||||
"colorViz": "#c00000",
|
|
||||||
"completedViz": false,
|
|
||||||
"lockedViz": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 29,
|
|
||||||
"concurrency": 14171235,
|
|
||||||
"workOrderId": 6,
|
|
||||||
"workOrderStatusId": 3,
|
|
||||||
"created": "2021-11-12T01:00:00Z",
|
|
||||||
"userId": 10,
|
|
||||||
"userViz": "Eliza Hartmann - Tech",
|
|
||||||
"nameViz": "Scheduled",
|
|
||||||
"colorViz": "#00ff00",
|
|
||||||
"completedViz": false,
|
|
||||||
"lockedViz": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 30,
|
|
||||||
"concurrency": 14171235,
|
|
||||||
"workOrderId": 6,
|
|
||||||
"workOrderStatusId": 1,
|
|
||||||
"created": "2021-11-12T01:00:00Z",
|
|
||||||
"userId": 10,
|
|
||||||
"userViz": "Eliza Hartmann - Tech",
|
|
||||||
"nameViz": "Manager approval required",
|
|
||||||
"colorViz": "#c00000",
|
|
||||||
"completedViz": false,
|
|
||||||
"lockedViz": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"isLockedAtServer": false,
|
|
||||||
"alertViz": null,
|
|
||||||
"fromQuoteViz": null,
|
|
||||||
"fromPMViz": null,
|
|
||||||
"isCompleteRecord": true,
|
|
||||||
"userIsRestrictedType": false,
|
|
||||||
"userIsTechRestricted": false,
|
|
||||||
"userIsSubContractorFull": false,
|
|
||||||
"userIsSubContractorRestricted": false,
|
|
||||||
"userCanViewPartCosts": false,
|
|
||||||
"userCanViewLaborOrTravelRateCosts": false,
|
|
||||||
"userCanViewLoanerCosts": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
wosummary
|
|
||||||
wostatus
|
|
||||||
woitemsummary
|
|
||||||
woitemstatus
|
|
||||||
woitempriority
|
|
||||||
tech
|
|
||||||
estimated qty
|
|
||||||
rate
|
|
||||||
tags
|
|
||||||
*/
|
|
||||||
string WoStatusName = string.Empty;
|
string WoStatusName = string.Empty;
|
||||||
string WoStatusColor = string.Empty;
|
string WoStatusColor = string.Empty;
|
||||||
bool WoStatusCompleted = false;
|
bool WoStatusCompleted = false;
|
||||||
@@ -5157,7 +4950,6 @@ namespace AyaNova.Biz
|
|||||||
WoStatusCompleted = st.CompletedViz;
|
WoStatusCompleted = st.CompletedViz;
|
||||||
WoStatusLocked = st.LockedViz;
|
WoStatusLocked = st.LockedViz;
|
||||||
}
|
}
|
||||||
|
|
||||||
return new
|
return new
|
||||||
{
|
{
|
||||||
serial = w.Serial,
|
serial = w.Serial,
|
||||||
@@ -5182,8 +4974,6 @@ namespace AyaNova.Biz
|
|||||||
wotags = w.Tags,
|
wotags = w.Tags,
|
||||||
woitemtags = w.Items[0].Tags
|
woitemtags = w.Items[0].Tags
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|||||||
Reference in New Issue
Block a user