From f3efa56750f5c5ab295d0552b8f4916780d4cdb9 Mon Sep 17 00:00:00 2001 From: Gary Sharp Date: Thu, 5 Sep 2013 12:45:23 +1000 Subject: [PATCH] Update: Job Entity -> Enum Support --- Disco.BI/BI/Extensions/JobFlagExtensions.cs | 4 ++-- Disco.Data/Disco.Data.csproj | 2 +- Disco.Models/Repository/Job/Job.cs | 2 +- Disco.Web/Areas/API/Controllers/JobController.cs | 10 +++++----- .../Areas/Config/Models/DeviceProfile/IndexModel.cs | 2 +- Disco.Web/Controllers/JobController.cs | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Disco.BI/BI/Extensions/JobFlagExtensions.cs b/Disco.BI/BI/Extensions/JobFlagExtensions.cs index 505a1756..9269c164 100644 --- a/Disco.BI/BI/Extensions/JobFlagExtensions.cs +++ b/Disco.BI/BI/Extensions/JobFlagExtensions.cs @@ -41,7 +41,7 @@ namespace Disco.BI.Extensions CacheAllFlags(); - var currentFlags = j.Flags ?? 0; + var currentFlags = (long)(j.Flags ?? 0); foreach (var jt in j.JobSubTypes) { @@ -63,7 +63,7 @@ namespace Disco.BI.Extensions CacheAllFlags(); - var currentFlags = j.Flags ?? 0; + var currentFlags = (long)(j.Flags ?? 0); foreach (var jt in j.JobSubTypes) { diff --git a/Disco.Data/Disco.Data.csproj b/Disco.Data/Disco.Data.csproj index bb89250e..92c6cf18 100644 --- a/Disco.Data/Disco.Data.csproj +++ b/Disco.Data/Disco.Data.csproj @@ -159,7 +159,7 @@ - + diff --git a/Disco.Models/Repository/Job/Job.cs b/Disco.Models/Repository/Job/Job.cs index d90320e1..9f645050 100644 --- a/Disco.Models/Repository/Job/Job.cs +++ b/Disco.Models/Repository/Job/Job.cs @@ -26,7 +26,7 @@ namespace Disco.Models.Repository public string ClosedTechUserId { get; set; } public DateTime? ClosedDate { get; set; } - public long? Flags { get; set; } + public UserManagementFlags? Flags { get; set; } [Display(Name = "Technician Held Device")] public DateTime? DeviceHeld { get; set; } diff --git a/Disco.Web/Areas/API/Controllers/JobController.cs b/Disco.Web/Areas/API/Controllers/JobController.cs index 44ab685f..1dcc2129 100644 --- a/Disco.Web/Areas/API/Controllers/JobController.cs +++ b/Disco.Web/Areas/API/Controllers/JobController.cs @@ -499,9 +499,9 @@ namespace Disco.Web.Areas.API.Controllers } else { - if (!job.Flags.HasValue || job.Flags.Value != flags) + if (!job.Flags.HasValue || (long)job.Flags.Value != flags) { - job.Flags = flags; + job.Flags = (Disco.Models.Repository.Job.UserManagementFlags)flags; dbContext.SaveChanges(); } } @@ -1391,7 +1391,7 @@ namespace Disco.Web.Areas.API.Controllers if (job == null) throw new Exception("Invalid Job Id"); - long flag = Flag.Value; + var flag = Flag.Value; var validFlags = job.ValidFlags(); Tuple flagStatus; if (validFlags.TryGetValue((flag < 0 ? flag * -1 : flag), out flagStatus)) @@ -1400,7 +1400,7 @@ namespace Disco.Web.Areas.API.Controllers { // Remove Flag if (flagStatus.Item2) { - job.Flags = (job.Flags ?? 0) ^ (flag * -1); + job.Flags = (Disco.Models.Repository.Job.UserManagementFlags)((long)(job.Flags ?? 0) ^ (flag * -1)); dbContext.SaveChanges(); } } @@ -1408,7 +1408,7 @@ namespace Disco.Web.Areas.API.Controllers { // Add Flag if (!flagStatus.Item2) { - job.Flags = (job.Flags ?? 0) | flag; + job.Flags = (Disco.Models.Repository.Job.UserManagementFlags)((long)(job.Flags ?? 0) | flag); } // Write Reason JobLog jobLog = new JobLog() diff --git a/Disco.Web/Areas/Config/Models/DeviceProfile/IndexModel.cs b/Disco.Web/Areas/Config/Models/DeviceProfile/IndexModel.cs index dd749253..8ac46937 100644 --- a/Disco.Web/Areas/Config/Models/DeviceProfile/IndexModel.cs +++ b/Disco.Web/Areas/Config/Models/DeviceProfile/IndexModel.cs @@ -22,7 +22,7 @@ namespace Disco.Web.Areas.Config.Models.DeviceProfile ShortName = dp.ShortName, Address = dp.DefaultOrganisationAddress, Description = dp.Description, - DistributionTypeId = dp.DistributionTypeDb, + DistributionTypeId = (int)dp.DistributionType, DeviceCount = dp.Devices.Count, DeviceDecommissionedCount = dp.Devices.Count(d => d.DecommissionedDate.HasValue) }).ToArray().Cast().ToList(); diff --git a/Disco.Web/Controllers/JobController.cs b/Disco.Web/Controllers/JobController.cs index 79445981..9750cf3a 100644 --- a/Disco.Web/Controllers/JobController.cs +++ b/Disco.Web/Controllers/JobController.cs @@ -137,7 +137,7 @@ namespace Disco.Web.Controllers (j.JobTypeId == JobType.JobTypeIds.HNWar && (j.JobMetaNonWarranty.IsInsuranceClaim && !j.JobMetaInsurance.ClaimFormSentDate.HasValue)) || (j.JobTypeId == JobType.JobTypeIds.HNWar && (j.JobMetaNonWarranty.AccountingChargeRequiredDate.HasValue && (!j.JobMetaNonWarranty.AccountingChargeAddedDate.HasValue && !j.JobMetaNonWarranty.AccountingChargePaidDate.HasValue))) || (j.JobTypeId == JobType.JobTypeIds.HNWar && (!j.JobMetaNonWarranty.AccountingChargeAddedDate.HasValue || !j.JobMetaNonWarranty.AccountingChargePaidDate.HasValue)) || - (j.JobTypeId == JobType.JobTypeIds.UMgmt && (long)Job.UserManagementFlags.Infringement_BreachFinancialAgreement == (j.Flags & (long)Job.UserManagementFlags.Infringement_BreachFinancialAgreement)) + (j.JobTypeId == JobType.JobTypeIds.UMgmt && Job.UserManagementFlags.Infringement_BreachFinancialAgreement == (j.Flags & Job.UserManagementFlags.Infringement_BreachFinancialAgreement)) ))); // UI Extensions @@ -194,7 +194,7 @@ namespace Disco.Web.Controllers var m = new Models.Job.ListModel() { Title = "Jobs Awaiting Finance - Agreement Breach" }; m.JobTable = new Disco.Models.BI.Job.JobTableModel() { ShowStatus = true }; m.JobTable.Fill(dbContext, BI.JobBI.Searching.BuildJobTableModel(dbContext).Where(j => j.ClosedDate == null && - (j.JobTypeId == JobType.JobTypeIds.UMgmt && (long)Job.UserManagementFlags.Infringement_BreachFinancialAgreement == (j.Flags & (long)Job.UserManagementFlags.Infringement_BreachFinancialAgreement)) + (j.JobTypeId == JobType.JobTypeIds.UMgmt && Job.UserManagementFlags.Infringement_BreachFinancialAgreement == (j.Flags & Job.UserManagementFlags.Infringement_BreachFinancialAgreement)) ).OrderBy(j => j.Id)); // UI Extensions