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); }
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)); }
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(); }