Esempio n. 1
0
 private void Apply(ProjectCreated @event)
 {
     _projects.Add(@event.ProjectId);
     LastModified        = @event.OccurredAt;
     LastModifiedBy      = @event.UserId;
     LastModifiedVersion = CalculateLastModifiedVersion();
 }
Esempio n. 2
0
        public void Process(ProjectCreated @event)
        {
            var project = _projects.GetById(@event.Id);

            project.Name = @event.Name;
            _projects.Save(project);
        }
        public async Task Handle_ProjectCreatedEvent_CreatesProject()
        {
            // arrange
            var message = new ProjectCreated
            {
                Id          = Guid.NewGuid(),
                Version     = 1,
                TimeStamp   = DateTimeOffset.Now,
                Name        = "New Project",
                Description = "A new Project Scription"
            };

            var target = new ReadModelEventHandler(this.context.DbContext, this.context.Mapper);

            // act
            await target.Handle(message);

            // assert
            var project = this.context.DbContext.Projects.FirstOrDefault(p => p.Id == message.Id);

            Assert.NotNull(project);
            Assert.Equal(message.Version, project.Version);
            Assert.Equal(message.TimeStamp, project.TimeStamp);
            Assert.Equal(message.Name, project.Name);
            Assert.Equal(message.Description, project.Description);
            Assert.Null(project.Description);
        }
Esempio n. 4
0
 public void Process(ProjectCreated projectCreated)
 {
     _projects.Save(new Project()
     {
         Id   = projectCreated.Id,
         Name = projectCreated.Name
     });
 }
 private void OnProjectCreated(ProjectCreated studioProject)
 {
     if (studioProject != null)
     {
         _projectControllerService.OpenProjectInFilesView(studioProject.CreatedProject);
     }
     Close();
 }
Esempio n. 6
0
 public void Apply(ProjectCreated e)
 {
     Id = e.Id;
     Name = e.Name;
     Description = e.Description;
     ClientId = e.ClientId;
     CreatedOn = e.CreatedOn;
 }
Esempio n. 7
0
        void OnProjectCreated()
        {
            ProjectCreated?.Invoke(this, EventArgs.Empty);

            if (IdeServices.DesktopService.AccessibilityInUse)
            {
                var announcement = GettextCatalog.GetString("{0} successfully created", SelectedTemplate.Name);
                IdeServices.DesktopService.MakeAccessibilityAnnouncement(announcement);
            }
        }
        public void Process(ProjectCreated @event)
        {
            var project = _projects.GetById(@event.Id);

            project.NationalSociety    = _nationalSocieties.GetById(@event.NationalSocietyId);
            project.DataOwner          = _users.GetById(@event.DataOwnerId);
            project.Name               = @event.Name;
            project.SurveillanceContex = @event.SurveillanceContex;
            _projects.Save(project);
        }
Esempio n. 9
0
        public void Process(ProjectCreated @event)
        {
            var project = new Project
            {
                Id   = @event.Id,
                Name = @event.Name
            };

            _projects.Insert(project);
        }
Esempio n. 10
0
        public Project(Guid id, string title)
        {
            if (string.IsNullOrWhiteSpace(title))
            {
                throw new ArgumentException(nameof(title));
            }

            State = new ProjectState(id, title);
            var projectCreated = new ProjectCreated(id, title);

            _events.Add(projectCreated);
        }
Esempio n. 11
0
        public Project(Guid id, string name, string description)
        {
            this.Id            = id;
            this.Schema        = new ModelDefinition(this.eventAggregator);
            this.Configuration = new Configuration(this.eventAggregator, this.Schema);

            var e = new ProjectCreated {
                Id = id, Name = name, Description = description
            };

            this.ApplyChange(e);
        }
        protected override void Handle(Commands.CreateProject command)
        {
            var dateTime = DateTime.UtcNow;

            var @event = new ProjectCreated(
                command.ProjectId,
                command.ProjectOwnerId,
                command.Name,
                dateTime);

            _saveEventService.SaveEvent(@event, dateTime);
        }
Esempio n. 13
0
        public void Process(ProjectCreated @event)
        {
            var project = new Project
            {
                Id = @event.Id,
                NationalSociety     = _nationalSocieties.GetById(@event.NationalSocietyId),
                DataOwner           = _users.GetById(@event.DataOwnerId),
                Name                = @event.Name,
                SurveillanceContext = @event.SurveillanceContext
            };

            _projects.Save(project);
        }
        public void ApplyEvent(ProjectCreated @event)
        {
            var readModel = new ProjectReadModel
            {
                ProjectId           = @event.ProjectId,
                ProjectName         = @event.ProjectName,
                ProjectAbbreviation = @event.ProjectAbbreviation,
                Description         = @event.Description,
                ProjectType         = @event.ProjectType.ToProjectTypeString(),
                IsCompleted         = false
            };

            _projectRepository.Save(readModel, justCreated: true);
        }
Esempio n. 15
0
        private void Apply(ProjectCreated e)
        {
            Id        = e.Id;
            Created   = e.OccurredAt;
            CreatedBy = e.UserId;

            Name               = e.Name;
            _environments      = new List <Environment>();
            _toggles           = new List <Toggle>();
            _environmentStates = new List <EnvironmentState>();

            LastModified        = e.OccurredAt;
            LastModifiedBy      = e.UserId;
            LastModifiedVersion = 0;
        }
Esempio n. 16
0
        public async Task projectcreated_event_fails_when_project_with_id_already_exists()
        {
            var projectId = "projectKey";

            var project = new Project(projectId);
            await _projectsMongoDbFixture.InsertAsync(project.AsDocument());

            var externalEvent = new ProjectCreated(projectId);

            // Check if exception is thrown

            _eventHandler
            .Awaiting(c => c.HandleAsync(externalEvent))
            .Should().Throw <ProjectAlreadyCreatedException>();
        }
Esempio n. 17
0
        public void Process(ProjectCreated @event)
        {
            var project = new Project
            {
                Id = @event.Id,
                NationalSociety     = _nationalSocieties.GetById(@event.NationalSocietyId),
                DataOwner           = _users.GetById(@event.DataOwnerId),
                Name                = @event.Name,
                SurveillanceContext = (ProjectSurveillanceContext)@event.SurveillanceContext,
                HealthRisks         = new ProjectHealthRisk[0],
                DataVerifiers       = new User[0],
                SmsProxy            = ""
            };

            _projects.Insert(project);
        }
Esempio n. 18
0
        public async Task projectcreated_event_should_add_project_with_given_data_to_database()
        {
            var projectId = "projectKey";

            var externalEvent = new ProjectCreated(projectId);

            // Check if exception is thrown

            _eventHandler
            .Awaiting(c => c.HandleAsync(externalEvent))
            .Should().NotThrow();


            var project = await _projectsMongoDbFixture.GetAsync(externalEvent.ProjectId);

            project.Should().NotBeNull();
            project.Id.Should().Be(projectId);
        }
Esempio n. 19
0
        /// <summary>
        /// Creates the project.
        /// </summary>
        /// <param name="name">The name of the project.</param>
        /// <param name="description">The description of the project.</param>
        /// <param name="projectOrdered">The project ordered.</param>
        /// <param name="receivingOrganization">The receiving organization of the project.</param>
        /// <param name="mandatory">if set to <c>true</c> project is mandatory.</param>
        /// <param name="startDate">The start date of the project.</param>
        /// <param name="endDate">The end date of the project.</param>
        /// <param name="department">The department of the project.</param>
        /// <param name="classification">The classification of the project.</param>
        /// <param name="owner">The owner of the project.</param>
        /// <param name="manager">The manager of the project.</param>
        public void CreateProject(string name, string description, string projectOrdered, string receivingOrganization, bool mandatory,
                                  DateTime startDate, DateTime endDate, Department department, PpsClassification classification, UserId owner, UserId manager)
        {
            this.Name                  = name;
            this.Description           = description;
            this.ProjectOrderer        = projectOrdered;
            this.RecievingOrganization = receivingOrganization;
            this.Mandatory             = mandatory;
            this.StartDate             = startDate;
            this.EndDate               = endDate;
            this.Department            = department;
            this.Classification        = classification;
            this.Owner                 = owner;
            this.Manager               = manager;
            this.IsNew                 = true;
            this.IsDeleted             = false;
            this.TeamMembers           = new List <TeamMember>();

            var @event = new ProjectCreated(this.Id);

            this.ApplyChange(@event);
        }
Esempio n. 20
0
 public void Process(ProjectCreated @event)
 {
     _projects.SaveProject(@event.Id, @event.Name);
 }
Esempio n. 21
0
 private void Apply(ProjectCreated e)
 {
     Name = e.Name;
 }
Esempio n. 22
0
 protected void OnCreateProject(object sender, ProjectArgs e)
 {
     ProjectCreated.Invoke(sender, e);
 }
Esempio n. 23
0
        public async Task Create()
        {
            projectCreated = new TaskCompletionSource <bool> ();

            if (wizardProvider.HasWizard)
            {
                wizardProvider.BeforeProjectIsCreated();
            }

            if (!await CreateProject())
            {
                projectCreated.SetResult(false);
                ProjectCreationFailed?.Invoke(this, EventArgs.Empty);
                return;
            }

            Solution parentSolution = null;

            if (ParentFolder == null)
            {
                //NOTE: we can only create one solution, so if the first item is a solution, it's the only item
                parentSolution = processedTemplate.WorkspaceItems.FirstOrDefault() as Solution;
                if (parentSolution != null)
                {
                    if (parentSolution.RootFolder.Items.Count > 0)
                    {
                        currentEntries = new List <SolutionItem> (parentSolution.GetAllSolutionItems());
                    }
                    ParentFolder = parentSolution.RootFolder;
                }
            }
            else
            {
                parentSolution = ParentFolder.ParentSolution;
                currentEntries = processedTemplate.WorkspaceItems.OfType <SolutionItem> ().ToList();
            }

            // New combines (not added to parent combines) already have the project as child.
            if (!projectConfiguration.CreateSolution)
            {
                // Make sure the new item is saved before adding. In this way the
                // version control add-in will be able to put it under version control.
                foreach (SolutionItem currentEntry in currentEntries)
                {
                    var eitem = currentEntry as SolutionItem;
                    if (eitem != null)
                    {
                        // Inherit the file format from the solution
                        eitem.ConvertToFormat(ParentFolder.ParentSolution.FileFormat);

                        var project = eitem as Project;
                        if (project != null)
                        {
                            // Remove any references to other projects and add them back after the
                            // project is saved because a project reference cannot be resolved until
                            // the project has a parent solution.
                            List <ProjectReference> projectReferences = GetProjectReferences(project);
                            if (projectReferences.Any())
                            {
                                project.Items.RemoveRange(projectReferences);
                            }

                            await IdeApp.ProjectOperations.SaveAsync(eitem);

                            if (projectReferences.Any())
                            {
                                project.Items.AddRange(projectReferences);
                            }
                        }
                    }
                    ParentFolder.AddItem(currentEntry, true);
                }
            }
            else
            {
                string solutionFileName = Path.Combine(projectConfiguration.SolutionLocation, finalConfigurationPage.SolutionFileName);
                if (File.Exists(solutionFileName))
                {
                    if (!MessageService.Confirm(GettextCatalog.GetString("File {0} already exists. Overwrite?", solutionFileName), AlertButton.OverwriteFile))
                    {
                        ParentFolder = null;                        //Reset process of creating solution
                        projectCreated.SetResult(false);
                        return;
                    }
                    File.Delete(solutionFileName);
                }
            }

            dialog.CloseDialog();

            try {
                if (ParentFolder != null)
                {
                    await IdeApp.ProjectOperations.SaveAsync(ParentFolder.ParentSolution);
                }
                else
                {
                    await IdeApp.ProjectOperations.SaveAsync(processedTemplate.WorkspaceItems);
                }

                CreateVersionControlItems();

                if (OpenSolution)
                {
                    DisposeExistingNewItems();
                    TemplateWizard wizard = wizardProvider.CurrentWizard;
                    if (await OpenCreatedSolution(processedTemplate))
                    {
                        var sol = IdeApp.Workspace.GetAllSolutions().FirstOrDefault();
                        if (sol != null)
                        {
                            if (wizard != null)
                            {
                                wizard.ItemsCreated(new [] { sol });
                            }
                            InstallProjectTemplatePackages(sol);
                        }
                    }
                }
                else
                {
                    // The item is not a solution being opened, so it is going to be added to
                    // an existing item. In this case, it must not be disposed by the dialog.
                    RunTemplateActions(processedTemplate);
                    if (wizardProvider.HasWizard)
                    {
                        wizardProvider.CurrentWizard.ItemsCreated(processedTemplate.WorkspaceItems);
                    }
                    if (ParentFolder != null)
                    {
                        InstallProjectTemplatePackages(ParentFolder.ParentSolution);
                    }
                }

                wizardProvider.Dispose();
                IsNewItemCreated = true;
                UpdateDefaultSettings();

                projectCreated.SetResult(true);
                await Runtime.RunInMainThread(() => ProjectCreated?.Invoke(this, EventArgs.Empty));
            } catch (Exception ex) {
                projectCreated.SetException(ex);
                throw;
            }
        }
Esempio n. 24
0
 private void Apply(ProjectCreated @event)
 {
 }
Esempio n. 25
0
 protected virtual void OnProjectCreated(ProjectCreatedEventArgs e)
 {
     ProjectCreated?.Invoke(this, e);
 }
Esempio n. 26
0
 private void Apply(ProjectCreated e)
 {
     this.Id   = e.Id;
     this.Name = e.Name;
 }