示例#1
0
        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();
        }
示例#2
0
        //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();
        }
示例#3
0
        //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();

            }


        }
示例#4
0
        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;                
            //}

        
        }