示例#1
0
        private bool IsSceneComplete(Articles articles)
        {
            List <string> catalogsList = this.CatalogsByManufacturerValidList();

            foreach (Article article in articles)
            {
                string catalogFileName = article.CatalogFileName.ToUpper();

                if (!catalogsList.Contains(catalogFileName))
                {
                    referenceNoValid = article.Ref;
                    numberNoValid    = article.Number.ToString();
                    return(false);
                }
                else if (catalogsList.Contains(catalogFileName))
                {
                    if (!article.KeyRef.EndsWith(OrderConstants.HandleName))
                    {
                        FileEDI currentFileEDI = new FileEDI(this.CurrentAppli, orderInformationsFromArticles, article.Ref);
                        if (!String.IsNullOrEmpty(article.Ref) && currentFileEDI.csvPairingFileReader == null)
                        {
                            referenceNoValid = article.Ref;
                            numberNoValid    = article.Number.ToString();
                            return(false);
                        }
                    }
                }
            }
            return(true);
        }
示例#2
0
        public bool IsOption_MEA(FileEDI _fileEDI)
        {
            if ((_segmentClassification.IsArticleWorkTop() || _segmentClassification.IsArticleShape() || _segmentClassification.IsArticleLinear()) ||
                (_segmentClassification.IsNotAccessory() && this.IsMeasurementsByEDIChange(_fileEDI)))    //(_segmentClassification.IsArticleSplashbackPanel() &&
            {
                return(true);
            }

            if (OrderConstants.IsOldDll)
            {
                if ((_segmentClassification.IsArticleWorkTop() || _segmentClassification.IsArticleShape() || _segmentClassification.IsArticleLinear()) ||
                    (_segmentClassification.IsNotAccessory() && _segmentClassification.IsMeasurementsChange()))
                {
                    return(true);
                }
            }
            return(false);
        }
示例#3
0
        public bool IsMeasurementsByEDIChange(FileEDI _fileEDI)
        {
            OrderConstants.IsOldDll = false;
            List <string> list   = new List <string>();
            string        keyRef = Tools.DelCharAndAllAfter(this.Article.KeyRef, KD.StringTools.Const.Underscore);
            // 2 for base measure structure separate with ;
            // ref;x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x;b:0:0|h:0:0|t:0:0
            string articleInfos = _fileEDI.ArticleReferenceKey(keyRef, 2);

            if (articleInfos != null)
            {
                string[] articleInfo = articleInfos.Split(Separator.ArticleFieldEDI);
                string   dimsX       = articleInfo[PairingTablePosition.ArticleWidth].Split(new string[] { KD.StringTools.Const.Colon }, StringSplitOptions.None)[PairingTablePosition.ArticleWidth_B];
                string   dimsZ       = articleInfo[PairingTablePosition.ArticleHeight].Split(new string[] { KD.StringTools.Const.Colon }, StringSplitOptions.None)[PairingTablePosition.ArticleHeight_H];
                string   dimsY       = articleInfo[PairingTablePosition.ArticleDepth].Split(new string[] { KD.StringTools.Const.Colon }, StringSplitOptions.None)[PairingTablePosition.ArticleDepth_T];

                double frontValue = 0.0;
                if (_segmentClassification.IsArticleUnit() && !_segmentClassification.IsArticleCornerOrAngleUnit() && !_segmentClassification.IsArticleSplashbackPanel() && !_segmentClassification.IsArticleSplashbackPanel2())
                {
                    frontValue = (OrderConstants.FrontDepth);  // -1
                }

                if (this.IsDimensionChange(this.Article.DimensionX, dimsX, 0))
                {
                    return(true);
                }
                if (this.IsDimensionChange(this.Article.DimensionZ, dimsZ, 0))
                {
                    return(true);
                }
                if (this.IsDimensionChange(this.Article.DimensionY, dimsY, frontValue))
                {
                    return(true);
                }
            }
            else
            {
                OrderConstants.IsOldDll = true;
            }
            return(false);
        }
示例#4
0
        private void Main(Articles articles)//int callParamsBlock
        {
            this.mainForm.ShowDialog();

            if (!String.IsNullOrEmpty(MainForm.EmailTo))
            {
                if (!this.IsMailAddressValid(MainForm.EmailTo) || !this.IsMailAddressValid(MainForm.EmailCc))
                {
                    MessageBox.Show("Adresse mail non valide.", "InSitu", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    this.Main(articles);    //callParamsBlock
                }
            }

            if (!MainForm.Cancel)
            {
                OrderWrite.segmentNumberBetweenUNHandUNT = 0;
                RFF_A.refPosList.Clear();
                RFF_A.refPosCommentList.Clear();

                //orderInformationsFromArticles = new OrderInformations(this.CurrentAppli, callParamsBlock, articles);

                fileEDI = new FileEDI(this.CurrentAppli, orderInformations.GetSupplierName(), orderInformationsFromArticles);
                if (fileEDI.csvPairingFileReader == null)
                {
                    _pluginWord.CurrentAppli.Scene.SceneSetCustomInfo(KD.StringTools.Const.FalseLowerCase, OrderKey.GenerateOrder);
                    return;
                }

                buildCommon = new BuildCommon(this.CurrentAppli);
                orderWrite  = new OrderWrite(this.CurrentAppli, orderInformations, buildCommon, orderInformationsFromArticles, articles, fileEDI);

                // the order of the choice is important cause BuildEdi need jpg file and EGI need EDI number's article like 21 and 21.1
                if (MainForm.IsChoiceExportPlan)
                {
                    BuildPlan buildPlan = new BuildPlan(this.CurrentAppli, buildCommon);
                    buildPlan.Generate();
                }
                if (MainForm.IsChoiceExportElevation)
                {
                    BuildElevation buildElevation = new BuildElevation(this.CurrentAppli, buildCommon);
                    buildElevation.Generate();
                }
                if (MainForm.IsChoiceExportPerspective)
                {
                    BuildPerspective buildPerspective = new BuildPerspective(this.CurrentAppli, buildCommon);
                    buildPerspective.Generate();
                }
                if (MainForm.IsChoiceExportOrder)
                {
                    BuildOrder buildOrder = new BuildOrder(this.CurrentAppli, orderInformations);
                    buildOrder.Generate();
                }

                // put method after for take generate file information (*.jpg...)
                // control this if miss some infos in EDI file
                orderWrite.BuildEDI(articles);
                orderWrite.EDIOrderFileStream();

                if (MainForm.IsChoiceExportEGI)
                {
                    orderWrite.BuildEGI(articles);
                    orderWrite.EGIOrderFile();
                }

                // put method ahead for list RFF_A object refpos number
                // control this if miss some infos in EDI file
                //orderWrite.BuildEDI(articles);
                //orderWrite.EDIOrderFileStream();

                OrderZip orderZip = new OrderZip();
                orderZip.ZIPFile();
            }
        }
示例#5
0
 public string GetReferenceNumberEDIFile(FileEDI fileEDI) //UNB 0020
 {
     return(fileEDI.GetNextOrdersNumberHex());
 }