public async Task GetLoginForDemo_NoUserAuthenticated_ReturnsLoginCodeForRepositoryWriteUser()
        {
            //Arrange
            var readUser  = new AmazonUser();
            var writeUser = new AmazonUser();

            var fakeMediator = Substitute.For <IMediator>();

            fakeMediator
            .Send(Arg.Is <EnsureRepositoryWithNameCommand>(args => args.Name == "demo"))
            .Returns(new RepositoryResponse(
                         "some-repository-name",
                         "some-repository-url",
                         readUser,
                         writeUser));

            fakeMediator
            .Send(Arg.Is <GetRepositoryLoginForUserQuery>(args => args.AmazonUser == writeUser))
            .Returns(new RepositoryLoginResponse(
                         "some-username",
                         "some-password"));

            var controller = new RegistryController(fakeMediator);

            //Act
            var loginResponse = await controller.GetLoginForDemo();

            var loginObject = loginResponse.ToObject <LoginResponse>();

            //Assert
            Assert.AreEqual("some-repository-url", loginObject.Url);
            Assert.AreEqual("some-username", loginObject.Username);
            Assert.AreEqual("some-password", loginObject.Password);
        }
        public WhenPuttingDeviceMetadata()
        {
            _registry = new Mock <IDeviceRegistry>();
            _registry.Setup(x => x.AddOrUpdateAsync(It.IsAny <DeviceInfo>()))
            .ReturnsAsync(true);

            _controller = new RegistryController(_registry.Object);
        }
Пример #3
0
        /// <summary>
        /// Saves the property reg action.
        /// </summary>
        /// <param name="propInfo">The prop info.</param>
        /// <returns></returns>
        protected void SavePropertyRegAction(PropertyInfo propInfo, object owner)
        {
            RegistryController regConn = new RegistryController(SettingRegKey);
            object             value   = Type2ConfigPropType.ConvertType2Type(propInfo.PropertyType,
                                                                              propInfo.GetValue(owner, null));

            if (value != null)
            {
                regConn.WriteRegKey(propInfo.Name, value != null ? value.ToString() : string.Empty);
            }
        }
Пример #4
0
        public WhenGettingDeviceMetadata()
        {
            _registry = new Mock <IDeviceRegistry>();

            _registry.Setup(x => x.FindAsync(DEVICE_ID))
            .ReturnsAsync(new DeviceInfo {
                DeviceId = DEVICE_ID
            });

            _controller = new RegistryController(_registry.Object);
        }
Пример #5
0
        /// <summary>
        /// Loads the property reg action.
        /// </summary>
        /// <param name="propInfo">The prop info.</param>
        /// <returns></returns>
        protected void LoadPropertyRegAction(PropertyInfo propInfo, object owner)
        {
            RegistryController regConn = new RegistryController(SettingRegKey);

            object value = Type2ConfigPropType.ConvertType2Type(propInfo.PropertyType,
                                                                regConn.ReadRegKey(propInfo.Name, null));

            if (value != null)
            {
                propInfo.SetValue(owner, value, null);
            }
        }
Пример #6
0
        private void PopulateRecents()
        {
            this.mRecentListview.Items.Clear();
            List <String> nRecents = RegistryController.GetRecents();

            foreach (String nFilename in nRecents)
            {
                if (File.Exists(nFilename))
                {
                    this.mRecentListview.Items.Add(nFilename);
                }
            }
        }
Пример #7
0
        private void mRecentListview_ItemActivate(object sender, EventArgs e)
        {
            ListViewItem item = ((ListView)sender).FocusedItem;

            if (File.Exists(item.Text))
            {
                Profile nProfile = Serializer.GetObjectFromFile <Profile>(item.Text);
                nProfile.Filename = item.Text;
                ProfileController.getInstance().Init(nProfile);
                RegistryController.Add(this.mOpenFileDialog.FileName);
                this.DialogResult = DialogResult.OK;
                this.Close();
            }
            else
            {
                RegistryController.Remove(item.Text);
                PopulateRecents();
            }
        }
Пример #8
0
 private void mOpenProfileButton_Click(object sender, EventArgs e)
 {
     try
     {
         DialogResult nResult = this.mOpenFileDialog.ShowDialog();
         if (nResult == DialogResult.OK)
         {
             Profile nProfile = Serializer.GetObjectFromFile <Profile>(this.mOpenFileDialog.FileName);
             nProfile.Filename = this.mOpenFileDialog.FileName;
             ProfileController.getInstance().Init(nProfile);
             RegistryController.Add(this.mOpenFileDialog.FileName);
             this.DialogResult = DialogResult.OK;
             this.Close();
         }
     }
     catch (IOException)
     {
     }
 }
Пример #9
0
        public async Task ValidateOnBehalfOfCallTest(string actorDeviceId, string authChain, string targetDeviceId, string targetAuthChain, bool authResult, HttpStatusCode expectedResult)
        {
            // Setup
            var identitiesCache          = Mock.Of <IDeviceScopeIdentitiesCache>(c => c.GetAuthChain(targetDeviceId) == Task.FromResult(Option.Maybe(targetAuthChain)));
            var edgeHub                  = Mock.Of <IEdgeHub>(e => e.GetDeviceScopeIdentitiesCache() == identitiesCache);
            var httpContext              = new DefaultHttpContext();
            var httpRequestAuthenticator = Mock.Of <IHttpRequestAuthenticator>(a => a.AuthenticateAsync(actorDeviceId, Option.Some(Constants.EdgeHubModuleId), Option.Some(authChain), httpContext) == Task.FromResult(new HttpAuthResult(authResult, string.Empty)));

            // Act
            Try <string> authChainResult = await RegistryController.AuthorizeOnBehalfOf(actorDeviceId, authChain, "test", httpContext, edgeHub, httpRequestAuthenticator);

            // Verify
            if (expectedResult == HttpStatusCode.OK)
            {
                Assert.True(authChainResult.Success);
                Assert.Equal(targetAuthChain, authChainResult.Value);
            }
            else
            {
                Assert.False(authChainResult.Success);
                Assert.IsType <RegistryController.ValidationException>(authChainResult.Exception);
                Assert.Equal(expectedResult, ((RegistryController.ValidationException)authChainResult.Exception).StatusCode);
            }
        }
Пример #10
0
        private bool SaveFile(bool aSaveAs = false)
        {
            try
            {
                if (this.mTransactionOLV.Items.Count <= 0)
                {
                    MessageBox.Show("Nothing to save!");
                    return(false);
                }

                if (String.IsNullOrEmpty(this.Profile.Filename) || aSaveAs)
                {
                    DialogResult nResult = this.mSaveFileDialog.ShowDialog();
                    if (nResult == DialogResult.OK)
                    {
                        this.Profile.Filename = this.mSaveFileDialog.FileName;
                    }
                    else
                    {
                        return(false);
                    }
                }

                ProfileController.getInstance().SaveRecords(this.RecordModel);
                ProfileController.getInstance().SaveCodes(this.CodeModel);
                ProfileController.getInstance().Save(this.Profile.Filename);
                RegistryController.Add(this.Profile.Filename);
                this.mStatusLabel.Text = "Saved";

                return(true);
            }
            catch (IOException)
            {
                return(false);
            }
        }
        public MaterialRepository Build(ElectricaSettings electricaSettings, MaterialType materialType, bool includeAnnul, string profileID, bool needShowError)
        {
            MaterialRepository materialRepository = null;

            DataSourceProfile profile = electricaSettings.DataSourceSettings.GetProfileById(profileID);

            if (profile == null)
            {
                if (needShowError)
                {
                    MsgBox.Show(Resources.DataProfileDoesNotExist, MessageBoxButton.OK, MessageBoxImage.Error);
                }
                return(materialRepository);
            }

            string message = string.Empty;

            var dataSourceAnalizer = new DataSourceAnalizer();
            var result             = dataSourceAnalizer.AnalizeDataSource(profile, out message);

            if (!result && needShowError)
            {
                logger.Error(message);

                MsgBox.Show(message, MessageBoxButton.OK, MessageBoxImage.Error);
            }
            else
            {
                if (profile.Type == DataSourceType.SwePdm)
                {
                    try
                    {
                        var dataBaseProfile = profile as DataBaseProfile;

                        if (dataBaseProfile != null)
                        {
                            var pdmController = new PdmController();

                            string vaultName = pdmController.GetVaultNameByPath(dataBaseProfile.Path);

                            var registryService    = new RegistryService();
                            var registryController = new RegistryController(registryService);

                            string dbName     = "";
                            var    serverName = registryController.GetDBName(vaultName, out dbName);

                            var databaseParameters = new DatabaseParameters()
                            {
                                DataSource     = serverName,
                                InitialCatalog = dbName,
                                UserID         = dataBaseProfile.UserName,
                                Password       = dataBaseProfile.Password
                            };

                            var rootFolderPath = pdmController.GetRootFolderOfVault(vaultName);

                            var folder = dataBaseProfile.Path.Substring(rootFolderPath.Count());

                            var pdmDBService = new PdmDBService();

                            var dataContext     = pdmDBService.GetDbContext(databaseParameters);
                            var pdmModelBuilder = new PdmModelBuilder();

                            MaterialRepository materialRepos = null;

                            materialRepos = pdmModelBuilder.Build(dataContext, folder, materialType,
                                                                  dataBaseProfile.UseLastReduction,
                                                                  dataBaseProfile.AnnulVariableName,
                                                                  includeAnnul);



                            materialRepository = materialRepos;
                        }
                    }
                    catch (Exception ex)
                    {
                        logger.ErrorException(Resources.PdmDataBaseError, ex);
                        if (needShowError)
                        {
                            MsgBox.Show(Resources.PdmDataBaseError, MessageBoxButton.OK, MessageBoxImage.Error);
                        }
                    }
                }

                if (profile.Type == DataSourceType.SdfFile)
                {
                    try
                    {
                        var dataBasePath = profile.Path;

                        var sdfDBService = new SdfDBService();

                        using (var connection = sdfDBService.GetConnection(dataBasePath))
                        {
                            var sdfModelBuilder = new SdfModelBuilder();

                            MaterialRepository materialRepos = null;

                            materialRepos = sdfModelBuilder.Build(connection, materialType, includeAnnul);

                            materialRepository = materialRepos;
                        }
                    }
                    catch (Exception ex)
                    {
                        logger.ErrorException(Resources.SdfDataBaseError, ex);
                        if (needShowError)
                        {
                            MsgBox.Show(Resources.SdfDataBaseError, MessageBoxButton.OK, MessageBoxImage.Error);
                        }
                    }
                }
            }

            if (materialRepository != null && materialRepository.Materials.Count == 0)
            {
                logger.Warn("Профиль данных " + profile.Name + "(" + profile.Path + ") не найдены материалы. Тип материала: " + materialType + ", выбирать аннулированные: " + includeAnnul);
                MessageBox.Show("В указанном источнике данных не обнаружены материалы.",
                                Constants.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                materialRepository = null;
            }

            return(materialRepository);
        }
        public ColorRepository BuildColorRepository(ElectricaSettings electricaSettings)
        {
            //TODO DB использовать DataSourceAnalizer как в функции Build
            //TODO DB понять нужны ли вообще репозитории цветов
            ColorRepository colorRepository = null;

            var defaultProfile = electricaSettings.DataSourceSettings.GetDefaultProfile();

            if (defaultProfile.Type == DataSourceType.SwePdm)
            {
                try
                {
                    var dataBaseProfile = defaultProfile as DataBaseProfile;

                    if (dataBaseProfile != null)
                    {
                        string vaultName = string.Empty;

                        var pdmController = new SwePdmServices();

                        if (pdmController.ObjectSaveInSwePdm(dataBaseProfile.Path, out vaultName))
                        {
                            var registryService    = new RegistryService();
                            var registryController = new RegistryController(registryService);

                            string dbName     = "";
                            var    serverName = registryController.GetDBName(vaultName, out dbName);

                            var databaseParameters = new DatabaseParameters()
                            {
                                DataSource     = serverName,
                                InitialCatalog = dbName,
                                UserID         = dataBaseProfile.UserName,
                                Password       = dataBaseProfile.Password
                            };

                            string warning = string.Empty;

                            var pdmDBService          = new PdmDBService();
                            var isConnectionAvaliable = pdmDBService.IsConnectionAvaliable(databaseParameters, out warning);

                            if (isConnectionAvaliable)
                            {
                                var dataContext     = pdmDBService.GetDbContext(databaseParameters);
                                var pdmModelBuilder = new PdmModelBuilder();

                                ColorRepository colorRepos = pdmModelBuilder.BuildColorRepository(dataContext);

                                colorRepository = colorRepos;
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    logger.ErrorException(Resources.PdmDataBaseError, ex);
                    MessageBox.Show(Resources.PdmDataBaseError, Constants.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }


            if (defaultProfile.Type == DataSourceType.SdfFile)
            {
                var dataBasePath = defaultProfile.Path;

                var sdfDBService = new SdfDBService();

                var connection = sdfDBService.GetConnection(dataBasePath);

                var sdfModelBuilder = new SdfModelBuilder();

                ColorRepository colorRepos = sdfModelBuilder.BuildColorRepository(connection);


                colorRepository = colorRepos;
            }


            return(colorRepository);
        }
Пример #13
0
 public RegistryView()
 {
     Console.Title = "Member Registry";
     _controller   = new RegistryController();
     _render       = new ViewRenderer();
 }