コード例 #1
0
        public async void CreateProject()
        {
            var projectFormValidator = new ProjectFormValidator();
            var projectModel         = new ProjectModel(_customerAccess)
            {
                Name         = ProjectName,
                Comment      = Comment,
                CustomerName = SelectedCustomer
            };

            var validationResult = projectFormValidator.Validate(projectModel);

            if (validationResult.IsValid)
            {
                var projectEntity = await projectModel.ConvertToProjectEntity();

                var addProjectResult = await _projectAccess.AddProject(projectEntity);

                if (addProjectResult)
                {
                    _events.PublishOnUIThread(new NewProjectAddedEvent());
                    TryClose();
                }
                else
                {
                    MessageBox.Show("Wystąpił błąd podczas zapisu danych. Spróbuj ponownie");
                }
            }
            else
            {
                MessageBox.Show("Błąd walidacji danych");
            }
        }
コード例 #2
0
        public async void SaveButton()
        {
            var projectModel = new ProjectModel(_customerAccess)
            {
                Id           = project.Id,
                Name         = ProjectName,
                Status       = SelectedProjectStatus,
                CustomerName = SelectedProjectCustomer,
                Comment      = Comment
            };

            var projectFormValidator = new ProjectFormValidator();
            var validationResult     = projectFormValidator.Validate(projectModel);

            // For tests
            ProjectValidationResult = validationResult.IsValid;

            if (validationResult.IsValid)
            {
                var projectEntity = await projectModel.ConvertToProjectEntity();

                var resultTask = await _projectAccess.UpdateProject(projectEntity);

                // For tests
                UpdateProjectResult = resultTask;

                if (resultTask)
                {
                    _events.PublishOnUIThread(new ChangedProjectCredentialsEvent(project.Id));
                    TryClose();
                }
                else
                {
                    MessageBox.Show("Wystąpił błąd podczas zapisu danych. Spróbuj ponownie");
                }
            }
            else
            {
                MessageBox.Show("Błąd walidacji danych");
            }
        }
コード例 #3
0
        public async void ConvertToProjectEntity_Test()
        {
            // Arrange
            int sampleCustomerId = 13;

            var customerAccessMock = new Mock <ICustomerAccess>();

            customerAccessMock
            .Setup(x => x.GetCustomerId(It.IsAny <string>()))
            .ReturnsAsync(sampleCustomerId);

            int    sampleId           = 4;
            string sampleName         = "sampleName";
            string sampleStatus       = "Open";
            string sampleComment      = "someComment";
            string sampleCustomerName = "someCustomerName";

            ProjectModel projectModel = new ProjectModel(customerAccessMock.Object)
            {
                Id           = sampleId,
                Name         = sampleName,
                Status       = sampleStatus,
                Comment      = sampleComment,
                CustomerName = sampleCustomerName
            };

            // Act
            var projectEntity = await projectModel.ConvertToProjectEntity();

            // Assert
            Assert.Equal(sampleId, projectEntity.Id);
            Assert.Equal(sampleName, projectEntity.Name);
            Assert.Equal(sampleStatus, projectEntity.Status);
            Assert.Equal(sampleComment, projectEntity.Comment);
            Assert.Equal(sampleCustomerId, projectEntity.CustomerID);
            Assert.True(projectEntity.GetType() == typeof(DataAccess.Entities.Project));
            Assert.Null(projectEntity.Customer);
        }