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); }
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); }
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); } }