public DeviceSinamicsG(DeviceExtended deviceextended)
        {
            this.deviceUserGroup = deviceextended.usergroup;

            this.device           = deviceextended.device;
            driveObject           = device.DeviceItems[1].GetService <DriveObjectContainer>().DriveObjects[0];
            safetyTelegram        = driveObject.Telegrams.Find(TelegramType.SafetyTelegram);
            mainTelegram          = driveObject.Telegrams.Find(TelegramType.MainTelegram);
            additionalTelegram    = driveObject.Telegrams.Find(TelegramType.AdditionalTelegram);
            supplementaryTelegram = driveObject.Telegrams.Find(TelegramType.SupplementaryTelegram);
            profinetInterface     = getProfinetInetface();
            ioConnector           = profinetInterface.IoConnectors[0];
            node               = profinetInterface.Nodes[0];
            Name               = device.DeviceItems[1].Name;
            PowerModule        = device.DeviceItems[2].TypeIdentifier;
            safetyAddress      = GetSafetyAddress();
            safetHwAddress_in  = getSafetyHwAddressIn();
            safetHwAddress_out = getSafetyHwAddressOut();
            hwAddress_in       = getHwAddressIn();
            hwAddress_out      = getHwAddressOut();
            hwAddress_supp_in  = getHwAddressSuppIn();
            hwAddress_supp_out = getHwAddressSuppOut();
            hwAddress_add_in   = getHwAddressAddIn();
            hwAddress_add_out  = getHwAddressAddOut();
            ioSystem           = ioConnector.ConnectedToIoSystem;
            subnet             = node.ConnectedSubnet;
            ipAddress          = node.GetAttribute("Address").ToString();
            pnDeviceNameAuto   = node.GetAttribute("PnDeviceNameAutoGeneration").ToString();
            pnDeviceName       = node.GetAttribute("PnDeviceName").ToString();
            PnDeviceNumber     = (int)ioConnector.GetAttribute("PnDeviceNumber");
            networkPorts       = GetNetworkPorts();
        }
            public static int GetIndexForFile(string file)
            {
                string key;

                // icon files and exe files can have their custom icons
                if (Path.GetExtension(file).ToLower() == ".ico" ||
                    Path.GetExtension(file).ToLower() == ".exe")
                {
                    key = file;
                }
                else
                {
                    key = Path.GetExtension(file).ToLower();
                }

                // clear the icon cache
                if (icons.Images.Count > 100)
                {
                    icons.Images.Clear();
                    iconIndecies.Clear();
                }

                if (iconIndecies.Contains(key))
                {
                    return((int)iconIndecies[key]);
                }
                else
                {
                    icons.Images.Add(DriveObject.GetImageForFile(file));
                    int index = icons.Images.Count - 1;
                    iconIndecies.Add(key, index);
                    return(index);
                }
            }
Example #3
0
        public void Equals_Null()
        {
            var drive  = new DriveObject("C:", null);
            var result = drive.Equals(null);

            Assert.AreEqual(false, result);
        }
Example #4
0
        public void Equals_Self()
        {
            var drive  = new DriveObject("C:", null);
            var result = drive.Equals(drive);

            Assert.AreEqual(true, result);
        }
Example #5
0
        public void Matches_Drive()
        {
            var rule  = new AttributeRule();
            var drive = new DriveObject(@"C:", null);

            var result = rule.Matches(drive, null);
        }
Example #6
0
        public static IList <AttributeAndTelegram> GetValueAndTelegramWithAttribute(DriveObject aDrive, string aAttributeName)
        {
            List <AttributeAndTelegram> returnDeviceItems = new List <AttributeAndTelegram>();


            if (aDrive != null)
            {
                foreach (Telegram currentTelegram in aDrive.Telegrams)
                {
                    try
                    {
                        object attributeValue        = currentTelegram.GetAttribute(aAttributeName);
                        AttributeAndTelegram newItem = new AttributeAndTelegram();
                        newItem.Name     = aAttributeName;
                        newItem.Value    = attributeValue;
                        newItem.Telegram = currentTelegram;
                        returnDeviceItems.Add(newItem);
                    }
                    catch (EngineeringNotSupportedException)
                    {
                    }
                    catch (Exception ex)
                    {
                        Program.FaultMessage("Could not get Attribute", ex, "Service.GetValueAndTelegramWithAttribute");
                    }
                }
            }
            return(returnDeviceItems);
        }
Example #7
0
        public void Equals_Directory()
        {
            var drive     = new DriveObject("C:", null);
            var directory = new DirectoryObject(@"C:\dir", null);
            var result    = drive.Equals(directory);

            Assert.AreEqual(false, result);
        }
Example #8
0
        public void Equals_File()
        {
            var drive  = new DriveObject("C:", null);
            var file   = new FileObject(@"C:\file", null);
            var result = drive.Equals(file);

            Assert.AreEqual(false, result);
        }
Example #9
0
        public void Exists_NoDrive()
        {
            var fileSystem = new MockFileSystem();

            var drive = new DriveObject(@"C:", fileSystem);

            Assert.AreEqual(false, drive.Exists);
        }
Example #10
0
        public void Equals_SameDrive()
        {
            var drive1 = new DriveObject("C:", null);
            var drive2 = new DriveObject("C:", null);
            var result = drive1.Equals(drive2);

            Assert.AreEqual(true, result);
        }
Example #11
0
        public void Equals_AnotherDrive()
        {
            var drive1 = new DriveObject("C:", null);
            var drive2 = new DriveObject("D:", null);
            var result = drive1.Equals(drive2);

            Assert.AreEqual(false, result);
        }
Example #12
0
        public void RegisterDrive(string path, DriveType type = DriveType.Fixed, bool supportsHardLinks = true)
        {
            var drive = new DriveObject(path, this);

            Objects.Add(drive);
            _driveType[drive] = type;
            _supportsHardLinks[drive] = supportsHardLinks;
        }
Example #13
0
    public void OnSceneGUI()
    {
        drive = (DriveObject)target;

        if (drive.hasDrive && !Application.isPlaying)
        {
            ShowPreview();
        }
    }
Example #14
0
        public void Matches_Drive()
        {
            var rule  = new FileRule();
            var drive = new DriveObject(@"C:", null);

            var result = rule.Matches(drive, null);

            Assert.AreEqual(false, result);
        }
Example #15
0
        public void Drive()
        {
            var fileSystem = new MockFileSystem();
            fileSystem.RegisterDirectory(@"C:\dir");

            var directory = new FileObject(@"C:\dir", fileSystem);
            var drive = new DriveObject(@"C:", fileSystem);

            Assert.AreEqual(drive, directory.Drive);
        }
Example #16
0
        public void Parent_Drive()
        {
            var fileSystem = new MockFileSystem();
            fileSystem.RegisterDirectory(@"C:\dir");

            var directory = new DirectoryObject(@"C:\file", fileSystem);
            var parent = new DriveObject(@"C:", fileSystem);

            Assert.AreEqual(parent, directory.Parent);
        }
        //Set the safetyAddresses
        private void SetSafetyAddress(Device device, int safetyAddress)
        {
            DriveObject driveObject = device.DeviceItems[1].GetService <DriveObjectContainer>().DriveObjects[0];
            Telegram    telegram    = driveObject.Telegrams.Find(TelegramType.SafetyTelegram);

            if (telegram != null)
            {
                telegram.SetAttribute("Failsafe_FDestinationAddress", safetyAddress);
            }
        }
Example #18
0
        public void Parent_Null()
        {
            var fileSystem = new MockFileSystem();

            fileSystem.RegisterDrive(@"C:");

            var drive = new DriveObject(@"C:", fileSystem);

            Assert.AreEqual(null, drive.Parent);
        }
Example #19
0
        public void Exists_ExistingDrive()
        {
            var fileSystem = new MockFileSystem();

            fileSystem.RegisterDrive(@"C:");

            var drive = new DriveObject(@"C:", fileSystem);

            Assert.AreEqual(true, drive.Exists);
        }
Example #20
0
        public void Root()
        {
            var fileSystem = new MockFileSystem();

            fileSystem.RegisterDrive(@"C:");

            var drive = new DriveObject(@"C:", fileSystem);
            var root  = new DirectoryObject(@"C:\", fileSystem);

            Assert.AreEqual(root, drive.Root);
        }
Example #21
0
        public void Drive()
        {
            var fileSystem = new MockFileSystem();

            fileSystem.RegisterFile(@"C:\dir\file");

            var file  = new FileObject(@"C:\dir\file", fileSystem);
            var drive = new DriveObject(@"C:", fileSystem);

            Assert.AreEqual(drive, file.Drive);
        }
Example #22
0
        public void Parent_Drive()
        {
            var fileSystem = new MockFileSystem();

            fileSystem.RegisterFile(@"C:\file");

            var file   = new FileObject(@"C:\file", fileSystem);
            var parent = new DriveObject(@"C:", fileSystem);

            Assert.AreEqual(parent, file.Parent);
        }
Example #23
0
        public static IEnumerable <DriveObject> GetDrives()
        {
            List <DriveObject>         driveObjects = new List <DriveObject>();
            WebBoxConfigurationSection config       = (WebBoxConfigurationSection)ConfigurationManager.GetSection("webBox");

            foreach (DriveConfigurationElement drive in config.Drives)
            {
                DriveObject driveObject = new DriveObject(drive.Route, drive.Directory, drive.Description);
                driveObjects.Add(driveObject);
            }
            return(driveObjects);
        }
Example #24
0
        private static XElement ToElement(DriveObject drive)
        {
            XElement element = new XElement("Drive");

            element.SetElementValue("Route", drive.Route);
            if (string.IsNullOrWhiteSpace(drive.Description))
            {
                element.SetElementValue("Description", string.Empty);
            }
            else
            {
                element.SetElementValue("Description", drive.Description);
            }
            return(element);
        }
 public void SaveFDestAndIoAddresses()
 {
     foreach (Device currentDrive in AllDevices)
     {
         DriveObject tempDrive = currentDrive.DeviceItems[1].GetService <DriveObjectContainer>().DriveObjects[0];
         foreach (Telegram currentTelegram in tempDrive.Telegrams)
         {
             TelegramAndAttributes newTelegram = new TelegramAndAttributes(currentTelegram);
             if (newTelegram != null)
             {
                 AllTelegrams.Add(newTelegram);
             }
         }
     }
 }
Example #26
0
        internal void InsertComputerChildNodes(IExplorerObject computerObject, TreeNode computer)
        {
            //DateTime t1 = DateTime.Now;
            ManagementObjectSearcher   query      = new ManagementObjectSearcher("SELECT Name,DriveType From Win32_LogicalDisk ");
            ManagementObjectCollection collection = query.Get();

            foreach (ManagementObject manObject in collection)
            {
                DriveObject        exObject = new DriveObject(computerObject, manObject["Name"].ToString(), (uint)manObject["DriveType"]);
                ExplorerObjectNode d        = new ExplorerObjectNode(exObject, exObject.ImageIndex);
                computer.Nodes.Add(d);
            }

            //TimeSpan ts = DateTime.Now-t1;
            //MessageBox.Show(ts.TotalMilliseconds.ToString());
        }
        // POST /report
        public IHttpActionResult Post(DriveObject driveObject)
        {
            ILogger _logger = new Logger();
            _logger.Log("Post /report. Object DriveObject.AuthorizationGuid initial: " + driveObject.Authorization.GuId, "api", 3);
            var encryptedGuId = Encryptor.EncryptAuthorization(driveObject.Authorization).GuId;
            var auth = AuthRepo.Get(t => t.GuId == encryptedGuId).FirstOrDefault();
            var DuplicateReportCheck = DriveReportRepo.Get(t => t.Uuid == driveObject.DriveReport.Uuid).Any();

            if (auth == null)
            {
                _logger.Log("Post /report. Invalid authorization", "api", 3);
                return new CustomErrorActionResult(Request, "Invalid authorization", ErrorCodes.InvalidAuthorization,
                    HttpStatusCode.Unauthorized);
            }
            if(auth.ProfileId != driveObject.DriveReport.ProfileId)
            {
                _logger.Log("Post /report. User and drive report user do not match", "api", 3);
                return new CustomErrorActionResult(Request, "User and drive report user do not match", ErrorCodes.ReportAndUserDoNotMatch,
                     HttpStatusCode.Unauthorized);
            }
            if (DuplicateReportCheck)
            {
                _logger.Log($"Post /report. Report rejected, duplicate found. Drivereport uuid: {driveObject.DriveReport.Uuid}", "api", 3);
                return new CustomErrorActionResult(Request, "Report rejected, duplicate found", ErrorCodes.DuplicateReportFound, HttpStatusCode.OK);
            }

            try
            {
                driveObject.DriveReport = Encryptor.EncryptDriveReport(driveObject.DriveReport);

                var model = AutoMapper.Mapper.Map<DriveReport>(driveObject.DriveReport);

                DriveReportRepo.Insert(model);
                Uow.Save();

                _logger.Log("Post /report. Before ok", "api", 3);
                return Ok();
            }
            catch (Exception ex)
            {
                _logger.Log($"Post /report. Exception Could not save drivereport (uuid: {driveObject.DriveReport.Uuid}): " + ex.Message, "api", 3);
                return new CustomErrorActionResult(Request, "Could not save drivereport", ErrorCodes.SaveError, HttpStatusCode.BadRequest);
            }
        }
        public IHttpActionResult Post(DriveObject driveObject)
        {
            ILogger _logger = new Logger();
            
            _logger.Log("Post /submitDriveController. Object DriveObject token initial: " + driveObject.Token, "api", 3);
            driveObject.Token = Encryptor.EncryptToken(driveObject.Token);
            Token token = _tokenRepo.Get(x => x.GuId == driveObject.Token.GuId && x.Status == 1).FirstOrDefault();

            if (token != null)
            {
                try
                {
                    //Add drivereport
                    driveObject.DriveReport = Encryptor.EncryptDriveReport(driveObject.DriveReport);

                    var model = AutoMapper.Mapper.Map<DriveReport>(driveObject.DriveReport);

                    _driveReportRepo.Insert(model);
                    _uow.Save();

                    //Return user info (optional)
                    var profile = AutoMapper.Mapper.Map<ProfileViewModel>(token.Profile);
                    profile = Encryptor.DecryptProfile(profile);

                    UserInfoViewModel ui = new UserInfoViewModel();
                    ui.profile = profile;
                    ui.rates = AutoMapper.Mapper.Map<List<RateViewModel>>(_rateRepo.Get().Where(x=> x.isActive).ToList());

                    _logger.Log("Post /submitDriveController. Before OK: ", "api", 3);
                    return Ok(ui);
                }
                catch (Exception ex)
                {
                    _logger.Log("Post /submitDriveController. Exception: Could not save: " + ex.Message, "api", 3);
                    return new CustomErrorActionResult(Request, "Could not save", ErrorCodes.SaveError, HttpStatusCode.BadRequest);
                }

            }
            else
            {
                _logger.Log("Post /submitDriveController. Error: Token not found ", "api", 3);
                return new CustomErrorActionResult(Request, "Token not found", ErrorCodes.InvalidAuthorization, HttpStatusCode.Unauthorized);
            }
        }
Example #29
0
    public override void OnInspectorGUI()
    {
        drive = (DriveObject)target;

        if (ShowDriveTypeSettings())
        {
            if (drive.dirDriveFacade || drive.rotDriveFacade)
            {
                ShowDriveSettings();
            }

            ShowValueEvents();

            if (drive.dirDriveFacade || drive.rotDriveFacade)
            {
                ShowInteractibleGUI();
            }
        }
    }
        //Set the HW Addresses Additional Telegram
        private void SetHWAddressAdd(Device device, int hwAddress_in, int hwAddress_out)
        {
            DriveObject driveObject = device.DeviceItems[1].GetService <DriveObjectContainer>().DriveObjects[0];
            Telegram    telegram    = driveObject.Telegrams.Find(TelegramType.AdditionalTelegram);

            if (telegram != null)
            {
                foreach (Address address in telegram.Addresses)
                {
                    if (address.IoType.Equals(AddressIoType.Input))
                    {
                        address.StartAddress = hwAddress_in;
                    }
                    if (address.IoType.Equals(AddressIoType.Output))
                    {
                        address.StartAddress = hwAddress_out;
                    }
                }
            }
        }
Example #31
0
        public static List <string> GetDriveObjectData(DriveObject obj)
        {
            if (obj == null)
            {
                Console.WriteLine("Null Drive object");
                return(null);
            }
            List <string> attributes = new List <string>();

            Console.WriteLine("Drive Object " + obj.name + " selected");
            attributes.Add("Path: " + obj.path);
            attributes.Add("Name: " + obj.name);
            attributes.Add("Date: " + obj.date);
            attributes.Add("Size: " + obj.getFormattedSize());
            foreach (Tag tag in obj.getTags())
            {
                attributes.Add("\t" + tag.ID);
            }
            attributes.Add("Comment: " + obj.comments);
            return(attributes);
        }
Example #32
0
        public void Store_Drive()
        {
            var fileSystem = new MockFileSystem();

            fileSystem.RegisterDrive(@"C:");

            var dateTime = new MockDateTime(new DateTime(2010, 10, 1, 0, 0, 0));

            var serviceContainer = new ManualServiceContainer();

            serviceContainer.Register <IFileSystem>(fileSystem);
            serviceContainer.Register <IDateTimeService>(dateTime);

            var executionContext = new ExecutionContext(serviceContainer);

            var drive = new DriveObject(@"C:", fileSystem);

            var storage         = new DirectoryStorage(@"C:\backup");
            var storageInstance = storage.CreateInstance(executionContext);

            var backupContext = new BackupContext(null, executionContext);
            var result        = storageInstance.Store(drive, backupContext).ToArray();
        }
Example #33
0
			public ShellTree()
			{
				Sorted = true;
				TreeNode rootNode = Nodes.Add("桌面");
				rootNode.ImageIndex = 6;
				rootNode.SelectedImageIndex = 6;
				rootNode.Tag = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
			
				TreeNode myFilesNode = rootNode.Nodes.Add("我的文档");
				myFilesNode.ImageIndex = 7;
				myFilesNode.SelectedImageIndex = 7;
				try 
				{
					myFilesNode.Tag = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
				} 
				catch (Exception) 
				{
					myFilesNode.Tag = "C:\\";
				}
			
				myFilesNode.Nodes.Add("");
			
				TreeNode computerNode = rootNode.Nodes.Add("我的电脑");
				computerNode.ImageIndex = 8;
				computerNode.SelectedImageIndex = 8;
				try 
				{
					computerNode.Tag = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
				} 
				catch (Exception) 
				{
					computerNode.Tag = "C:\\";
				}
			
				foreach (string driveName in Environment.GetLogicalDrives()) 
				{
					DriveObject drive = new DriveObject(driveName);
				
					TreeNode node = new TreeNode(drive.ToString());
					node.Nodes.Add(new TreeNode(""));
					node.Tag = driveName.Substring(0, driveName.Length - 1);
					computerNode.Nodes.Add(node);
				
					FileUtilityService fileUtilityService = (FileUtilityService)ServiceManager.Services.GetService(typeof(FileUtilityService));
				
					switch(DriveObject.GetDriveType(driveName)) 
					{
						case DriveType.Removeable:
							node.ImageIndex = node.SelectedImageIndex = 2;
							break;
						case DriveType.Fixed:
							node.ImageIndex = node.SelectedImageIndex = 3;
							break;
						case DriveType.Cdrom:
							node.ImageIndex = node.SelectedImageIndex = 4;
							break;
						case DriveType.Remote:
							node.ImageIndex = node.SelectedImageIndex = 5;
							break;
						default:
							node.ImageIndex = node.SelectedImageIndex = 3;
							break;
					}
				}
			
				foreach (string directory in Directory.GetDirectories(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory))) 
				{
					TreeNode node = rootNode.Nodes.Add(Path.GetFileName(directory));
					node.Tag = directory;
					node.ImageIndex = node.SelectedImageIndex = 0;
					node.Nodes.Add(new TreeNode(""));
				}
			
				rootNode.Expand();
				computerNode.Expand();
			
				InitializeComponent();
			}