public override void Update() { if (GainPartOnPrinting == null) { GainPartOnPrinting = new ProductPartPrintingSheetGainSingle(); } base.Update(); ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).SubjectNumber = ((ProductPartSoft)Part).SubjectNumber ?? 1; ((ProductPartPrintingSheetGainSingle)GainPartOnPrinting).UsePerfecting = false; GainPartOnPrinting.CalculateGain(); }
//every changes fire this update public override void Update() { if (ProductPartPrinting == null) { switch (ProductPart.TypeOfProductPart) { case ProductPart.ProductPartType.ProductPartSingleSheet: this.ProductPartPrinting = new ProductPartSingleSheetPrinting(); break; case ProductPart.ProductPartType.ProductPartCoverSheet: this.ProductPartPrinting = new ProductPartCoverSheetPrinting(); break; case ProductPart.ProductPartType.ProductPartBookSheet: this.ProductPartPrinting = new ProductPartBookSheetPrinting(); break; case ProductPart.ProductPartType.ProductPartBlockSheet: this.ProductPartPrinting = new ProductPartSingleSheetPrinting(); break; case ProductPart.ProductPartType.ProductPartRigid: this.HideBuyingInView = true; this.ProductPartPrinting = new ProductPartRigidPrinting(); break; case ProductPart.ProductPartType.ProductPartSoft: this.HideBuyingInView = true; this.ProductPartPrinting = new ProductPartSoftPrinting(); break; default: throw new Exception(); break; } } this.ProductPartPrinting.CostDetail = this; if (GainPrintingOnBuying == null) { GainPrintingOnBuying = new ProductPartPrintingSheetGainSingle(); } //la stampa è condizionata al fatto che il PrintingFormat stia in macchina!!! //quindi è da scegliere tra i possibili formati "spaccati" dal formato acquisto //la lettura della proprietà Cuts ricalcola il PrintingFormat!!!! var fake = this.Cuts; //i formati di stampa devono essere condizionati anche dal formato del lavoro da stampare //dalla pinza e dalla contropinza e laterale!!!! ((ProductPartPrintingSheetGainSingle)GainPrintingOnBuying).LargerFormat = this.BuyingFormat; ((ProductPartPrintingSheetGainSingle)GainPrintingOnBuying).SmallerFormat = this.PrintingFormat; ((ProductPartPrintingSheetGainSingle)GainPrintingOnBuying).Quantity = 0; ((ProductPartPrintingSheetGainSingle)GainPrintingOnBuying).SubjectNumber = 0; ((ProductPartPrintingSheetGainSingle)GainPrintingOnBuying).CalculateGain(); //devo anche rifare la messa in macchina della parte!!! if (this.ProductPartPrinting != null) { this.ProductPartPrinting.Part = this.ProductPart; this.ProductPartPrinting.PrintingFormat = this.PrintingFormat; this.ProductPartPrinting.Update(); } UpdateCoeff(); }
//every changes fire this update public override void Update() { if (ProductPartPrinting == null) { switch (ProductPart.TypeOfProductPart) { case ProductPart.ProductPartType.ProductPartSingleLabelRoll: this.ProductPartPrinting = new ProductPartSingleSheetPrinting(); break; case ProductPart.ProductPartType.ProductPartDoubleLabelRoll: this.ProductPartPrinting = new ProductPartDoubleSheetPrinting(); break; default: throw new Exception(); break; } } this.ProductPartPrinting.CostDetail = this; if (GainPrintingOnBuying == null) { GainPrintingOnBuying = new ProductPartPrintingSheetGainSingle(); } //this.DieTollerance = 0.5; ////qui voglio solo le fustelle flexo e semiroll //this.Dies = articles.OfType<Die>(); //la stampa è condizionata al fatto che il PrintingFormat stia in macchina!!! //quindi è da scegliere tra i possibili formati "spaccati" dal formato acquisto //la lettura della proprietà Cuts ricalcola il PrintingFormat!!!! var fake = this.Cuts; //la stampa deve essere valutata sui formati elaborati dalla fuzzy //FuzzyAlgo(); //i formati di stampa devono essere condizionati anche dal formato del lavoro da stampare //dalla pinza e dalla contropinza e laterale!!!! if (BuyingFormats.Count == 0) { Error = 3; } else { ((ProductPartPrintingSheetGainSingle)GainPrintingOnBuying).LargerFormat = this.BuyingFormat; ((ProductPartPrintingSheetGainSingle)GainPrintingOnBuying).SmallerFormat = this.PrintingFormat; ((ProductPartPrintingSheetGainSingle)GainPrintingOnBuying).Quantity = 1; ((ProductPartPrintingSheetGainSingle)GainPrintingOnBuying).SubjectNumber = 1; ((ProductPartPrintingSheetGainSingle)GainPrintingOnBuying).CalculateGain(); //devo anche rifare la messa in macchina della parte!!! if (this.ProductPartPrinting != null) { this.ProductPartPrinting.Part = this.ProductPart; this.ProductPartPrinting.PrintingFormat = this.PrintingFormat; this.ProductPartPrinting.ForceLateral = ForceLateral ?? false; this.ProductPartPrinting.Lateral = Lateral ?? (TaskexEcutorSelected != null ? TaskexEcutorSelected.Laterale ?? 0 : 0); //cm this.ProductPartPrinting.Update(); } this.UpdateCoeff(); } }
public override void Update() { //copiato da base if (GainPartOnPrinting == null) { GainPartOnPrinting = new ProductPartPrintingSheetGainSingle(); } //Update originale var gain = (ProductPartPrintingSheetGain)GainPartOnPrinting; TaskExecutor tsk; try { tsk = this.CostDetail.TaskExecutors.FirstOrDefault(x => x.CodTaskExecutor == this.CostDetail.CodTaskExecutorSelected); gain.Pinza = tsk.Pinza; gain.ControPinza = tsk.ControPinza; gain.Laterale = tsk.Laterale; } catch (Exception) { gain.Pinza = 0; gain.ControPinza = 0; gain.Laterale = 0; } if (ForceLateral) { gain.Laterale = Lateral; } gain.LargerFormat = PrintingFormat; gain.SmallerFormat = Part.FormatOpened; if (gain.SmallerFormat == "" || gain.SmallerFormat == null) { gain.SmallerFormat = Part.Format; } //posso spostare questa assegnazione quando modifico la quantità del //DocumentProduct gain.Quantity = this.CostDetail.TaskCost.DocumentProduct.Quantity ?? 0; gain.DCut = (Part.IsDCut ?? false) ? Part.DCut : 0; gain.DCut1 = (Part.IsDCut ?? false) ? Part.DCut1 : 0; gain.DCut2 = (Part.IsDCut ?? false) ? Part.DCut2 : 0; GainPartOnPrinting = gain; //fine Update originale base.Update(); switch (Part.TypeOfProductPart) { case ProductPart.ProductPartType.ProductPartSingleSheet: ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).SubjectNumber = ((ProductPartSingleSheet)Part).SubjectNumber ?? 1; ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).MaxGain2 = MaxGain2; ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).MaxGain1 = MaxGain1; ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).ForceSideOnSide = ForceSide; ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).ForceGain = ForceGain; ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).UsePerfecting = Perfecting; break; case ProductPart.ProductPartType.ProductPartSoft: ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).GiraVerso = true; ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).SubjectNumber = ((ProductPartSoft)Part).SubjectNumber ?? 1; break; case ProductPart.ProductPartType.ProductPartCoverSheet: break; case ProductPart.ProductPartType.ProductPartBookSheet: break; case ProductPart.ProductPartType.ProductPartBlockSheet: break; case ProductPart.ProductPartType.ProductPartSinglePlotter: break; case ProductPart.ProductPartType.ProductPartRigid: ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).SubjectNumber = ((ProductPartRigid)Part).SubjectNumber ?? 1; break; case ProductPart.ProductPartType.ProductPartSingleLabelRoll: ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).SubjectNumber = ((ProductPartSingleLabelRoll)Part).SubjectNumber ?? 1; ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).LateralMinDCut = LateralMinDCut; ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).AutoDCut = AutoCutParameter; ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).MaxGain2 = MaxGain2; ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).MaxGain1 = MaxGain1; //PREDISPOSIZIONE PER CAMBIARE NELLA MESSA IN MACCHINA IL TIPO DI CALCOLO SU TYPEOFDCUT1 ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).TypeOfDCut1 = Part.TypeOfDCut1 ?? 0; ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).GiraVerso = true; ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).ForceSideOnSide = 1; break; case ProductPart.ProductPartType.ProductPartDoubleLabelRoll: ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).TypeOfDCut2 = 1; ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).SubjectNumber = ((ProductPartDoubleLabelRoll)Part).SubjectNumber ?? 1; ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).AutoDCut = AutoCutParameter; ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).MaxGain2 = MaxGain2; ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).MaxGain1 = MaxGain1; //PREDISPOSIZIONE PER CAMBIARE NELLA MESSA IN MACCHINA IL TIPO DI CALCOLO SU TYPEOFDCUT1 ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).TypeOfDCut1 = Part.TypeOfDCut1??0; ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).GiraVerso = true; ((ProductPartPrintingSheetGainSingle)this.GainPartOnPrinting).ForceSideOnSide = 1; break; default: break; } ((ProductPartPrintingSheetGainSingle)GainPartOnPrinting).UsePerfecting = Perfecting; GainPartOnPrinting.CalculateGain(); //if (((ProductPartPrintingSheetGainSingle)GainPartOnPrinting).AutoDCut) //{ // this.Part.DCut1 = GainPartOnPrinting.DCut1; // this.Part.DCut2 = GainPartOnPrinting.DCut2; //} }