using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; using Aurora.View; using ILSOS_PrismaticGun.Process; using WeldingCommon; using WeldingCommon.Data; using WeldingCommon.Utils; using static System.Windows.Forms.VisualStyles.VisualStyleElement.Header; namespace ILSOS_PrismaticGun.WeldingCanvas.Popup { /// /// PopupWinCellInfo.xaml에 대한 상호 작용 논리 /// public partial class PopupWinCellInfo : Window { private PalletInfo _selectedPallet; private bool _isEditMode = false; public PopupWinCellInfo(PalletInfo palletInfo) { InitializeComponent(); _selectedPallet = palletInfo; } private void Window_Loaded(object sender, RoutedEventArgs e) { InitControls(); LoadPalletInfo(); } private void InitControls() { Title = $"Stge {_selectedPallet.WeldingStage} Cell Info"; LotID.IsReadOnly = true; CellID.IsReadOnly = true; CellNo.IsReadOnly = true; PalletState.IsReadOnly = true; CellExist.IsReadOnly = true; JudgeNG.IsReadOnly = true; } private void LoadPalletInfo() { if (_selectedPallet is null) return; LotID.ValueText = _selectedPallet.weldingData.LotId; CellID.ValueText = _selectedPallet.weldingData.CellId; CellNo.ValueText = $"{_selectedPallet.weldingData.CellNo}"; PalletState.ItemList = Enum.GetValues(typeof(ePalletState)); PalletState.ValueItem = _selectedPallet.palletState; CellExist.ValueBool = _selectedPallet.weldingData.IsCellExist; JudgeNG.ItemList = Enum.GetValues(typeof(JudgeType)); JudgeNG.ValueItem = (JudgeType)_selectedPallet.weldingData.NgJudge; } private void Button_Click_EditMode(object sender, RoutedEventArgs e) { if (MessageUtil.ShowYesNoMessageDialog("모드 선택", "데이터 변경 모드를 활성화하시겠습니까?") == false) return; _isEditMode = !_isEditMode; LotID.IsReadOnly = !_isEditMode; CellID.IsReadOnly = !_isEditMode; CellNo.IsReadOnly = !_isEditMode; PalletState.IsReadOnly = !_isEditMode; CellExist.IsReadOnly = !_isEditMode; JudgeNG.IsReadOnly = !_isEditMode; } private void Button_Click_Save(object sender, RoutedEventArgs e) { if (Status.EquipmentStatus is eEqpStatus.Auto){ MessageUtil.CreateAndShowMessageDialog("Cancel", "Auto모드에서는 데이터 변경이 불가능합니다."); return; } if (MessageUtil.ShowYesNoMessageDialog("데이터 변경", "데이터를 변경하시겠습니까?") == false) return; _selectedPallet.weldingData.LotId = LotID.ValueText; _selectedPallet.weldingData.CellId = CellID.ValueText; _selectedPallet.weldingData.CellNo = int.Parse(CellNo.ValueText); _selectedPallet.SetState((ePalletState)PalletState.ValueItem); _selectedPallet.weldingData.IsCellExist = CellExist.ValueBool; _selectedPallet.weldingData.NgJudge = (int)JudgeNG.ValueItem; if (_selectedPallet.WeldingStage == eStage.A) { RegistrySerializer.SaveToRegistry("PalletInStageA", _selectedPallet); ProcessManager.Instance.PalletInStageA = _selectedPallet; } else { RegistrySerializer.SaveToRegistry("PalletInStageB", _selectedPallet); ProcessManager.Instance.PalletInStageB = _selectedPallet; } } } }