Esempio n. 1
0
 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!");
     }
 }
Esempio n. 3
0
 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);
 }
Esempio n. 4
0
        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);
        }
Esempio n. 5
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)
 {
 }
Esempio n. 7
0
 private void UserInterfaceManager_JobClosed(object sender, JobEventArgs e)
 {
     PauseButton.IsEnabled = true;
 }
Esempio n. 8
0
 void JobInvoiceEvents__afterHeaderSave(object sender, JobEventArgs EventArgs, ref ApplicationDbContext db)
 {
     throw new NotImplementedException();
 }
Esempio n. 9
0
        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);
                    }
                }
            }
        }
Esempio n. 10
0
        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);
                        }
                    }
                }
            }
        }
Esempio n. 11
0
    // <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
    }
Esempio n. 12
0
 // 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)]++;
 }
Esempio n. 13
0
 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);
     }
 }
Esempio n. 14
0
    // <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);
 }
Esempio n. 16
0
 private void OnJobDone(JobEventArgs args)
 {
     this.JobDone?.Invoke(this, args);
 }
Esempio n. 17
0
        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;
             }
        }
Esempio n. 18
0
 void JobReceiveEvents__afterHeaderDelete(object sender, JobEventArgs EventArgs, ref ApplicationDbContext db)
 {
     throw new NotImplementedException();
 }
Esempio n. 19
0
 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);
 }
Esempio n. 20
0
 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!");
 }
Esempio n. 21
0
 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);
 }
Esempio n. 22
0
        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);
                    }
                }
            }
        }
Esempio n. 23
0
 private void OnJobCompleted(object sender, JobEventArgs jobEventArgs)
 {
     _context.Send((state) => _view.OnJobCompleted(sender, jobEventArgs), null);
 }
Esempio n. 24
0
 bool JobInvoiceEvents__beforeHeaderDelete(object sender, JobEventArgs EventArgs, ref ApplicationDbContext db)
 {
     throw new NotImplementedException();
 }
Esempio n. 25
0
 public void OnJobDone(JobEventArgs jea)
 {
     this.JobDone?.Invoke(this, jea);
 }
Esempio n. 26
0
        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);
                        }
                    }
                }
            }
        }
Esempio n. 27
0
 /// <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);
 }
Esempio n. 28
0
 bool SaleQuotationEvents__beforeLineSaveBylkDataValidation(object sender, JobEventArgs EventArgs, ref ApplicationDbContext db)
 {
     return(true);
 }
Esempio n. 29
0
 /// <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 + "...");
 }
Esempio n. 30
0
 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!");
Esempio n. 32
0
 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_);
Esempio n. 34
0
 public void OnJobDone(object sender, JobEventArgs e)
 {
     this.Remove(e.Job);
 }
Esempio n. 35
0
 private void OnJobDone(object sender, JobEventArgs args)
 {
     this.writer.WriteLine($"Job {args.Job.Name} done!");
     this.jobsForRemoving.Add(args.Job);
 }
Esempio n. 36
0
        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);
                    }
                }
            }
        }
Esempio n. 37
0
 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);
     }
 }
Esempio n. 38
0
        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;
 }
Esempio n. 40
0
 bool JobReceiveEvents__beforeHeaderSave(object sender, JobEventArgs EventArgs, ref ApplicationDbContext db)
 {
     throw new NotImplementedException();
 }
Esempio n. 41
0
        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);
                    }
                }
            }
        }
Esempio n. 42
0
        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;
                }
            }
        }
Esempio n. 43
0
 public abstract void Work(object sender, JobEventArgs e);