public async void Handle_CouldNotCreateOrganisationResearcher_Test()
        {
            Organisation organisation = new Organisation()
            {
            };

            this._unitOfUnitMock.Setup(mock => mock.OrganisationRepository.Create(It.IsAny <Organisation>()))
            .Returns(organisation);

            OrganisationResearcher nullItem = null;

            this._unitOfUnitMock.Setup(mock =>
                                       mock.RelationsRepository.CreateOrganisationResearcher(It.IsAny <OrganisationResearcher>()))
            .Returns(nullItem);

            CreateOrganisationCommand command = new CreateOrganisationCommand(new OrganisationWithChildren()
            {
                Created            = DateTime.Now,
                OrganisationName   = "s",
                Address            = "s",
                MainOrganisationId = 1,
                ZipCode            = "6700",
                City        = "es",
                Country     = "sad",
                Researchers = new List <ResearcherModel>()
                {
                    new ResearcherModel()
                }
            });

            var handler = new CreateOrganisationHandler(this._unitOfUnitMock.Object);
            var result  = await handler.Handle(command, new CancellationTokenSource().Token);

            Assert.Null(result);
        }
Example #2
0
        public async void Handle_FSucces_Test()
        {
            Organisation organisationNull = new Organisation();

            this._unitOfUnitMock.Setup(mock => mock.OrganisationRepository.Update(It.IsAny <Organisation>()))
            .Returns(organisationNull);
            this._unitOfUnitMock
            .Setup(mock => mock.RelationsRepository.DeleteAllOrganisationResearchers(It.IsAny <int>()))
            .Returns(true);

            OrganisationResearcher nullItem = new OrganisationResearcher();

            this._unitOfUnitMock.Setup(mock =>
                                       mock.RelationsRepository.CreateOrganisationResearcher(It.IsAny <OrganisationResearcher>()))
            .Returns(nullItem);

            this._unitOfUnitMock.Setup(mock => mock.RelationsRepository.DeleteAllOrganisationsProjects(It.IsAny <int>()))
            .Returns(true);

            OrganisationProject nullProejct = new OrganisationProject();

            this._unitOfUnitMock
            .Setup(mock => mock.RelationsRepository.CreateOrganisationProject(It.IsAny <OrganisationProject>()))
            .Returns(nullProejct);

            UpdateOrganisationCommand command = new UpdateOrganisationCommand(new OrganisationWithChildren()
            {
                Created            = DateTime.Now,
                OrganisationName   = "s",
                Address            = "s",
                MainOrganisationId = 1,
                ZipCode            = "6700",
                City        = "es",
                Country     = "sad",
                Researchers = new List <ResearcherModel>()
                {
                    new ResearcherModel()
                },
                Projects = new List <ProjectModel>()
                {
                    new ProjectModel()
                }
            });

            var handler = new UpdateOrganisationHandler(this._unitOfUnitMock.Object);

            var result = await handler.Handle(command, new CancellationTokenSource().Token);

            Assert.True((bool)result);
        }
Example #3
0
        public OrganisationResearcher CreateOrganisationResearcher(OrganisationResearcher entity)
        {
            try
            {
                string createOrganisationResearcherQuery = "INSERT INTO EIC.dbo.RESEARCHERORGANISATION (Created,                                                       ResearcherId, OrganisationId, TitleId) " +
                                                           "VALUES (@Created, @ResearcherId, @OrganisationId, @TitleId); " +
                                                           "SELECT SCOPE_IDENTITY();";
                var result =
                    this._connection.ExecuteScalar <int>(createOrganisationResearcherQuery, entity, this._transaction);
                if (result <= 0)
                {
                    return(null);
                }

                entity.Id = result;
                return(entity);
            }
            catch (Exception e)
            {
                return(null);
            }
        }
        public async Task <object> Handle(CreateOrganisationCommand request, CancellationToken cancellationToken)
        {
            try
            {
                var organisation = new Organisation();
                organisation.Created          = DateTime.Now;
                organisation.OrganisationName = request.Model.OrganisationName;
                organisation.Address          = request.Model.Address;
                if (request.Model.MainOrganisationId != -1)
                {
                    organisation.MainOrganisationId = request.Model.MainOrganisationId;
                }
                organisation.IsMainOrganisation = request.Model.IsMainOrganisation;
                organisation.EICColaboration    = request.Model.EICColaboration;
                organisation.ZipCode            = request.Model.ZipCode;
                organisation.City    = request.Model.City;
                organisation.Country = request.Model.Country;

                var result = this._organisationRepository.Create(organisation);
                if (result == null)
                {
                    this._unitOfWork.Rollback();
                    return(null);
                }

                if (request.Model.Researchers != null && request.Model.Researchers.Any())
                {
                    foreach (var item in request.Model.Researchers)
                    {
                        var relation = new OrganisationResearcher();
                        relation.Created        = DateTime.Now;
                        relation.OrganisationId = result.Id;
                        relation.ResearcherId   = item.ResearcherId;

                        var result1 = this._relationsRepository.CreateOrganisationResearcher(relation);
                        if (result1 == null)
                        {
                            this._unitOfWork.Rollback();
                            return(null);
                        }
                    }
                }

                if (request.Model.Projects != null && request.Model.Projects.Any())
                {
                    foreach (var item in request.Model.Projects)
                    {
                        var relation = new OrganisationProject();
                        relation.Created        = DateTime.Now;
                        relation.OrganisationId = result.Id;
                        relation.ProjectId      = item.ProjectId;

                        var result2 = this._relationsRepository.CreateOrganisationProject(relation);
                        if (result2 == null)
                        {
                            this._unitOfWork.Rollback();
                            return(null);
                        }
                    }
                }

                this._unitOfWork.Commit();
                this._unitOfWork.Dispose();
                this._unitOfWork.QueueUserActivityLogItem(ActivityTypes.Activities.OrganisationCreated, result.Id);
                return(true);
            }
            catch (Exception e)
            {
                this._unitOfWork.Rollback();
                this._unitOfWork.QueueErrorLogItem(
                    ActivityTypes.Activities.OrganisationCreated,
                    ActivityTypes.Areas.CreateOrganisationHandler,
                    e.Message);
                return(null);
            }
        }