private void AddSubJob() { SubJob subjob = SelectedSubJob.Copy(); SelectedJob.Subjobs.Add(subjob); SelectedSubJob = subjob; }
public IActionResult AddSubJob(string id, bool list = false) { //First get the Absence Request AbsenceRequest absenceRequest = data.AbsenceRequests.Get(new QueryOptions <AbsenceRequest> { Include = "DurationType, AbsenceRequestPeriods, User, SubJob, SubJob.User, SubJob.SubJobStatus", Where = ar => ar.AbsenceRequestId == id, }); //Then copy the absence values to the new sub job. SubJob subJob = new SubJob { StartDate = absenceRequest.StartDate, EndDate = absenceRequest.EndDate, StartTime = absenceRequest.StartTime, EndTime = absenceRequest.EndTime, DurationTypeId = absenceRequest.DurationTypeId, SubJobStatus = data.SubJobStatuses.List().Where(ct => ct.Name == "Unfilled").FirstOrDefault(), AbsenceRequest = absenceRequest }; data.SubJobs.Insert(subJob); data.Save(); if (list) { return(RedirectToAction("List")); } else { return(RedirectToAction("Details", new { ID = absenceRequest.AbsenceRequestId })); } }
public override void Work() { if (SubJob == null) { Logger.Log("Construct.Work doing self work", Logger.DEBUG); WorkRequired--; if (WorkRequired <= 0) { Logger.Log("Construct.Work Finishing", Logger.DEBUG); Finish(); } } else { Logger.Log("Construct.Work doing SubJob.Work", Logger.DEBUG); SubJob.Work(); Location = SubJob.GetLocation(); if (SubJob.Completed) { Logger.Log("Construct.Work SubJob Completed", Logger.DEBUG); var j = (Haul)SubJob; foreach (var c in j.Carried) { CapturedResources.Add(c); } j.Carried = new List <Entity>(); j.ReleaseOwnership(); SubJob = null; GenerateNextStep(); } } }
private bool CanDelete(SubJob p) { if (SelectedJob == null || SelectedJob.Subjobs == null) { return(false); } return(SelectedJob.Subjobs.Contains(p)); }
private void DeleteJob(SPWebApplication webApp) { SubJob subJob = webApp.JobDefinitions.OfType <SubJob>().FirstOrDefault(); if (subJob != null) { subJob.Delete(); } }
public override Point GetLocation() { if (SubJob == null) { Logger.Log("Construct job returning it's own location", Logger.DEBUG); return(Location); } Logger.Log("Construct job returning Subjob Location", Logger.DEBUG); return(SubJob.GetLocation()); }
public void createSubJob(int stage, SubJob job) { if (stage <= this.progress) { throw new System.Exception("stage small than progress"); } if (stage > 100) { stage = 100; } job(new HpScheduleSubContext(this, stage)); }
private void RegisterJob(SPWebApplication webApp) { DeleteJob(webApp); SubJob job = new SubJob(webApp, "http://localhost"); SPMinuteSchedule scheduleSubJob = new SPMinuteSchedule(); scheduleSubJob.BeginSecond = 0; scheduleSubJob.EndSecond = 15; scheduleSubJob.Interval = 1; job.Schedule = scheduleSubJob; job.Update(); }
// [TestMethod] // public void CreateJob() // { // //CanvasSize canvasSize = new CanvasSize(1440, 960); //CanvasSize canvasSize = new CanvasSize(188, 125); ////Size canvasSize = new Size(7200, 4800); ////Size canvasSize = new Size(10800, 7200); ////Size canvasSize = new Size(14400, 9600); ////Size canvasSize = new Size(21600, 14400); ////DPoint leftBot = new DPoint(-0.7764118407199196, 0.13437492059936854); ////DPoint rightTop = new DPoint(-0.7764117329761986, 0.13437499747905846); //DPoint leftBot = new DPoint(-2, -1); //DPoint rightTop = new DPoint(1, 1); //int maxIterations = 100; // MapInfo mapInfo = new MapInfo(leftBot, rightTop, maxIterations); //SCoords coords = new SCoords(new SPoint(leftBot), new SPoint(rightTop)); //MapSection area = new MapSection(new Point(0, 0), canvasSize.GetWholeUnits(Engine.BLOCK_SIZE)); //string connectionId = "dummy"; //SMapWorkRequest mapWorkRequest = new SMapWorkRequest("FET", coords, canvasSize, area, maxIterations, connectionId); //Job job = new Job(mapWorkRequest); //mapWorkRequest.JobId = job.JobId; //SubJob subJob = null; //while((subJob = job.GetNextSubJob()) != null) //{ // int lx = subJob.MapSectionWorkRequest.MapSection.SectionAnchor.X; // ProcessSubJob(subJob); //} // } private void ProcessSubJob(SubJob subJob) { MapSectionWorkRequest mswr = subJob.MapSectionWorkRequest; //MapWorkingData2 workingData = new MapWorkingData2(mswr.MapSection.CanvasSize, mswr.MaxIterations, mswr.XValues, mswr.YValues); //int[] packedCntsAndEscVels = workingData.GetValues(); Job parentJob = subJob.ParentJob as Job; double[] xValues = parentJob.SamplePoints.XValueSections[subJob.MapSectionWorkRequest.HPtr]; double[] YValues = parentJob.SamplePoints.YValueSections[subJob.MapSectionWorkRequest.VPtr]; MapCalculator workingData = new MapCalculator(); int[] packedCntsAndEscVels = workingData.GetValues(xValues, YValues, subJob.MapSectionWorkRequest.MaxIterations); }
public async void ListView_ItemSelected(object sender, SelectedItemChangedEventArgs e) { var cnx = Maincnx; var item = e.SelectedItem as JobCell; Job _item = new Job(); _item = item.job; string jobKey = String.Format("/api/api/5?id=id$~{0}~cmd$~getjobdetails~{1}", cnx.ID, item.JobNumber); //List<MegaParser.groupitem> groupitems = MegaParser.ParseJobs(await GetJob(jobKey, cnx.Token)); string rawJson = await GetJob(jobKey, cnx.Token); if (connected == false) { return; } if (rawJson == "no jobs" || string.IsNullOrEmpty(rawJson)) { await DisplayAlert("No Info", "No Further Information", "ok"); Console.WriteLine("RETURNED: no jobs"); updateList(Maincnx, null); } else if (rawJson[0] != '[') { await DisplayAlert("No Info", "No Further Information", "ok"); Console.WriteLine("RETURNED: Improper Format"); updateList(Maincnx, null); } else { var x = JobsFromJson.FromJson(rawJson); List <SubJob> _subJobs = new List <SubJob>(); foreach (Dictionary <string, string> i in x) { SubJob sj = new SubJob(); if (i["subjob"] == "") { sj.Subjob = 0; } else { sj.Subjob = Convert.ToInt32(i["subjob"]); } if (i["esent"] == "") { sj.Sent = 0; } else { sj.Sent = Convert.ToInt32(i["esent"]); } sj.Status = i["status"]; sj.Created = i["created"]; sj.Description = i["description"]; sj.GrossValue = i["grossValue"]; sj.NetValue = i["netValue"]; sj.VatValue = i["vatValue"]; sj.Notes = i["notes"]; _subJobs.Add(sj); } List <Job> subjobs = new List <Job>(); foreach (SubJob _sj in _subJobs) { Job job = new Job(); if (_sj.Description == "none") { _sj.Description = ""; } if (_sj.GrossValue == null || _sj.GrossValue == "") { if (_item.grossValue == null || _item.grossValue == 0) { _sj.GrossValue = "0.00"; job.grossValue = Convert.ToDouble(_sj.GrossValue); } else if (_sj.Subjob == 0) { job.grossValue = _item.grossValue; } } else { job.grossValue = Convert.ToDouble(_sj.GrossValue); } if (_sj.NetValue == null || _sj.NetValue == "") { if (_item.netValue == null || _item.netValue == 0) { _sj.NetValue = "0.00"; job.netValue = Convert.ToDouble(_sj.NetValue); } else if (_sj.Subjob == 0) { job.netValue = _item.netValue; } } else { job.netValue = Convert.ToDouble(_sj.NetValue); } if (_sj.VatValue == null || _sj.VatValue == "") { if (_item.vatValue == null || _item.vatValue == 0) { _sj.VatValue = "0.00"; job.vatValue = Convert.ToDouble(_sj.VatValue); } else if (_sj.Subjob == 0) { job.vatValue = _item.vatValue; } } else { job.vatValue = Convert.ToDouble(_sj.VatValue); } job.job = _item.job; job.subjob = _sj.Subjob; job.status = _sj.Status; job.created = Convert.ToDateTime(_sj.Created, System.Globalization.CultureInfo.CreateSpecificCulture("en-GB")); job.add1 = _item.add1; job.add2 = _item.add2; job.add3 = _item.add3; job.add4 = _item.add4; job.addpc = _item.addpc; job.awarded = _item.awarded; job.buildername = _item.buildername; job.description = _sj.Description; job.sentcount = _sj.Sent; job.Notes = _sj.Notes; subjobs.Add(job); } if (subjobs.Count == 1) { JobCell _job = new JobCell { JobColor = StatusSorter.JobNumberColor(subjobs[0]), Status = StatusSorter.StatusText(subjobs[0]), StatusColor = StatusSorter.StatusColor(subjobs[0]), CellColor = StatusSorter.CellColor(subjobs[0]), Add1 = subjobs[0].add1, Add2 = subjobs[0].add2, Add3 = subjobs[0].add3, Add4 = subjobs[0].add4, AddPC = subjobs[0].addpc, Awarded = subjobs[0].awarded, Builder = subjobs[0].buildername, Created = subjobs[0].created, Description = subjobs[0].description, JobNumber = subjobs[0].job.ToString(), SentCount = subjobs[0].sentcount, GrossValue = subjobs[0].grossValue, NetValue = subjobs[0].netValue, VatValue = subjobs[0].vatValue, Notes = subjobs[0].Notes, noSubs = true, job = _item }; await Navigation.PushAsync(new JobSpecific(cnx, _job, false)); } else { await Navigation.PushAsync(new Subjobs_List(cnx, subjobs, _item)); } } }
public void SetDefinitionModel(Resource resource, IEnumerable <CMSDDocumentDataSectionJob> CMSDjobs) { foreach (ResourceProperty resourceProperty in resource.Property) { if (resourceProperty != null) { switch (resourceProperty.Name) { case "MTTR": var distsource = resourceProperty.Distribution.First(); MTTR.Distribution = IDistribution.GetFromCmsd(distsource); MTTR.Distribution.ParameterConverter.UnitType = GeneralConverter.GetInstance(resourceProperty.Unit); break; case "MTBF": distsource = resourceProperty.Distribution.First(); MTBF.Distribution = IDistribution.GetFromCmsd(distsource); MTBF.Distribution.ParameterConverter.UnitType = GeneralConverter.GetInstance(resourceProperty.Unit); break; case "Capacity": try { Capacity = Int32.Parse(resourceProperty.Value); } catch { } break; case "Speed": try { Speed = Int32.Parse(resourceProperty.Value, CultureInfo.InvariantCulture); } catch { } break; case "DistanceToNode": try { DistansToNode = int.Parse(resourceProperty.Value, CultureInfo.InvariantCulture); } catch { } break; } } } ProcessName = resource.Name; AddConsumption(resource.Property.FirstOrDefault(t => t.Name.StartsWith("Idle")), Idle); AddConsumption(resource.Property.FirstOrDefault(t => t.Name.StartsWith("Off")), Off); AddConsumption(resource.Property.FirstOrDefault(t => t.Name.StartsWith("Down")), Down); Job.Clear(); var cmsdDocumentDataSectionJobs = CMSDjobs as IList <CMSDDocumentDataSectionJob> ?? CMSDjobs.ToList(); foreach (var sectionJob in cmsdDocumentDataSectionJobs.Where(t => t.Identifier.StartsWith("BaseJob"))) { var job = new Job() { Name = sectionJob.Identifier.Remove(0, 7).Replace(ProcessName, "") }; AddConsumption(resource.Property.FirstOrDefault(t => t.Name.Contains(job.Name)), job.State); job.Subjobs.Clear(); foreach (var pointSubJob in sectionJob.SubJob) { var cmsdSubJob = cmsdDocumentDataSectionJobs.FirstOrDefault(t => t.Identifier == pointSubJob.JobIdentifier); if (cmsdSubJob != null) { var sub = new SubJob() { Description = cmsdSubJob.Description, Distribution = IDistribution.GetFromCmsd(cmsdSubJob.PlannedEffort.ProcessingTime.Distribution) }; sub.Distribution.ParameterConverter.UnitType = GeneralConverter.TimeConverters.FirstOrDefault( t => t.ToString() == cmsdSubJob.PlannedEffort.ProcessingTime.TimeUnit); job.Subjobs.Add(sub); } } Job.Add(job); LoadDistances(new [] { this }, new [] { resource }); } foreach (var reloadJob in _reloadJobs) { var productcollection = reloadJob.Key.Nodes.Where(t => t.Key.ResourceModel == this).GetEnumerator(); foreach (var jobstring in reloadJob.Value) { productcollection.MoveNext(); productcollection.Current.Value = Job.First(t => t.Name == jobstring); } } }
private void Delete(SubJob result) { SelectedJob.Subjobs.Remove(result); SelectedSubJob = new SubJob(); }
private static ModelNode LoadModelNode(Resource resource, IEnumerable <CMSDDocumentDataSectionJob> CMSDjobs) { var modelnode = new ModelNode(); if (resource.ResourceType.Contains("Machine")) { modelnode = new Machine(); } else if (resource.ResourceType.Contains("Facility")) { modelnode = new Facility(); } else if (resource.ResourceType.Contains("Buffer")) { modelnode = new UserControles.Buffer(); } else if (resource.ResourceType.Contains("Transport")) { modelnode = new Transport(); } double left = 0, top = 0; foreach (ResourceProperty resourceProperty in resource.Property) { switch (resourceProperty.Name) { case "XGrid": left = double.Parse(resourceProperty.Value); break; case "YGrid": top = double.Parse(resourceProperty.Value); break; case "MTTR": var distsource = resourceProperty.Distribution.First(); modelnode.ResourceModel.MTTR.Distribution = DataLayer.IDistribution.GetFromCmsd(distsource); modelnode.ResourceModel.MTTR.Distribution.ParameterConverter.UnitType = GeneralConverter.GetInstance(resourceProperty.Unit); break; case "MTBF": distsource = resourceProperty.Distribution.First(); modelnode.ResourceModel.MTBF.Distribution = DataLayer.IDistribution.GetFromCmsd(distsource); modelnode.ResourceModel.MTBF.Distribution.ParameterConverter.UnitType = GeneralConverter.GetInstance(resourceProperty.Unit); break; case "Capacity": try { modelnode.ResourceModel.Capacity = int.Parse(resourceProperty.Value); } catch {} break; case "Speed": try { modelnode.ResourceModel.Speed = int.Parse(resourceProperty.Value, CultureInfo.InvariantCulture); } catch {} break; case "DistanceToNode": try { modelnode.ResourceModel.DistansToNode = int.Parse(resourceProperty.Value, CultureInfo.InvariantCulture); } catch { } break; } } modelnode.Margin = new Thickness(left, top, 0, 0); modelnode.XGrid = left; modelnode.YGrid = top; modelnode.ResourceModel.ProcessName = resource.Name; AddConsumption(resource.Property.Where(t => t.Name.StartsWith("IdleTime")), modelnode.ResourceModel.Idle); AddConsumption(resource.Property.Where(t => t.Name.StartsWith("Off")), modelnode.ResourceModel.Off); AddConsumption(resource.Property.Where(t => t.Name.StartsWith("Down")), modelnode.ResourceModel.Down); modelnode.ResourceModel.Job.Clear(); var cmsdDocumentDataSectionJobs = CMSDjobs as IList <CMSDDocumentDataSectionJob> ?? CMSDjobs.ToList(); foreach (var sectionJob in cmsdDocumentDataSectionJobs.Where(t => t.Identifier.StartsWith("BaseJob"))) { var job = new Job() { Name = sectionJob.Identifier.Remove(0, 7).Replace(modelnode.ResourceModel.ProcessName, "") }; AddConsumption(resource.Property.Where(t => t.Name.StartsWith(job.Name)), job.State); job.Subjobs.Clear(); foreach (var pointSubJob in sectionJob.SubJob) { var cmsdSubJob = cmsdDocumentDataSectionJobs.FirstOrDefault(t => t.Identifier == pointSubJob.JobIdentifier); if (cmsdSubJob != null) { var sub = new SubJob() { Description = cmsdSubJob.Description, Distribution = IDistribution.GetFromCmsd(cmsdSubJob.PlannedEffort.ProcessingTime.Distribution) }; sub.Distribution.ParameterConverter.UnitType = GeneralConverter.TimeConverters.FirstOrDefault( t => t.ToString() == cmsdSubJob.PlannedEffort.ProcessingTime.TimeUnit); job.Subjobs.Add(sub); } } modelnode.ResourceModel.Job.Add(job); } return(modelnode); }