This commit is contained in:
@@ -60,31 +60,11 @@ namespace AyaNova.Api.Controllers
|
|||||||
{
|
{
|
||||||
//trying ad-hoc join https://entityframeworkcore.com/querying-data-joining
|
//trying ad-hoc join https://entityframeworkcore.com/querying-data-joining
|
||||||
|
|
||||||
var w=await ct.WorkOrderItemScheduledUser.Join(ct.WorkOrderItem,x=>x.WorkOrderItemId==)
|
var wo = await ct.ViewSchedulePersonalWorkOrder.Where(x => x.SchedUserId == UserId)
|
||||||
|
.Select(x => new PersonalScheduleListItem() { Id = x.WoItemSchedUserId, Color = ColorFromWOItem(x, p), Start = x.StartDate, End = x.StopDate, Type = AyaType.WorkOrderItemScheduledUser, })
|
||||||
|
.ToListAsync();
|
||||||
|
|
||||||
|
|
||||||
// var w = await ct.WorkOrder.AsSplitQuery().AsNoTracking()
|
|
||||||
// .Include(s => s.States)
|
|
||||||
// .Include(w => w.Items.OrderBy(item => item.Sequence))
|
|
||||||
// .ThenInclude(wi => wi.Expenses)
|
|
||||||
// .Include(w => w.Items)
|
|
||||||
// .ThenInclude(wi => wi.Labors)
|
|
||||||
// .Include(w => w.Items)
|
|
||||||
// .ThenInclude(wi => wi.Loans)
|
|
||||||
// .Include(w => w.Items)
|
|
||||||
// .ThenInclude(wi => wi.Parts)
|
|
||||||
// .Include(w => w.Items)
|
|
||||||
// .ThenInclude(wi => wi.PartRequests)
|
|
||||||
// .Include(w => w.Items)
|
|
||||||
// .ThenInclude(wi => wi.ScheduledUsers)
|
|
||||||
// .Include(w => w.Items)
|
|
||||||
// .ThenInclude(wi => wi.Tasks.OrderBy(t => t.Sequence))
|
|
||||||
// .Include(w => w.Items)
|
|
||||||
// .ThenInclude(wi => wi.Travels)
|
|
||||||
// .Include(w => w.Items)
|
|
||||||
// .ThenInclude(wi => wi.Units)
|
|
||||||
// .Include(w => w.Items)
|
|
||||||
// .ThenInclude(wi => wi.OutsideServices)
|
|
||||||
// .SingleOrDefaultAsync(z => z.Id == UserId);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -92,6 +72,21 @@ namespace AyaNova.Api.Controllers
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private string ColorFromWOItem(ViewSchedulePersonalWorkOrder v, PersonalScheduleParams p)
|
||||||
|
{
|
||||||
|
switch (p.ColorSource)
|
||||||
|
{
|
||||||
|
case PersonalScheduleWorkOrderColorSource.WorkOrderStatus:
|
||||||
|
return v.WorkOrderStatusColor;
|
||||||
|
case PersonalScheduleWorkOrderColorSource.WorkOrderItemStatus:
|
||||||
|
return v.WorkOrderItemStatusColor;
|
||||||
|
case PersonalScheduleWorkOrderColorSource.WorkOrderItemPriority:
|
||||||
|
return v.WorkOrderItemPriorityColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public enum PersonalScheduleWorkOrderColorSource : int
|
public enum PersonalScheduleWorkOrderColorSource : int
|
||||||
{
|
{
|
||||||
@@ -111,8 +106,8 @@ namespace AyaNova.Api.Controllers
|
|||||||
|
|
||||||
public class PersonalScheduleListItem
|
public class PersonalScheduleListItem
|
||||||
{
|
{
|
||||||
public DateTime Start { get; set; }
|
public DateTime? Start { get; set; }
|
||||||
public DateTime End { get; set; }
|
public DateTime? End { get; set; }
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
public string Color { get; set; }
|
public string Color { get; set; }
|
||||||
public AyaType Type { get; set; }
|
public AyaType Type { get; set; }
|
||||||
|
|||||||
@@ -124,6 +124,7 @@ namespace AyaNova.Models
|
|||||||
public virtual DbSet<ViewPartInventoryList> ViewPartInventoryList { get; set; }
|
public virtual DbSet<ViewPartInventoryList> ViewPartInventoryList { get; set; }
|
||||||
public virtual DbSet<ViewUnfulfilledPartRequestList> ViewUnfulfilledPartRequestList { get; set; }
|
public virtual DbSet<ViewUnfulfilledPartRequestList> ViewUnfulfilledPartRequestList { get; set; }
|
||||||
public virtual DbSet<ViewPartInventoryRequestList> ViewPartInventoryRequestList { get; set; }
|
public virtual DbSet<ViewPartInventoryRequestList> ViewPartInventoryRequestList { get; set; }
|
||||||
|
public virtual DbSet<ViewSchedulePersonalWorkOrder> ViewSchedulePersonalWorkOrder { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
22
server/AyaNova/models/ViewSchedulePersonalWorkOrder.cs
Normal file
22
server/AyaNova/models/ViewSchedulePersonalWorkOrder.cs
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace AyaNova.Models
|
||||||
|
{
|
||||||
|
//Note this is how to define a View backed model with no key (id)
|
||||||
|
|
||||||
|
[Microsoft.EntityFrameworkCore.Keyless]
|
||||||
|
public class ViewSchedulePersonalWorkOrder
|
||||||
|
{
|
||||||
|
public long WoItemSchedUserId { get; set; }
|
||||||
|
public long SchedUserId { get; set; }
|
||||||
|
public DateTime? StartDate { get; set; }
|
||||||
|
public DateTime? StopDate { get; set; }
|
||||||
|
public long Serial { get; set; }
|
||||||
|
public string CustomerName { get; set; }
|
||||||
|
public string WorkOrderStatusColor { get; set; }
|
||||||
|
public string WorkOrderItemStatusColor { get; set; }
|
||||||
|
public string WorkOrderItemPriorityColor { get; set; }
|
||||||
|
|
||||||
|
}//eoc
|
||||||
|
}//eons
|
||||||
|
|
||||||
@@ -1195,17 +1195,19 @@ $BODY$ LANGUAGE PLPGSQL STABLE");
|
|||||||
|
|
||||||
//SCHEDULE VIEWS
|
//SCHEDULE VIEWS
|
||||||
//PERSONAL WORKORDERS
|
//PERSONAL WORKORDERS
|
||||||
await ExecQueryAsync("CREATE VIEW viewschedulepersonalworkorder AS SELECT "
|
await ExecQueryAsync("CREATE VIEW VIEWSCHEDULEPERSONALWORKORDER AS SELECT "
|
||||||
+ "AWORKORDERITEMSCHEDULEDUSER.ID, "
|
+ "AWORKORDERITEMSCHEDULEDUSER.ID AS WOITEMSCHEDUSERID, "
|
||||||
|
+ "AWORKORDERITEMSCHEDULEDUSER.USERID AS SCHEDUSERID, "
|
||||||
+ "AWORKORDERITEMSCHEDULEDUSER.STARTDATE, "
|
+ "AWORKORDERITEMSCHEDULEDUSER.STARTDATE, "
|
||||||
+ "AWORKORDERITEMSCHEDULEDUSER.STOPDATE, "
|
+ "AWORKORDERITEMSCHEDULEDUSER.STOPDATE, "
|
||||||
+ "AWORKORDER.SERIAL, "
|
+ "AWORKORDER.SERIAL, ACUSTOMER.NAME AS CUSTOMERNAME "
|
||||||
+ "AWORKORDERSTATUS.COLOR AS WORKORDERSTATUSCOLOR, "
|
+ "AWORKORDERSTATUS.COLOR AS WORKORDERSTATUSCOLOR, "
|
||||||
+ "AWORKORDERITEMSTATUS.COLOR AS WORKORDERITEMSTATUSCOLOR, "
|
+ "AWORKORDERITEMSTATUS.COLOR AS WORKORDERITEMSTATUSCOLOR, "
|
||||||
+ "AWORKORDERITEMPRIORITY.COLOR AS WORKORDERITEMPRIORITYCOLOR "
|
+ "AWORKORDERITEMPRIORITY.COLOR AS WORKORDERITEMPRIORITYCOLOR "
|
||||||
+ "FROM AWORKORDERITEMSCHEDULEDUSER "
|
+ "FROM AWORKORDERITEMSCHEDULEDUSER "
|
||||||
+ "LEFT JOIN AWORKORDERITEM ON AWORKORDERITEMSCHEDULEDUSER.WORKORDERITEMID = AWORKORDERITEM.ID "
|
+ "LEFT JOIN AWORKORDERITEM ON AWORKORDERITEMSCHEDULEDUSER.WORKORDERITEMID = AWORKORDERITEM.ID "
|
||||||
+ "LEFT JOIN AWORKORDER ON AWORKORDERITEM.WORKORDERID = AWORKORDER.ID "
|
+ "LEFT JOIN AWORKORDER ON AWORKORDERITEM.WORKORDERID = AWORKORDER.ID "
|
||||||
|
+ "LEFT JOIN ACUSTOMER ON AWORKORDER.CUSTOMERID = ACUSTOMER.ID "
|
||||||
+ "LEFT JOIN AWORKORDERSTATUS ON AWORKORDER.LASTSTATUSID = AWORKORDERSTATUS.ID "
|
+ "LEFT JOIN AWORKORDERSTATUS ON AWORKORDER.LASTSTATUSID = AWORKORDERSTATUS.ID "
|
||||||
+ "LEFT JOIN AWORKORDERITEMSTATUS ON AWORKORDERITEM.WORKORDERITEMSTATUSID = AWORKORDERITEMSTATUS.ID "
|
+ "LEFT JOIN AWORKORDERITEMSTATUS ON AWORKORDERITEM.WORKORDERITEMSTATUSID = AWORKORDERITEMSTATUS.ID "
|
||||||
+ "LEFT JOIN AWORKORDERITEMPRIORITY ON AWORKORDERITEM.WORKORDERITEMPRIORITYID = AWORKORDERITEMPRIORITY.ID");
|
+ "LEFT JOIN AWORKORDERITEMPRIORITY ON AWORKORDERITEM.WORKORDERITEMPRIORITYID = AWORKORDERITEMPRIORITY.ID");
|
||||||
|
|||||||
Reference in New Issue
Block a user