Пример #1
0
 public PrinterBase(ePrinterVendor vendor, eAssignedLane_Printer laneID)
 {
     LaneID = laneID;
     Vendor = vendor;
     InspectedPanels.Clear();
     PrinterCommonSetting = new CommonSettingVM();
     PrinterSFSetting     = new SharedFolderSettingVM();
     DxHistory            = new ObservableCollection <KeyValuePair <double, double> >();
     DyHistory            = new ObservableCollection <KeyValuePair <double, double> >();
     ThetaHistory         = new ObservableCollection <KeyValuePair <double, double> >();
     DxHistory.Clear();
     DyHistory.Clear();
     ThetaHistory.Clear();
     //Accumulation = 0;//= AccDx = AccDy = AccTheta = 0;
 }
Пример #2
0
        static public SharedFolderSettingVM ToSharedFolderSettingVM(this XElement root)
        {
            SharedFolderSettingVM ret = null;

            try
            {
                ret            = new SharedFolderSettingVM();
                ret.IsInEnable = bool.Parse(root.getValue("In"));
                string _driveletter   = root.getAttributeValue("In", "DriveLetter");
                string _driveprovider = root.getAttributeValue("In", "DriveProvider");

                ret.InDriveInfo = _driveletter + "(" + _driveprovider + ")";
                //檢查有否有此driveinfo,若沒有,則create 一個
                var  _lstCurrentDrives = WmiDiskHelper.GetDiskNames();
                bool bExist            = _lstCurrentDrives.Exists(X => X.DiskID == _driveletter && X.DiskProviderName == _driveprovider);
                if (!bExist)
                {
                    NetworkDriveWrapper.MappingNetDrive(_driveletter, _driveprovider, "", "");
                }
                ret.IsOutEnable = bool.Parse(root.getValue("Out"));
                _driveletter    = root.getAttributeValue("Out", "DriveLetter");
                _driveprovider  = root.getAttributeValue("Out", "DriveProvider");

                ret.OutDriveInfo = _driveletter + "(" + _driveprovider + ")";
                //檢查有否有此driveinfo,若沒有,則create 一個
                _lstCurrentDrives = WmiDiskHelper.GetDiskNames();
                bExist            = _lstCurrentDrives.Exists(X => X.DiskID == _driveletter && X.DiskProviderName == _driveprovider);
                if (!bExist)
                {
                    NetworkDriveWrapper.MappingNetDrive(_driveletter, _driveprovider, "", "");
                }
            }
            catch
            {
                return(null);
            }
            return(ret);
        }
Пример #3
0
        void ExecuteSaveFile()
        {
            List <OneLaneSelectorVM> _lstOneLaneModel = new List <OneLaneSelectorVM>();

            foreach (var item in ViewModelLocator.Atom.LaneSelectorHostVM.LaneContainer)
            {
                _lstOneLaneModel.Add((OneLaneSelectorVM)(item as ucOneLaneSelector).DataContext);
            }

            TRMessageBox.Show("@AUTOLOADFILENAME_HINT".Translate());
            System.Windows.Forms.SaveFileDialog ofd = new System.Windows.Forms.SaveFileDialog();
            ofd.Filter = "Xml Files (*.xml)| *.xml";

            //string pathName = "PlacerCenter.xml";
            ofd.Filter = "Xml Files (*.xml)| *.xml";
            if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                try
                {
                    XElement              root          = new XElement("PRINTERCENTER");
                    CommonSettingVM       lane1CommonVM = (CommonSettingVM)_window.ucLane1_Common.DataContext;
                    SharedFolderSettingVM lane1SFVM     = (SharedFolderSettingVM)_window.ucLane1_SF.DataContext;
                    CommonSettingVM       lane2CommonVM = (CommonSettingVM)_window.ucLane2_Common.DataContext;
                    SharedFolderSettingVM lane2SFVM     = (SharedFolderSettingVM)_window.ucLane2_SF.DataContext;



                    List <XElement> LaneList = new List <XElement>();

                    foreach (var lane in _lstOneLaneModel)
                    {
                        var iLaneID = _lstOneLaneModel.IndexOf(lane) + 1;
                        var sVendor = lane.Vendor;
                        if (iLaneID == 1)
                        {
                            var el = new XElement("LANE", new XAttribute("ID", iLaneID)
                                                  , new XElement("Vendor", sVendor)
                                                  , lane1CommonVM.ToXml()
                                                  , lane1SFVM.ToXml()
                                                  );
                            LaneList.Add(el);
                        }
                        else if (iLaneID == 2)
                        {
                            var el = new XElement("LANE", new XAttribute("ID", iLaneID)
                                                  , new XElement("Vendor", sVendor)
                                                  , lane2CommonVM.ToXml()
                                                  , lane2SFVM.ToXml()
                                                  );
                            LaneList.Add(el);
                        }
                    }

                    root.Add(LaneList);


                    root.Save(ofd.FileName);
                }
                catch (Exception ex)
                {
                    Log4.PrinterLogger.ErrorFormat("Exception={0}", ex.Message);
                    return;
                }
            }
        }
Пример #4
0
        //以下檢查站時不包含每個Printer的Rule
        private bool CheckEachValues(int laneID, OneLaneSelectorVM vm, CommonSettingVM commonvm, SharedFolderSettingVM sfvm)
        {
            bool _bAllGood = true;

            //1.檢查CommonSetting


            //2.檢查SharedFolderSetting
            _window.lbStatusReporter.Items.Add(String.Format("@LANE_DATA".Translate() + ":", laneID + 1));
            Log4.PrinterLogger.InfoFormat("Check Lane {0} Data:", laneID + 1);
            //Input SharedFolder
            if (SharedFolderRules.HasInputSharedFolder(vm.Vendor))
            {
                _bAllGood = CheckSharedFolder(sfvm.InDriveInfo, "@RECIEVE");
            }

            //Output SharedFolder
            if (SharedFolderRules.HasOutputSharedFolder(vm.Vendor))
            {
                _bAllGood = CheckSharedFolder(sfvm.OutDriveInfo, "@SEND");
            }

            if (_bAllGood)
            {
                _window.lbStatusReporter.Items.Add("@PASS".Translate());
                Log4.PrinterLogger.Info(" RESULT = PASS!");
            }


            return(_bAllGood);
        }
Пример #5
0
        /// <summary>
        /// Service開啟的入口點*****
        /// </summary>
        /// <param name="laneID">The lane identifier.</param>
        /// <param name="vm">The vm.</param>
        /// <param name="commonvm">The commonvm.</param>
        /// <param name="sfvm">The SFVM.</param>
        /// <returns></returns>
        public bool ImportSetting(int laneID, OneLaneSelectorVM vm, CommonSettingVM commonvm, SharedFolderSettingVM sfvm)
        {
            bool ret = false;



            RemotePrinter[laneID].PrinterVendor = vm.Vendor;//此時Create物件,開始監控sharedFolder
            RemotePrinter[laneID].Printer.PrinterCommonSetting = commonvm.Clone();
            RemotePrinter[laneID].Printer.PrinterSFSetting     = sfvm.Clone();
            RemotePrinter[laneID].Printer.Activate();//開始監控
            return(ret);
        }