Exemple #1
0
        public int OpenFilesForSocketPlan(List <Drawing> drawings)
        {
            if (drawings[0].FileName.Contains(" "))
            {
                throw new ApplicationException(Messages.CannotOpenFileWithSpace());
            }

            Static.ConstructionCode = drawings[0].ConstructionCode;
            Static.Drawing          = drawings[0];
            Static.SymbolCache.Clear(); //図面によって、シンボル情報が微妙に異なることがあるので、図面を変えたらクリアする。
            this.GetConstructionInfomations(Static.ConstructionCode, drawings[0].PlanNo);
            this.LoadSpecs(drawings[0].PlanNo);
            UnitWiring.Masters.DisposeRooms();

            if (drawings.Count > 0)
            {
                drawings.Sort((p, q) => p.Floor - q.Floor);
                Static.HouseSpecs.MaxFloor = drawings[drawings.Count - 1].Floor;
            }

            var count = Drawing.OpenAllForSocketPlan(drawings);

            AutoCad.vbcom.LoadComObject();
            UnitWiring.ClearApprovedHistory();

            Drawing.Bring1FDrawingToTop();

            return(count);
        }
Exemple #2
0
        private void CheckSocketPlan()
        {
            var socketPlans = new List <Drawing>();

            foreach (var drawing in Drawing.GetAll(false))
            {
                if (drawing.Name.Contains("Individeual") ||
                    drawing.Name.Contains("Pattern"))
                {
                    continue;
                }

                var fileName  = UnitWiring.GetSocketPlanFileName(drawing.Name, this.type) + ".dwg";
                var directory = Path.Combine(Settings.Default.DrawingDirectory, Static.ConstructionCode);
                var path      = Path.Combine(directory, fileName);
                if (!File.Exists(path))
                {
                    throw new ApplicationException("Socket plan is not generated yet." +
                                                   Environment.NewLine + Path.GetFileName(fileName));
                }

                var sp = Drawing.Create(path, "Local");
                socketPlans.Add(sp);
            }

            var opener = new OpenDrawingForm();

            opener.OpenFilesForSocketPlan(socketPlans);

            // これやると、図面操作できるようになる
            this.drawings = Drawing.GetAllForSocketPlan(this.type);
        }
        private void ApprovalControl_Approved(object sender, EventArgs e)
        {
            if (this.NeedMessage)
            {
                UnitWiring.AddApprovedHistory(this.MessageId);
            }

            this.approveButton.Enabled = false;
        }
        private void Text_TextChanged(object sender, EventArgs e)
        {
            if (this.NeedMessage)
            {
                if (UnitWiring.AlreadyApproved(this.MessageId))
                {
                    this.approveButton.Enabled = false;
                    return;
                }
            }

            this.approveButton.Enabled =
                (!string.IsNullOrEmpty(this.idText.Text) &&
                 !string.IsNullOrEmpty(this.pwText.Text));
        }
Exemple #5
0
        private void CheckSocketPlan()
        {
            var socketPlans = new List <Drawing>();

            foreach (var drawing in Drawing.GetAll(false))
            {
                if (drawing.Name.Contains("Individeual") ||
                    drawing.Name.Contains("Pattern"))
                {
                    continue;
                }

                var directory      = Path.Combine(Settings.Default.DrawingDirectory, Static.ConstructionCode);
                var individualName = UnitWiring.GetSocketPlanFileName(drawing.Name, SocketPlanType.Individual) + ".dwg";
                var individualPath = Path.Combine(directory, individualName);
                var patternName    = UnitWiring.GetSocketPlanFileName(drawing.Name, SocketPlanType.Pattern) + ".dwg";
                var patternPath    = Path.Combine(directory, patternName);

                if (File.Exists(individualPath))
                {
                    socketPlans.Add(Drawing.Create(individualPath, "Local"));
                    continue;
                }

                if (File.Exists(patternPath))
                {
                    socketPlans.Add(Drawing.Create(patternPath, "Local"));
                    continue;
                }

                throw new ApplicationException("Socket plan is not generated yet. Please generate automatically." +
                                               Environment.NewLine + Path.GetFileName(individualName) +
                                               Environment.NewLine + Path.GetFileName(patternPath));
            }

            var opener = new OpenDrawingForm();

            opener.OpenFilesForSocketPlan(socketPlans);

            // これやると、図面操作できるようになる
            this.drawings = Drawing.GetAllForSocketPlan(SocketPlanType.Individual);
            this.drawings.AddRange(Drawing.GetAllForSocketPlan(SocketPlanType.Pattern));
        }
        /// <summary>messageIdはそのエラー固有の文字列を渡す。承認したことのあるmessageIdだったらエラーは表示しない。</summary>
        public void Run(string messageId)
        {
            if (isVisible == true)
            {
                return;
            }

            //展示場のとき、検証なし
            if (Static.IsTenjijyo)
            {
                return;
            }

            //承認済みなら、何もせずに終了して処理を続行する
            if (UnitWiring.AlreadyApproved(messageId))
            {
                return;
            }

            //検証を実行する
            var errorDialog = this.Validate();

            //検証結果に問題が無かったら終了して処理を続行する
            if (errorDialog == null)
            {
                return;
            }

            var dialogResult = errorDialog.ShowDialog();

            if (dialogResult == DialogResult.OK)
            {
                //エラーダイアログで承認されたなら、何もせずに終了して処理を続行する
                return;
            }

            //承認されなかったら例外を投げて全ての処理を抜ける
            throw new DoNothingException();
        }