public static WorkApplication Populate(String applicationName) { try { marcdissertation_dbEntities ctxt = new marcdissertation_dbEntities(); WorkApplication wa = (from x in ctxt.WorkApplications where x.ApplicationName == applicationName select x).First(); wa.context = ctxt; return(wa); } catch { throw new Exception("Application with name given does not exist"); } }
public static WorkApplication Populate(int ApplicationId) { try { marcdissertation_dbEntities ctxt = new marcdissertation_dbEntities(); WorkApplication wa = (from x in ctxt.WorkApplications where x.ApplicationId.Equals(ApplicationId) select x).First(); wa.context = ctxt; return(wa); } catch { throw new Exception("Application with ID given does not exist"); } }
public static List <WorkOrder> GetWorkOrdersRequiringReassignment() { marcdissertation_dbEntities ctxt = new marcdissertation_dbEntities(); IEnumerable <WorkOrder> wos = (from x in ctxt.WorkOrders where x.WorkOrderStatus == "SLAVE_ACKNOWLEDGED" select x); // Get distinct app IDs IEnumerable <int> appIds = wos.Select(x => x.ApplicationId).Distinct(); List <WorkOrder> offendingWorkOrders = new List <WorkOrder>(); foreach (int appId in appIds) { // Get average then go thru the WOs in turn WorkApplication wa = WorkApplication.Populate(appId); double avgComputeTime = wa.GetAverageComputeTime(); if (avgComputeTime == 0 || double.IsNaN(avgComputeTime)) { // New app, give 2 mins avgComputeTime += 120; } else { // Give some leeway avgComputeTime += 40; } foreach (WorkOrder wo in wos) { if (wo.ApplicationId == appId) { double waitTime = (DateTime.Now - wo.SlaveWorkerSubmit.Value).TotalSeconds; if (waitTime > avgComputeTime) { offendingWorkOrders.Add(wo); } } } //List<WorkOrder> woss = wos.Where(x=> x.ApplicationId == appId && avgComputeTime <(DateTime.Now - x.SlaveWorkerSubmit.Value).Seconds).ToList(); //offendingWorkOrders.AddRange(woss); } return(offendingWorkOrders); }
public static WorkApplication CreateApplication(string applicationName, string applicationDescription, string applicationCreator, string applicationPackageUrl, string applicationWorkIntent, string applicationNamespace, int applicationVersion = 1) { WorkApplication wa = new WorkApplication(); wa.ApplicationName = applicationName; wa.ApplicationCreator = applicationCreator; wa.ApplicationDescription = applicationDescription; wa.ApplicationPackageURL = applicationPackageUrl; wa.ApplicationWorkIntent = applicationWorkIntent; wa.ApplicationVersion = applicationVersion; wa.ApplicationNamespace = applicationNamespace; wa.context = new marcdissertation_dbEntities(); wa = wa.context.WorkApplications.Add(wa); errors = wa.context.GetValidationErrors(); try { wa.context.SaveChanges(); } catch { throw App.ExceptionFormatter(errors); } return wa; }
public static WorkApplication CreateApplication(string applicationName, string applicationDescription, string applicationCreator, string applicationPackageUrl, string applicationWorkIntent, string applicationNamespace, int applicationVersion = 1) { WorkApplication wa = new WorkApplication(); wa.ApplicationName = applicationName; wa.ApplicationCreator = applicationCreator; wa.ApplicationDescription = applicationDescription; wa.ApplicationPackageURL = applicationPackageUrl; wa.ApplicationWorkIntent = applicationWorkIntent; wa.ApplicationVersion = applicationVersion; wa.ApplicationNamespace = applicationNamespace; wa.context = new marcdissertation_dbEntities(); wa = wa.context.WorkApplications.Add(wa); errors = wa.context.GetValidationErrors(); try { wa.context.SaveChanges(); } catch { throw App.ExceptionFormatter(errors); } return(wa); }