diff --git a/server/AyaNova/util/Seeder.cs b/server/AyaNova/util/Seeder.cs index 8c9d60b7..690bd445 100644 --- a/server/AyaNova/util/Seeder.cs +++ b/server/AyaNova/util/Seeder.cs @@ -837,6 +837,225 @@ namespace AyaNova.Util + ///////////////////////////////////////////////////// + //WorkorderStatus + { + + { + WorkOrderStatus stat = new WorkOrderStatus(); + stat.Name = "Manager approval required"; + stat.Active = true; + stat.Color = "#c00000"; + stat.Completed = false; + stat.Locked = true; + stat.SelectRoles = AuthorizationRoles.AllInsideUserRoles; + stat.RemoveRoles = AuthorizationRoles.DispatchFull | AuthorizationRoles.BizAdminFull; + stat.Notes = "Use to lock workorder and wait for approval from manager"; + using (AyContext ct = ServiceProviderProvider.DBContext) + { + WorkOrderStatusBiz biz = WorkOrderStatusBiz.GetBiz(ct); + var NewObject = await biz.CreateAsync(stat); + + if (NewObject == null) + { + var err = $"Seeder::SeedKnownObjects error creating workorder status\r\n{biz.GetErrorsAsString()}"; + log.LogError(err); + throw new System.Exception(err); + } + } + } + + { + WorkOrderStatus stat = new WorkOrderStatus(); + stat.Name = "Needs to be assigned"; + stat.Active = true; + stat.Color = "#80ffff"; + stat.Completed = false; + stat.Locked = false; + stat.SelectRoles = AuthorizationRoles.AllInsideUserRoles; + stat.RemoveRoles = AuthorizationRoles.AllInsideUserRoles; + stat.Notes = "Waiting for technicians to be assigned to this work"; + using (AyContext ct = ServiceProviderProvider.DBContext) + { + WorkOrderStatusBiz biz = WorkOrderStatusBiz.GetBiz(ct); + var NewObject = await biz.CreateAsync(stat); + + if (NewObject == null) + { + var err = $"Seeder::SeedKnownObjects error creating workorder status\r\n{biz.GetErrorsAsString()}"; + log.LogError(err); + throw new System.Exception(err); + } + } + } + + { + WorkOrderStatus stat = new WorkOrderStatus(); + stat.Name = "Scheduled"; + stat.Active = true; + stat.Color = "#00ff00"; + stat.Completed = false; + stat.Locked = false; + stat.SelectRoles = AuthorizationRoles.AllInsideUserRoles; + stat.RemoveRoles = AuthorizationRoles.AllInsideUserRoles; + stat.Notes = "Scheduled / ready for service"; + using (AyContext ct = ServiceProviderProvider.DBContext) + { + WorkOrderStatusBiz biz = WorkOrderStatusBiz.GetBiz(ct); + var NewObject = await biz.CreateAsync(stat); + + if (NewObject == null) + { + var err = $"Seeder::SeedKnownObjects error creating workorder status\r\n{biz.GetErrorsAsString()}"; + log.LogError(err); + throw new System.Exception(err); + } + } + } + + { + WorkOrderStatus stat = new WorkOrderStatus(); + stat.Name = "Service completed"; + stat.Active = true; + stat.Color = "#ff0000"; + stat.Completed = true; + stat.Locked = true; + stat.SelectRoles = AuthorizationRoles.AllInsideUserRoles; + stat.RemoveRoles = AuthorizationRoles.DispatchFull | AuthorizationRoles.BizAdminFull; + + using (AyContext ct = ServiceProviderProvider.DBContext) + { + WorkOrderStatusBiz biz = WorkOrderStatusBiz.GetBiz(ct); + var NewObject = await biz.CreateAsync(stat); + + if (NewObject == null) + { + var err = $"Seeder::SeedKnownObjects error creating workorder status\r\n{biz.GetErrorsAsString()}"; + log.LogError(err); + throw new System.Exception(err); + } + } + } + + { + WorkOrderStatus stat = new WorkOrderStatus(); + stat.Name = "Waiting on customer approval"; + stat.Active = true; + stat.Color = "#8080ff"; + stat.Completed = false; + stat.Locked = true; + stat.SelectRoles = AuthorizationRoles.AllInsideUserRoles; + stat.RemoveRoles = AuthorizationRoles.AllInsideUserRoles; + using (AyContext ct = ServiceProviderProvider.DBContext) + { + WorkOrderStatusBiz biz = WorkOrderStatusBiz.GetBiz(ct); + var NewObject = await biz.CreateAsync(stat); + + if (NewObject == null) + { + var err = $"Seeder::SeedKnownObjects error creating workorder status\r\n{biz.GetErrorsAsString()}"; + log.LogError(err); + throw new System.Exception(err); + } + } + } + + { + WorkOrderStatus stat = new WorkOrderStatus(); + stat.Name = "Waiting on parts"; + stat.Active = true; + stat.Color = "#c0c000"; + stat.Completed = false; + stat.Locked = false; + stat.SelectRoles = AuthorizationRoles.AllInsideUserRoles; + stat.RemoveRoles = AuthorizationRoles.AllInsideUserRoles; + using (AyContext ct = ServiceProviderProvider.DBContext) + { + WorkOrderStatusBiz biz = WorkOrderStatusBiz.GetBiz(ct); + var NewObject = await biz.CreateAsync(stat); + + if (NewObject == null) + { + var err = $"Seeder::SeedKnownObjects error creating workorder status\r\n{biz.GetErrorsAsString()}"; + log.LogError(err); + throw new System.Exception(err); + } + } + } + + { + WorkOrderStatus stat = new WorkOrderStatus(); + stat.Name = "Waiting on warranty return"; + stat.Active = true; + stat.Color = "#ff00ff"; + stat.Completed = false; + stat.Locked = false; + stat.SelectRoles = AuthorizationRoles.AllInsideUserRoles; + stat.RemoveRoles = AuthorizationRoles.AllInsideUserRoles; + using (AyContext ct = ServiceProviderProvider.DBContext) + { + WorkOrderStatusBiz biz = WorkOrderStatusBiz.GetBiz(ct); + var NewObject = await biz.CreateAsync(stat); + + if (NewObject == null) + { + var err = $"Seeder::SeedKnownObjects error creating workorder status\r\n{biz.GetErrorsAsString()}"; + log.LogError(err); + throw new System.Exception(err); + } + } + } + + { + WorkOrderStatus stat = new WorkOrderStatus(); + stat.Name = "Waiting to be invoiced"; + stat.Active = true; + stat.Color = "#ffc0c0"; + stat.Completed = false; + stat.Locked = true; + stat.SelectRoles = AuthorizationRoles.AllInsideUserRoles; + stat.RemoveRoles = AuthorizationRoles.SalesFull | AuthorizationRoles.AccountingFull | AuthorizationRoles.DispatchFull | AuthorizationRoles.BizAdminFull; + using (AyContext ct = ServiceProviderProvider.DBContext) + { + WorkOrderStatusBiz biz = WorkOrderStatusBiz.GetBiz(ct); + var NewObject = await biz.CreateAsync(stat); + + if (NewObject == null) + { + var err = $"Seeder::SeedKnownObjects error creating workorder status\r\n{biz.GetErrorsAsString()}"; + log.LogError(err); + throw new System.Exception(err); + } + } + } + + { + WorkOrderStatus stat = new WorkOrderStatus(); + stat.Name = "Closed"; + stat.Active = true; + stat.Color = "#000000"; + stat.Completed = true; + stat.Locked = true; + stat.SelectRoles = AuthorizationRoles.DispatchFull | AuthorizationRoles.BizAdminFull; + stat.RemoveRoles = AuthorizationRoles.DispatchFull | AuthorizationRoles.BizAdminFull; + + using (AyContext ct = ServiceProviderProvider.DBContext) + { + WorkOrderStatusBiz biz = WorkOrderStatusBiz.GetBiz(ct); + var NewObject = await biz.CreateAsync(stat); + + if (NewObject == null) + { + var err = $"Seeder::SeedKnownObjects error creating workorder status\r\n{biz.GetErrorsAsString()}"; + log.LogError(err); + throw new System.Exception(err); + } + } + } + + //========================= + } + ///////////////////////////////////////////////////// @@ -1971,6 +2190,7 @@ namespace AyaNova.Util + ////////////////////////////////////////////////////////////////////////////////////////////////// }//eoc