static void benchmarkSystem_JobTerminated(object sender, JobEventArgs e) { Activity ac = new Activity(e.job, Job.JobState.Succesfull, System.DateTime.Now.Ticks); BenchmarkSystem.db.Activities.Add(ac); BenchmarkSystem.db.SaveChanges(); Console.WriteLine("Job Terminated: " + e.job); }
public override void Work(object sender, JobEventArgs e) { if ( e is ConstructingJobEventArgs ev ) { parent_.ConstructPoints += ev.Amount * 10; } else { throw new ArgumentException("JobEventArgs is not ConstructingJobEventArgs!"); } }
static void benchmarkSystem_JobRemoved(object sender, JobEventArgs e) { Activity ac = new Activity(e.job, Job.JobState.Failed, System.DateTime.Now.Ticks); BenchmarkSystem.db.Activities.Add(ac); BenchmarkSystem.db.SaveChanges(); Console.WriteLine("Job Cancelled: " + e.job); }
public void OnJobAdded(object sender, JobEventArgs e) { if (pnlJobs.Controls.OfType<ProgressMailItemView>().Any(view => view.Name.Equals(e.Job.Id))) { return; // have already added a view for the same job } Logger.LogInfo(string.Format("Addding {0}, to the Secure File Transfer job queue.", e.Job.Subject)); var progressItemView = new ProgressMailItemView(new ProgressMailItemModel(e.Job)); progressItemView.Dock = DockStyle.Top; progressItemView.OnFadeOutCompleted += ProgressViewOnFadeOutCompleted; this.pnlJobs.Controls.Add(progressItemView); this.pnlJobs.Controls.SetChildIndex(progressItemView, 0); }
bool JobOrderEvents__beforeLineSaveDataValidation(object sender, JobEventArgs EventArgs, ref ApplicationDbContext db) { if (EventArgs.Mode == "Add") { var JobOrder = (from H in db.JobOrderHeader join D in db.DocumentType on H.DocTypeId equals D.DocumentTypeId into DocumentTypeTable from DocumentTypeTab in DocumentTypeTable.DefaultIfEmpty() where H.JobOrderHeaderId == EventArgs.DocId select new { DocTypeName = DocumentTypeTab.DocumentTypeName, Status = H.Status }).FirstOrDefault(); if (JobOrder.DocTypeName == "Weaving Order" || JobOrder.DocTypeName == "Weaving Finished Order" && JobOrder.Status != 0) { var Temp = (from L in db.JobOrderLine join Pol in db.ProdOrderLine on L.ProdOrderLineId equals Pol.ProdOrderLineId into ProdOrderLineTable from ProdOrderLineTab in ProdOrderLineTable.DefaultIfEmpty() join Poh in db.ProdOrderHeader on ProdOrderLineTab.ProdOrderHeaderId equals Poh.ProdOrderHeaderId into ProdOrderHeaderTable from ProdOrderHeaderTab in ProdOrderHeaderTable.DefaultIfEmpty() join H in db.JobOrderHeader on ProdOrderHeaderTab.ReferenceDocId equals H.JobOrderHeaderId into JobOrderHeaderTable from JobOrderHeaderTab in JobOrderHeaderTable.DefaultIfEmpty() where JobOrderHeaderTab.JobOrderHeaderId == EventArgs.DocId select new { JobOrderHeaderId = JobOrderHeaderTab.JobOrderHeaderId }).FirstOrDefault(); if (Temp != null) { if (Temp.JobOrderHeaderId != null) { throw new Exception("Branch has already issued Weaving Order.You can't add new record."); } } } } return(true); }
void SaleQuotationEvents__onLineSaveBulk(object sender, JobEventArgs EventArgs, ref ApplicationDbContext db) { }
private void UserInterfaceManager_JobClosed(object sender, JobEventArgs e) { PauseButton.IsEnabled = true; }
void JobInvoiceEvents__afterHeaderSave(object sender, JobEventArgs EventArgs, ref ApplicationDbContext db) { throw new NotImplementedException(); }
void JobInvoiceEvents__onLineSave(object sender, JobEventArgs EventArgs, ref ApplicationDbContext db) { var Temp = db.JobInvoiceLine.Local.Where(m => m.JobInvoiceLineId == EventArgs.DocLineId).FirstOrDefault(); #region InvoicePenalty&Incentive var LineCharges = (from p in db.JobInvoiceLineCharge.Local where p.LineTableId == EventArgs.DocLineId select p).ToList(); #endregion ApplicationDbContext DbContext = new ApplicationDbContext(); var JobRecLien = (from p in db.JobReceiveLine join t in db.JobOrderLine on p.JobOrderLineId equals t.JobOrderLineId where p.JobReceiveLineId == Temp.JobReceiveLineId select new { JobOrderHeaderId = t.JobOrderHeaderId, UnitConversionMultiplier = t.UnitConversionMultiplier, RecQty = p.PassQty, }).FirstOrDefault(); var JobHeader = DbContext.JobOrderHeader.Find(JobRecLien.JobOrderHeaderId); var IncentiveChargeId = DbContext.Charge.Where(m => m.ChargeName == ChargeConstants.Incentive).FirstOrDefault().ChargeId; var PenaltyChargeId = DbContext.Charge.Where(m => m.ChargeName == ChargeConstants.Penalty).FirstOrDefault().ChargeId; DbContext.Dispose(); var DocType = (from p in db.DocumentType where p.DocumentTypeName == TransactionDoctypeConstants.WeavingFinishOrder || p.DocumentTypeName == TransactionDoctypeConstants.WeavingOrder select p.DocumentTypeId).ToList(); if (DocType.Contains(JobHeader.DocTypeId) && JobRecLien.RecQty != 0) { if (JobHeader.CostCenterId.HasValue) { var Incentive = LineCharges.Where(m => m.LineTableId == EventArgs.DocLineId && m.ChargeId == IncentiveChargeId).Sum(m => m.Amount); var Penanly = LineCharges.Where(m => m.LineTableId == EventArgs.DocLineId && m.ChargeId == PenaltyChargeId).Sum(m => m.Amount); var CostCenterStatus = (from p in db.CostCenterStatusExtended where p.CostCenterId == JobHeader.CostCenterId select p).FirstOrDefault(); if (CostCenterStatus != null && EventArgs.DocLineId <= 0) { CostCenterStatus.InvoiceQty = (CostCenterStatus.InvoiceQty ?? 0) + JobRecLien.RecQty; CostCenterStatus.InvoiceDealQty = (CostCenterStatus.InvoiceDealQty ?? 0) + JobRecLien.RecQty * JobRecLien.UnitConversionMultiplier; CostCenterStatus.InvoiceAmount = (CostCenterStatus.InvoiceAmount ?? 0) + Temp.Amount; CostCenterStatus.ReceiveIncentiveAmount = (CostCenterStatus.ReceiveIncentiveAmount ?? 0) + Incentive; CostCenterStatus.ReceivePenaltyAmount = (CostCenterStatus.ReceivePenaltyAmount ?? 0) + Penanly; CostCenterStatus.ObjectState = Model.ObjectState.Modified; db.CostCenterStatusExtended.Add(CostCenterStatus); } else if (CostCenterStatus != null && EventArgs.DocLineId > 0) { var IssueLineCostCenterRecords = (from p in db.JobInvoiceLine join p1 in db.JobReceiveLine on p.JobReceiveLineId equals p1.JobReceiveLineId join t in db.JobOrderLine on p1.JobOrderLineId equals t.JobOrderLineId join t2 in db.JobOrderHeader on t.JobOrderHeaderId equals t2.JobOrderHeaderId where t2.CostCenterId == JobHeader.CostCenterId && p.JobInvoiceLineId != EventArgs.DocLineId select new { Qty = p1.PassQty, Amount = p.Amount, UnitConversionMultiplier = t.UnitConversionMultiplier, }).ToList(); var xLineCharges = (from p in db.JobInvoiceLineCharge.AsNoTracking() where (p.ChargeId == IncentiveChargeId || p.ChargeId == PenaltyChargeId) && p.LineTableId == EventArgs.DocLineId select p).ToList(); var xIncentive = xLineCharges.Where(m => m.LineTableId == EventArgs.DocLineId && m.ChargeId == IncentiveChargeId).Sum(m => m.Amount); var xPenanly = xLineCharges.Where(m => m.LineTableId == EventArgs.DocLineId && m.ChargeId == PenaltyChargeId).Sum(m => m.Amount); CostCenterStatus.InvoiceQty = IssueLineCostCenterRecords.Select(m => m.Qty).Sum() + JobRecLien.RecQty; CostCenterStatus.InvoiceDealQty = (IssueLineCostCenterRecords.Select(m => m.Qty * m.UnitConversionMultiplier).Sum()) + (JobRecLien.RecQty * JobRecLien.UnitConversionMultiplier); CostCenterStatus.InvoiceAmount = IssueLineCostCenterRecords.Select(m => m.Amount).Sum() + Temp.Amount; CostCenterStatus.ReceiveIncentiveAmount = (CostCenterStatus.ReceiveIncentiveAmount ?? 0) - xIncentive + Incentive; CostCenterStatus.ReceivePenaltyAmount = (CostCenterStatus.ReceivePenaltyAmount ?? 0) - xPenanly + Penanly; CostCenterStatus.ObjectState = Model.ObjectState.Modified; db.CostCenterStatusExtended.Add(CostCenterStatus); } } } }
void JobReceiveEvents__onHeaderDelete(object sender, JobEventArgs EventArgs, ref ApplicationDbContext db) { ApplicationDbContext DbContext = new ApplicationDbContext(); var Temp = (from p in DbContext.JobReceiveLine join t in DbContext.JobOrderLine on p.JobOrderLineId equals t.JobOrderLineId join t2 in DbContext.JobOrderHeader on t.JobOrderHeaderId equals t2.JobOrderHeaderId where p.JobReceiveHeaderId == EventArgs.DocId && t2.CostCenterId != null select new { LineId = t.JobOrderLineId, Qty = p.Qty, UnitConvMul = t.UnitConversionMultiplier, HeaderId = t.JobOrderHeaderId, CostCenterId = t2.CostCenterId, DocTypeId = t2.DocTypeId, IncAmt = p.IncentiveAmt, PenAmt = p.PenaltyAmt, }).ToList(); var Boms = (from p in DbContext.StockProcess let StockHeaderId = DbContext.JobReceiveHeader.Where(m => m.JobReceiveHeaderId == EventArgs.DocId).FirstOrDefault().StockHeaderId where p.StockHeaderId == StockHeaderId && p.CostCenterId != null group p by p.CostCenterId into g select new { BomQty = g.Sum(m => m.Qty_Iss), HeaderId = g.Key, }).ToList(); var CostCenterIds = Temp.Select(m => m.CostCenterId).ToArray(); DbContext.Dispose(); var DocType = (from p in db.DocumentType where p.DocumentTypeName == TransactionDoctypeConstants.WeavingFinishOrder || p.DocumentTypeName == TransactionDoctypeConstants.WeavingOrder select p.DocumentTypeId).ToList(); if (Temp.Select(m => m.DocTypeId).Intersect(DocType).Any()) { var CostCenterRecords = (from p in db.CostCenterStatusExtended where CostCenterIds.Contains(p.CostCenterId) select p).ToList(); foreach (var item in Temp.GroupBy(m => m.CostCenterId)) { var TempCostCenterREcord = CostCenterRecords.Where(m => m.CostCenterId == item.Max(x => x.CostCenterId)).FirstOrDefault(); var TempBoms = Boms.Where(m => m.HeaderId == item.Max(x => x.CostCenterId)).ToList(); decimal BomQty = 0; if (TempBoms != null && TempBoms.Count > 0) { BomQty = TempBoms.Sum(m => m.BomQty); } if (DocType.Contains(item.Max(x => x.DocTypeId))) { if (TempCostCenterREcord != null) { TempCostCenterREcord.ReceiveQty = (TempCostCenterREcord.ReceiveQty ?? 0) - item.Select(m => m.Qty).Sum(); TempCostCenterREcord.ReceiveDealQty = (TempCostCenterREcord.ReceiveDealQty ?? 0) - item.Select(m => m.Qty * m.UnitConvMul).Sum(); //TempCostCenterREcord.ReceiveIncentiveAmount = (TempCostCenterREcord.ReceiveIncentiveAmount ?? 0) - item.Select(m => m.IncAmt).Sum(); //TempCostCenterREcord.ReceivePenaltyAmount = (TempCostCenterREcord.ReceivePenaltyAmount ?? 0) - item.Select(m => m.PenAmt).Sum(); TempCostCenterREcord.ConsumeQty = (TempCostCenterREcord.ConsumeQty ?? 0) - BomQty; TempCostCenterREcord.ObjectState = Model.ObjectState.Modified; db.CostCenterStatusExtended.Add(TempCostCenterREcord); } } } } }
// <summary> // A method called when the job is done, successfully or not. // </summary> public void JobTerminationEvent(object job, JobEventArgs e) { #if DEBUG_LOG Debug.Log("DEBUG: TileDownloader.JobTerminationEvent: Tile download complete, but was it murdered? " + e.WasKilled); #endif TileEntry entry = e.Owner as TileEntry; tilesLoading.Remove(entry); #if !UNITY_WEBPLAYER if (e.WasKilled == false) { if (entry.error && entry.cached) { if (entry.cached) { #if DEBUG_LOG Debug.Log("DEBUG: TileDownloader.JobTerminationEvent: loading cached tile failed, trying to download it: " + entry.url); #endif // try downloading the tile again entry.cached = false; cacheSize -= entry.size; tiles.Remove(entry); } else { #if DEBUG_LOG Debug.Log("DEBUG: TileDownloader.JobTerminationEvent: downloading tile failed, trying to download it again: " + entry.url); #endif } Get(entry.url, entry.tile); return; } tileURLLookedFor = entry.url; TileEntry existingEntry = tiles.Find(tileURLMatchPredicate); if (existingEntry != null) { tiles.Remove(existingEntry); cacheSize -= existingEntry.size; } entry.timestamp = (DateTime.Now.ToLocalTime() - new DateTime(1970, 1, 1).ToLocalTime()).TotalSeconds; tiles.Add(entry); cacheSize += entry.size; // if the cache is full, erase the oldest entry // FIXME: find a better way to handle the cache (cf. iPhone Maps app) // FIXME: one aspect might be to erase tiles in batch, 10 or 20 at a time, a significant number anyway if (cacheSize > MaxCacheSize) { // beware the year 3000 bug :) double oldestTimestamp = (new DateTime(3000, 1, 1) - new DateTime(1970, 1, 1).ToLocalTime()).TotalSeconds; TileEntry entryToErase = null; foreach (TileEntry tile in tiles) { if (tile.timestamp < oldestTimestamp && tile != entry) { oldestTimestamp = tile.timestamp; entryToErase = tile; } } if (entryToErase == null) { #if DEBUG_LOG Debug.LogWarning("WARNING: TileDownloader.JobTerminationEvent: no cache entry to erase (should not happen)"); #endif return; } DeleteCachedTile(entryToErase); #if DEBUG_LOG Debug.Log("DEBUG: TileDownloader.JobTerminationEvent: erased from cache: " + entryToErase.url + " [" + entryToErase.guid + "]"); #endif } } #endif }
// These are used to keep track of number of jobs running private void benchmarkSystem_start(object sender, JobEventArgs e) { this.CPUInUse += e.job.CPU; lock (running) running[Scheduler.GetJobType(e.job)]++; }
public void OnJobCompleted(object sender, JobEventArgs e) { try { foreach (var item in pnlJobs.Controls.Find(e.Job.Id, true)) { pnlJobs.Controls.Remove((ProgressMailItemView)item); } } catch (Exception ex) { Logger.LogError(ex); } }
// <summary> // A method called when the job is done, successfully or not. // </summary> public void JobTerminationEvent(object job, JobEventArgs e) { #if DEBUG_LOG Debug.Log("DEBUG: TileDownloader.JobTerminationEvent: Tile download complete, but was it murdered? " + e.WasKilled); #endif TileEntry entry = e.Owner as TileEntry; tileLoading.Remove(entry); if (e.WasKilled == false) { if (entry.error && entry.cached) { if (entry.cached) { #if DEBUG_LOG Debug.Log("DEBUG: TileDownloader.JobTerminationEvent: loading cached tile failed, trying to download it: " + entry.url); #endif // try downloading the tile again entry.cached = false; tiles.Remove(entry); } else { #if DEBUG_LOG Debug.Log("DEBUG: TileDownloader.JobTerminationEvent: downloading tile failed, trying to download it again: " + entry.url); #endif } Get(entry.url, entry.material); return ; } tiles.Add(entry); cacheSize += entry.size; // if the cache is full, erase the oldest entry // FIXME: find a better way to handle the cache (cf. iPhone Maps app) // FIXME: one apsect might be to erase tiles in batch, 10 or 20 at a time, a significant number anyway if (cacheSize > MaxCacheSize) { // beware the year 3000 bug :) double oldestTimestamp = (new DateTime(3000, 1, 1) - new DateTime(1970, 1, 1).ToLocalTime()).TotalSeconds; TileEntry entryToErase = null; foreach (TileEntry tile in tiles) { if (tile.timestamp < oldestTimestamp) { oldestTimestamp = tile.timestamp; entryToErase = tile; } } if (entryToErase == null) { #if DEBUG_LOG Debug.LogWarning("WARNING: TileDownloader.JobTerminationEvent: no cache entry to erase (should not happen)"); #endif return ; } DeleteCachedTile(entryToErase); #if DEBUG_LOG Debug.Log("DEBUG: TileDownloader.JobTerminationEvent: erased from cache: " + entryToErase.url + " [" + entryToErase.guid + "]"); #endif } } }
public void OnJobDone(object source, JobEventArgs args) { args.Job.JobDone -= this.OnJobDone; this.Remove(args.Job); }
private void OnJobDone(JobEventArgs args) { this.JobDone?.Invoke(this, args); }
static void VirtualPrinter_JobEvent( object sender, JobEventArgs e ) { string printerName = e.PrinterName; int jobID = e.JobID; switch ( e.JobEventState ) { case EventState.JobEnd: ConsoleMethods.Success( String.Format( "{0}: Job {1} has ended", printerName, jobID ) ); // Delay the close to see the messages. Only for demo purposes. ConsoleMethods.Info( "Closing in 5 seconds.", 5000 ); // Exit with success Environment.Exit( (int) ExitCodes.Success ); break; case EventState.JobStart: ConsoleMethods.Success( String.Format( "{0}: Job {1} has started", printerName, jobID ) ); break; default: break; } }
void JobReceiveEvents__afterHeaderDelete(object sender, JobEventArgs EventArgs, ref ApplicationDbContext db) { throw new NotImplementedException(); }
public void EnumTest2() { Job job = new Job("JobEventArgs test 3", owner, 3, 986); JobEventArgs target = new JobEventArgs(job, JobEventArgs.EventType.JobRemoved); Assert.AreEqual(JobEventArgs.EventType.JobRemoved, target.eventType); }
private void RemoveJob(object sender, JobEventArgs args) { this.WeekUpdate -= this.jobs[args.Name].Update; this.jobs.Remove(args.Name); Console.WriteLine($"Job {args.Name} done!"); }
public void JobEventArgsConstructorTest() { Job job = new Job("JobEventArgs test 1", owner, 3, 986); JobEventArgs target = new JobEventArgs(job, JobEventArgs.EventType.JobQueued); Assert.AreSame(job, target.job); }
void JobInvoiceEvents__onLineSaveBulk(object sender, JobEventArgs EventArgs, ref ApplicationDbContext db) { var Temp = db.JobInvoiceLine.Local.Where(m => m.JobInvoiceHeaderId == EventArgs.DocId).ToList(); //var JobOrderLineIds = Temp.Select(m => m.JobOrderLineId).ToArray(); #region InvoicePenalty&Incentive var InvLineIds = Temp.Select(m => m.JobInvoiceLineId).ToArray(); var LineCharges = (from p in db.JobInvoiceLineCharge.Local where InvLineIds.Contains(p.LineTableId) select p).ToList(); #endregion var JobREceiveLineIds = Temp.Select(m => m.JobReceiveLineId).ToArray(); ApplicationDbContext DbContext = new ApplicationDbContext(); var IncentiveChargeId = DbContext.Charge.Where(m => m.ChargeName == ChargeConstants.Incentive).FirstOrDefault().ChargeId; var PenaltyChargeId = DbContext.Charge.Where(m => m.ChargeName == ChargeConstants.Penalty).FirstOrDefault().ChargeId; var JobHeader = (from p in DbContext.JobOrderHeader join t in DbContext.JobOrderLine on p.JobOrderHeaderId equals t.JobOrderHeaderId join t2 in DbContext.JobReceiveLine on t.JobOrderLineId equals t2.JobOrderLineId where JobREceiveLineIds.Contains(t2.JobReceiveLineId) && p.CostCenterId != null select new { JLineId = t.JobOrderLineId, UniConvMul = t.UnitConversionMultiplier, JHeaderId = t.JobOrderHeaderId, CostCenterId = p.CostCenterId, DocTypeId = p.DocTypeId, RecLineId = t2.JobReceiveLineId, Qty = t2.PassQty, } ).ToList(); DbContext.Dispose(); var DocType = (from p in db.DocumentType where p.DocumentTypeName == TransactionDoctypeConstants.WeavingFinishOrder || p.DocumentTypeName == TransactionDoctypeConstants.WeavingOrder select p.DocumentTypeId).ToList(); if (DocType.Intersect(JobHeader.Select(m => m.DocTypeId)).Any()) { var Join = (from p in Temp join t in JobHeader on p.JobReceiveLineId equals t.RecLineId select new { Qty = t.Qty, UnitConvMul = t.UniConvMul, LineId = t.JLineId, JHeaderid = t.JHeaderId, RecLineId = p.JobReceiveLineId, Amount = p.Amount, CostCenterId = t.CostCenterId, ILineId = p.JobInvoiceLineId, }).ToList(); var CostCenterIds = JobHeader.Select(m => m.CostCenterId).ToArray(); var CostCenterRecords = (from p in db.CostCenterStatusExtended where CostCenterIds.Contains(p.CostCenterId) select p).ToList(); foreach (var item in JobHeader.GroupBy(m => m.CostCenterId)) { var TempCostCenterRecord = CostCenterRecords.Where(m => m.CostCenterId == item.Max(x => x.CostCenterId)).FirstOrDefault(); var Incentive = LineCharges.Where(m => Join.Where(t => t.CostCenterId == item.Key).Select(t => t.ILineId).ToArray().Contains(m.LineTableId) && m.ChargeId == IncentiveChargeId).Sum(m => m.Amount); var Penanly = LineCharges.Where(m => Join.Where(t => t.CostCenterId == item.Key).Select(t => t.ILineId).ToArray().Contains(m.LineTableId) && m.ChargeId == PenaltyChargeId).Sum(m => m.Amount); if (DocType.Contains(item.Max(x => x.DocTypeId)) && TempCostCenterRecord != null) { if (item.Max(x => x.CostCenterId).HasValue) { TempCostCenterRecord.InvoiceQty = (TempCostCenterRecord.InvoiceQty ?? 0) + Join.Where(m => m.CostCenterId == item.Key).Select(m => m.Qty).Sum(); TempCostCenterRecord.InvoiceDealQty = (TempCostCenterRecord.InvoiceDealQty ?? 0) + Join.Where(m => m.CostCenterId == item.Key).Select(m => m.Qty * m.UnitConvMul).Sum(); TempCostCenterRecord.InvoiceAmount = (TempCostCenterRecord.InvoiceAmount ?? 0) + Join.Where(m => m.CostCenterId == item.Key).Select(m => m.Amount).Sum(); TempCostCenterRecord.ReceiveIncentiveAmount = (TempCostCenterRecord.ReceiveIncentiveAmount ?? 0) + Incentive; TempCostCenterRecord.ReceivePenaltyAmount = (TempCostCenterRecord.ReceivePenaltyAmount ?? 0) + Penanly; } TempCostCenterRecord.ObjectState = Model.ObjectState.Modified; db.CostCenterStatusExtended.Add(TempCostCenterRecord); } } } }
private void OnJobCompleted(object sender, JobEventArgs jobEventArgs) { _context.Send((state) => _view.OnJobCompleted(sender, jobEventArgs), null); }
bool JobInvoiceEvents__beforeHeaderDelete(object sender, JobEventArgs EventArgs, ref ApplicationDbContext db) { throw new NotImplementedException(); }
public void OnJobDone(JobEventArgs jea) { this.JobDone?.Invoke(this, jea); }
void JobInvoiceEvents__onHeaderDelete(object sender, JobEventArgs EventArgs, ref ApplicationDbContext db) { ApplicationDbContext DbContext = new ApplicationDbContext(); var Temp = (from p in db.JobInvoiceLine join p1 in db.JobReceiveLine on p.JobReceiveLineId equals p1.JobReceiveLineId join t in db.JobOrderLine on p1.JobOrderLineId equals t.JobOrderLineId join t2 in db.JobOrderHeader on t.JobOrderHeaderId equals t2.JobOrderHeaderId where p.JobInvoiceHeaderId == EventArgs.DocId && t2.CostCenterId != null select new { LineId = t.JobOrderLineId, Qty = p1.Qty, UnitConvMul = t.UnitConversionMultiplier, HeaderId = t.JobOrderHeaderId, CostCenterId = t2.CostCenterId, DocTypeId = t2.DocTypeId, Amount = p.Amount, InvoiceLineId = p.JobInvoiceLineId, }).ToList(); var CostCenterIds = Temp.Select(m => m.CostCenterId).ToArray(); var InvLineIds = Temp.Select(m => m.InvoiceLineId).ToArray(); #region InvoicePenalty&Incentive var LineCharges = (from p in DbContext.JobInvoiceLineCharge.AsNoTracking() where InvLineIds.Contains(p.LineTableId) select p).ToList(); var IncentiveChargeId = DbContext.Charge.Where(m => m.ChargeName == ChargeConstants.Incentive).FirstOrDefault().ChargeId; var PenaltyChargeId = DbContext.Charge.Where(m => m.ChargeName == ChargeConstants.Penalty).FirstOrDefault().ChargeId; #endregion DbContext.Dispose(); var DocType = (from p in db.DocumentType where p.DocumentTypeName == TransactionDoctypeConstants.WeavingFinishOrder || p.DocumentTypeName == TransactionDoctypeConstants.WeavingOrder select p.DocumentTypeId).ToList(); var RecDocTypes = Temp.Select(m => m.DocTypeId).ToList(); if (Temp.Select(m => m.DocTypeId).Intersect(DocType).Any()) { var CostCenterRecords = (from p in db.CostCenterStatusExtended where CostCenterIds.Contains(p.CostCenterId) select p).ToList(); foreach (var item in Temp.GroupBy(m => m.CostCenterId)) { var TempCostCenterREcord = CostCenterRecords.Where(m => m.CostCenterId == item.Max(x => x.CostCenterId)).FirstOrDefault(); var Incentive = LineCharges.Where(m => item.Select(t => t.InvoiceLineId).ToArray().Contains(m.LineTableId) && m.ChargeId == IncentiveChargeId).Sum(m => m.Amount); var Penanly = LineCharges.Where(m => item.Select(t => t.InvoiceLineId).ToArray().Contains(m.LineTableId) && m.ChargeId == PenaltyChargeId).Sum(m => m.Amount); if (DocType.Contains(item.Max(x => x.DocTypeId))) { if (TempCostCenterREcord != null) { TempCostCenterREcord.InvoiceQty = (TempCostCenterREcord.InvoiceQty ?? 0) - item.Select(m => m.Qty).Sum(); TempCostCenterREcord.InvoiceDealQty = (TempCostCenterREcord.InvoiceDealQty ?? 0) - item.Select(m => m.Qty * m.UnitConvMul).Sum(); TempCostCenterREcord.InvoiceAmount = (TempCostCenterREcord.InvoiceAmount ?? 0) - item.Select(m => m.Amount).Sum(); TempCostCenterREcord.ObjectState = Model.ObjectState.Modified; TempCostCenterREcord.ReceiveIncentiveAmount = (TempCostCenterREcord.ReceiveIncentiveAmount ?? 0) - Incentive; TempCostCenterREcord.ReceivePenaltyAmount = (TempCostCenterREcord.ReceivePenaltyAmount ?? 0) - Penanly; db.CostCenterStatusExtended.Add(TempCostCenterREcord); } } } } }
/// <summary> /// Handles the JobFinished event of the jobWorker control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="FlagSync.Core.JobEventArgs"/> instance containing the event data.</param> private void jobWorker_JobFinished(object sender, JobEventArgs e) { this.AddStatusMessage(Resources.FinishedJobMessage + " " + e.Job.Name); }
bool SaleQuotationEvents__beforeLineSaveBylkDataValidation(object sender, JobEventArgs EventArgs, ref ApplicationDbContext db) { return(true); }
/// <summary> /// Handles the JobStarted event of the jobWorker control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="FlagSync.Core.JobEventArgs"/> instance containing the event data.</param> private void jobWorker_JobStarted(object sender, JobEventArgs e) { this.IsDeleting = false; this.CurrentJob = new JobViewModel(e.Job); this.AddStatusMessage(Resources.StartingJobMessage + " " + e.Job.Name + "..."); }
void SaleQuotationEvents__onHeaderSave(object sender, JobEventArgs EventArgs, ref ApplicationDbContext db) { }
private void OnJobDone(object sender, JobEventArgs args) => this.writer.WriteLine($"Job {args.Job.Name} done!");
public void HandleJobCompletion(object sender, JobEventArgs args) { this.Remove(args.Job); }
/// <summary> /// Wykonanie pracy ucieczki /// </summary> /// <param name="sender">obiekt, ktory ykonuje prace</param> /// <param name="e">Argumenty pracy</param> public override void Work(object sender, JobEventArgs e) => besigers_.RemoveBesiger(owner_);
public void OnJobDone(object sender, JobEventArgs e) { this.Remove(e.Job); }
private void OnJobDone(object sender, JobEventArgs args) { this.writer.WriteLine($"Job {args.Job.Name} done!"); this.jobsForRemoving.Add(args.Job); }
void JobReceiveEvents__onLineSaveBulk(object sender, JobEventArgs EventArgs, ref ApplicationDbContext db) { var Temp = db.JobReceiveLine.Local.Where(m => m.JobReceiveHeaderId == EventArgs.DocId).ToList(); var JobOrderLineIds = Temp.Select(m => m.JobOrderLineId).ToArray(); ApplicationDbContext DbContext = new ApplicationDbContext(); var JobRecHeader = (from p in db.JobReceiveHeader.AsNoTracking() where p.JobReceiveHeaderId == EventArgs.DocId select p).FirstOrDefault(); var Boms = db.StockProcess.Local.Where(m => m.StockHeaderId == JobRecHeader.StockHeaderId).ToList(); var JobHeader = (from p in DbContext.JobOrderHeader join t in DbContext.JobOrderLine on p.JobOrderHeaderId equals t.JobOrderHeaderId where JobOrderLineIds.Contains(t.JobOrderLineId) && p.CostCenterId != null select new { JLineId = t.JobOrderLineId, UniConvMul = t.UnitConversionMultiplier, JHeaderId = t.JobOrderHeaderId, CostCenterId = p.CostCenterId, DocTypeId = p.DocTypeId, } ).ToList(); var DocType = (from p in DbContext.DocumentType where p.DocumentTypeName == TransactionDoctypeConstants.WeavingFinishOrder || p.DocumentTypeName == TransactionDoctypeConstants.WeavingOrder select p.DocumentTypeId).ToList(); DbContext.Dispose(); if (JobHeader.Select(m => m.DocTypeId).Intersect(DocType).Any()) { var Join = (from p in Temp join t in JobHeader on p.JobOrderLineId equals t.JLineId select new { Qty = p.Qty, UnitConvMul = t.UniConvMul, LineId = t.JLineId, JHeaderid = t.JHeaderId, IncAmt = p.IncentiveAmt, PenAmt = p.PenaltyAmt, CostCenterId = t.CostCenterId, }).ToList(); var BomJoin = (from p in Boms group p by p.CostCenterId into g select new { Boms = g.Sum(m => m.Qty_Iss), CostCenterId = g.Key, }).ToList(); var CostCenterIds = JobHeader.Select(m => m.CostCenterId).ToArray(); var CostCenterRecords = (from p in db.CostCenterStatusExtended where CostCenterIds.Contains(p.CostCenterId) select p).ToList(); foreach (var item in JobHeader.GroupBy(m => m.CostCenterId)) { var TempCostCenterRecord = CostCenterRecords.Where(m => m.CostCenterId == item.Max(x => x.CostCenterId)).FirstOrDefault(); decimal BomsQty = 0; var TEmpBoms = BomJoin.Where(m => m.CostCenterId == item.Key).ToList(); if (TEmpBoms != null && TEmpBoms.Count > 0) { BomsQty = TEmpBoms.Sum(m => m.Boms); } if (DocType.Contains(item.Max(m => m.DocTypeId)) && TempCostCenterRecord != null) { if (item.Max(m => m.CostCenterId).HasValue) { TempCostCenterRecord.ReceiveQty = (TempCostCenterRecord.ReceiveQty ?? 0) + Join.Where(m => m.CostCenterId == item.Key).Select(m => m.Qty).Sum(); TempCostCenterRecord.ReceiveDealQty = (TempCostCenterRecord.ReceiveDealQty ?? 0) + Join.Where(m => m.CostCenterId == item.Key).Select(m => m.Qty * m.UnitConvMul).Sum(); //TempCostCenterRecord.ReceiveIncentiveAmount = (TempCostCenterRecord.ReceiveIncentiveAmount ?? 0) + Join.Where(m => m.CostCenterId == item.Key).Select(m => m.IncAmt).Sum(); //TempCostCenterRecord.ReceivePenaltyAmount = (TempCostCenterRecord.ReceivePenaltyAmount ?? 0) + Join.Where(m => m.CostCenterId == item.Key).Select(m => m.PenAmt).Sum(); TempCostCenterRecord.ConsumeQty = (TempCostCenterRecord.ConsumeQty ?? 0) + BomsQty; } TempCostCenterRecord.ObjectState = Model.ObjectState.Modified; db.CostCenterStatusExtended.Add(TempCostCenterRecord); } } } }
public static void OnJobDone(object sender, JobEventArgs e) { if (e.ExitCode != 0) { string msg = "Compilation of the Codesnippet-Thumbnail " + e.job.path + " (" + e.job.name + ") failed.\r\nPlease re-check the code."; msg += Environment.NewLine + Environment.NewLine + "cmdline: " + e.job.cmdline; GlobalUI.UI.AddStatusLine(null, msg, true); } }
void JobReceiveEvents__onLineSave(object sender, JobEventArgs EventArgs, ref ApplicationDbContext db) { var Temp = db.JobReceiveLine.Local.Where(m => m.JobReceiveLineId == EventArgs.DocLineId).FirstOrDefault(); var Boms = db.JobReceiveBom.Local.Where(m => m.JobReceiveLineId == EventArgs.DocLineId).ToList(); Decimal BomQty = 0; if (Boms != null && Boms.Count > 0) { BomQty = Boms.Select(m => m.Qty).Sum(); } ApplicationDbContext DbContext = new ApplicationDbContext(); var JobOrderLien = DbContext.JobOrderLine.Find(Temp.JobOrderLineId); var JobHeader = DbContext.JobOrderHeader.Find(JobOrderLien.JobOrderHeaderId); var JobReceiveHeader = (from p in db.JobReceiveHeader.AsNoTracking() where p.JobReceiveHeaderId == Temp.JobReceiveHeaderId select p).FirstOrDefault(); DbContext.Dispose(); var DocType = (from p in db.DocumentType where p.DocumentTypeName == TransactionDoctypeConstants.WeavingFinishOrder || p.DocumentTypeName == TransactionDoctypeConstants.WeavingOrder select p.DocumentTypeId).ToList(); if (DocType.Contains(JobHeader.DocTypeId) && Temp.Qty != 0) { var ConsumeQty = db.StockProcess.Local.Where(m => m.StockHeaderId == JobReceiveHeader.StockHeaderId).ToList(); if (JobHeader.CostCenterId.HasValue) { var CostCenterStatus = (from p in db.CostCenterStatusExtended where p.CostCenterId == JobHeader.CostCenterId select p).FirstOrDefault(); if (CostCenterStatus != null && EventArgs.DocLineId <= 0) { CostCenterStatus.ReceiveQty = (CostCenterStatus.ReceiveQty ?? 0) + Temp.Qty; CostCenterStatus.ReceiveDealQty = (CostCenterStatus.ReceiveDealQty ?? 0) + Temp.Qty * JobOrderLien.UnitConversionMultiplier; //CostCenterStatus.ReceiveIncentiveAmount = (CostCenterStatus.ReceiveIncentiveAmount ?? 0) + Temp.IncentiveAmt; //CostCenterStatus.ReceivePenaltyAmount = (CostCenterStatus.ReceivePenaltyAmount ?? 0) + Temp.PenaltyAmt; CostCenterStatus.ConsumeQty = (CostCenterStatus.ConsumeQty ?? 0) + ConsumeQty.Sum(m => m.Qty_Iss); CostCenterStatus.ObjectState = Model.ObjectState.Modified; db.CostCenterStatusExtended.Add(CostCenterStatus); } else if (CostCenterStatus != null && EventArgs.DocLineId > 0) { var IssueLineCostCenterRecords = (from p in db.JobReceiveLine join t in db.JobOrderLine on p.JobOrderLineId equals t.JobOrderLineId join t2 in db.JobOrderHeader on t.JobOrderHeaderId equals t2.JobOrderHeaderId where t2.CostCenterId == JobHeader.CostCenterId && p.JobReceiveLineId != EventArgs.DocLineId select new { Qty = p.PassQty, IncentiveAmt = p.IncentiveAmt, PenaltyAmt = p.PenaltyAmt, UnitConversionMultiplier = t.UnitConversionMultiplier, }).ToList(); CostCenterStatus.ReceiveQty = IssueLineCostCenterRecords.Select(m => m.Qty).Sum() + Temp.Qty; CostCenterStatus.ReceiveDealQty = (IssueLineCostCenterRecords.Select(m => m.Qty * m.UnitConversionMultiplier).Sum()) + (Temp.Qty * JobOrderLien.UnitConversionMultiplier); // CostCenterStatus.ReceiveIncentiveAmount = IssueLineCostCenterRecords.Select(m => m.IncentiveAmt).Sum() + Temp.IncentiveAmt; // CostCenterStatus.ReceivePenaltyAmount = IssueLineCostCenterRecords.Select(m => m.PenaltyAmt).Sum() + Temp.PenaltyAmt; CostCenterStatus.ConsumeQty = (CostCenterStatus.ConsumeQty ?? 0) + ConsumeQty.Sum(m => m.Qty_Iss); CostCenterStatus.ObjectState = Model.ObjectState.Modified; db.CostCenterStatusExtended.Add(CostCenterStatus); } } } }
public void OnJobDone(object sebder, JobEventArgs e) { Console.WriteLine($"Job {this.Name} done!"); this.IsDone = true; }
bool JobReceiveEvents__beforeHeaderSave(object sender, JobEventArgs EventArgs, ref ApplicationDbContext db) { throw new NotImplementedException(); }
void JobInvoiceEvents__onLineDelete(object sender, JobEventArgs EventArgs, ref ApplicationDbContext db) { ApplicationDbContext DbContext = new ApplicationDbContext(); var Temp = DbContext.JobInvoiceLine.Where(m => m.JobInvoiceLineId == EventArgs.DocLineId).FirstOrDefault(); var JobRecLien = (from p in db.JobReceiveLine join t in db.JobOrderLine on p.JobOrderLineId equals t.JobOrderLineId join t2 in db.JobOrderHeader on t.JobOrderHeaderId equals t2.JobOrderHeaderId where p.JobReceiveLineId == Temp.JobReceiveLineId select new { JobOrderHeaderId = t2.JobOrderHeaderId, UnitConversionMultiplier = t.UnitConversionMultiplier, Qty = p.PassQty, JobOrderLineId = t.JobOrderLineId, CostCenterId = t2.CostCenterId, DocTypeId = t2.DocTypeId, }).FirstOrDefault(); #region InvoicePenalty&Incentive var LineCharges = (from p in DbContext.JobInvoiceLineCharge.AsNoTracking() where p.LineTableId == EventArgs.DocLineId select p).ToList(); var IncentiveChargeId = DbContext.Charge.Where(m => m.ChargeName == ChargeConstants.Incentive).FirstOrDefault().ChargeId; var PenaltyChargeId = DbContext.Charge.Where(m => m.ChargeName == ChargeConstants.Penalty).FirstOrDefault().ChargeId; #endregion //var JobHeader = DbContext.JobOrderHeader.Find(JobORderLien.JobOrderHeaderId); DbContext.Dispose(); var DocType = (from p in db.DocumentType where p.DocumentTypeName == TransactionDoctypeConstants.WeavingFinishOrder || p.DocumentTypeName == TransactionDoctypeConstants.WeavingOrder select p.DocumentTypeId).ToList(); if (DocType.Contains(JobRecLien.DocTypeId) && Temp.Qty != 0) { if (JobRecLien.CostCenterId.HasValue) { var CostCenterStatus = (from p in db.CostCenterStatusExtended where p.CostCenterId == JobRecLien.CostCenterId select p).FirstOrDefault(); var Incentive = LineCharges.Where(m => m.LineTableId == Temp.JobInvoiceLineId && m.ChargeId == IncentiveChargeId).Sum(m => m.Amount); var Penanly = LineCharges.Where(m => m.LineTableId == Temp.JobInvoiceLineId && m.ChargeId == PenaltyChargeId).Sum(m => m.Amount); if (CostCenterStatus != null) { CostCenterStatus.InvoiceQty = (CostCenterStatus.InvoiceQty ?? 0) - JobRecLien.Qty; CostCenterStatus.InvoiceDealQty = (CostCenterStatus.InvoiceDealQty ?? 0) - JobRecLien.Qty * JobRecLien.UnitConversionMultiplier; CostCenterStatus.InvoiceAmount = (CostCenterStatus.InvoiceAmount ?? 0) - Temp.Amount; CostCenterStatus.ReceiveIncentiveAmount = (CostCenterStatus.ReceiveIncentiveAmount ?? 0) - Incentive; CostCenterStatus.ReceivePenaltyAmount = (CostCenterStatus.ReceivePenaltyAmount ?? 0) - Penanly; CostCenterStatus.ObjectState = Model.ObjectState.Modified; db.CostCenterStatusExtended.Add(CostCenterStatus); } } } }
public void _printer_JobEvent(object sender, JobEventArgs e) { if (e.JobEventState == EventState.JobStart) { _btnCancel.Enabled = true; _btnChange.Enabled = false; this.BringToFront(); this.Focus(); PrintJobData jobData = _printer.RemoteData; if (_printer.RemoteData != null) { _jobHolder = new JobHolder(e.JobID, jobData.UserData, _codec, jobData, _fontPath); _jobHolder._message = "( " + _jobHolder._jobData.IPAddress + " ) Job name " + jobData.PrintJobName + " Job ID " + jobData.JobID; _nIndex = _lstBoxLog.Items.Add(_jobHolder); } else { _jobHolder = new JobHolder(e.JobID, _codec, _fontPath); _jobHolder._message = "Job Received With No Extra Information ( Job ID " + e.JobID + " )"; _nIndex = _lstBoxLog.Items.Add(_jobHolder); } } else if (e.JobEventState == EventState.JobEnd) { JobHolder tmpHolder = null; for (int i = 0; i < _lstBoxLog.Items.Count; i++) { if (_lstBoxLog.Items[i].GetType() != typeof(JobHolder)) { continue; } tmpHolder = (JobHolder)_lstBoxLog.Items[i]; if (tmpHolder._jobID == e.JobID) { _jobHolder = tmpHolder; break; } } if (_jobHolder != null) { _btnCancel.Enabled = false; this.BringToFront(); this.Focus(); string strMessage = ""; //Check if Job has client custom data if (_jobHolder._jobData != null) { strMessage = "( " + _jobHolder._jobData.IPAddress + " ) Saving " + _jobHolder._format + " file, please wait ... "; } else { strMessage = "( No Extra Information ) Saving " + _jobHolder._format + " file, please wait ... "; } _jobHolder._message = strMessage; _lstBoxLog.Items[_nIndex] = _jobHolder; //Get embedded fonts related to the Job ID string[] arrFonts = _printer.GetEmbeddedFonts(_jobHolder._fontPath, e.JobID); _jobHolder.SetFonts(arrFonts); //Save on a different thread ParameterizedThreadStart pStart = new ParameterizedThreadStart(DoSave); Thread tSaving = new Thread(pStart); tSaving.Start(new object[] { _jobHolder, _nIndex }); _jobHolder = null; } } }
public abstract void Work(object sender, JobEventArgs e);