Пример #1
0
 private static void MapTo(this OrganisationEntity entity, VerifiedOrganisation organisation, string parentFullName)
 {
     organisation.AccountManagerId = entity.OrganisationalUnitEntity.accountManagerId;
     organisation.VerifiedById     = entity.OrganisationalUnitEntity.verifiedById;
     organisation.ContactDetails   = entity.OrganisationalUnitEntity.Map();
     organisation.SetParent(entity.OrganisationalUnitEntity.parentId, parentFullName);
 }
        public async Task <IActionResult> PutOrganisationEntity(int id, OrganisationEntity organisationEntity)
        {
            if (id != organisationEntity.ID)
            {
                return(BadRequest());
            }

            _context.Entry(organisationEntity).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!OrganisationEntityExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
 public OrganisationEntityBuilder()
 {
     //Default
     _organisationEntity = new OrganisationEntity
     {
         Id   = Guid.NewGuid(),
         Name = "Organis1"
     };
 }
        public async Task <OrganisationEntity> UpdateOrganisationByIdAsync(
            OrganisationEntity organisationEntity,
            CancellationToken token)
        {
            _dbContext.Organisations.Update(organisationEntity);
            await this._dbContext.SaveChangesAsync(token);

            return(organisationEntity);
        }
        public async Task <OrganisationEntity> AddOrganisationAsync(
            OrganisationEntity organisationEntity,
            CancellationToken token)
        {
            await _dbContext.Organisations.AddAsync(organisationEntity, token);

            await _dbContext.SaveChangesAsync(token);

            return(organisationEntity);
        }
Пример #6
0
        public static OrganisationEntity Map(this Organisation organisation)
        {
            var entity = new OrganisationEntity
            {
                id = organisation.Id,
            };

            organisation.MapTo(entity);
            entity.OrganisationalUnitEntity = organisation is VerifiedOrganisation ? ((VerifiedOrganisation)organisation).Map() : null;
            return(entity);
        }
Пример #7
0
        private static async Task InsertSupplierAsync(SupplierTable supplierTable)
        {
            var organisations = (await OrganisationEntity.FetchAllAsync().ConfigureAwait(false)).ToList();

            await SupplierEntityBuilder.Create()
            .WithId(supplierTable.Id)
            .WithOrganisation(organisations.First(o => o.Name == supplierTable.OrganisationName).Id)
            .WithName(supplierTable.Id)
            .Build()
            .InsertAsync()
            .ConfigureAwait(false);
        }
 public OrganisationEntityBuilder()
 {
     organisationEntity = new OrganisationEntity
     {
         OrganisationId           = Guid.NewGuid(),
         Name                     = "Organisation Name",
         OdsCode                  = "Ods Code",
         PrimaryRoleId            = "ID 0",
         CatalogueAgreementSigned = false,
         AddressObject            = new Address(),
         LastUpdated              = DateTime.Now,
     };
 }
        private OrganisationEntity MapModelToEntity(OrganisationEdit model, OrganisationEntity enity = null)
        {
            if (enity == null)
            {
                enity = new OrganisationEntity();
            }

            enity.Name           = model.Name;
            enity.ApplicationIds = model.ApplicationIds;
            enity.Config         = model.Config;

            return(enity);
        }
Пример #10
0
        public static OrganisationEntity InsertOrganisation(DbContextOptions <DataContext> options)
        {
            var organisation = new OrganisationEntity {
                Id = Guid.NewGuid(), Name = "A Org 1", Config = new Model.Directory.Model.Organisation.Configuration.Config()
            };

            using (var context = new DataContext(options))
            {
                context.Organisation.Add(organisation);
                context.SaveChanges();
            }

            return(organisation);
        }
Пример #11
0
        public static Organisation Map(this OrganisationEntity entity, string parentFullName, Guid?affiliateId, ILocationQuery locationQuery)
        {
            if (entity.OrganisationalUnitEntity == null)
            {
                var organisation = new Organisation {
                    Id = entity.id, AffiliateId = affiliateId
                };
                entity.MapTo(organisation, locationQuery);
                return(organisation);
            }

            var verifiedOrganisation = new VerifiedOrganisation {
                Id = entity.id, AffiliateId = affiliateId
            };

            entity.MapTo(verifiedOrganisation, locationQuery);
            entity.MapTo(verifiedOrganisation, parentFullName);
            return(verifiedOrganisation);
        }
        public static async Task GivenSolutionsExist(Table table)
        {
            var organisations = await OrganisationEntity.FetchAllAsync().ConfigureAwait(false);

            foreach (var solutionTable in table.CreateSet <SolutionTable>())
            {
                await SolutionEntityBuilder.Create()
                .WithName(solutionTable.SolutionName)
                .WithId(solutionTable.SolutionID)
                .WithOnLastUpdated(solutionTable.LastUpdated)
                .WithOrganisationId(organisations.First(o => o.Name == solutionTable.OrganisationName).Id)
                .WithSupplierStatusId(solutionTable.SupplierStatusId)
                .WithPublishedStatusId(solutionTable.PublishedStatusId)
                .WithOnLastUpdated(solutionTable.LastUpdated != DateTime.MinValue ? solutionTable.LastUpdated : DateTime.UtcNow)
                .Build()
                .InsertAsync()
                .ConfigureAwait(false);
            }
        }
        public async Task <ActionResult <OrganisationEntity> > RegisterOrganisationAsync(OrganisationEntity organisationEntity)
        {
            _context.Organisations.Add(organisationEntity);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetOrganisationEntity", new { id = organisationEntity.ID }, organisationEntity));
        }
Пример #14
0
        public async Task GetPolicy_CheckScope()
        {
            var options = TestHelper.GetDbContext("GetPolicy_CheckScope");

            var org1 = new OrganisationEntity {
                Id = Guid.NewGuid(), Name = "Org 1"
            };
            var org2 = new OrganisationEntity {
                Id = Guid.NewGuid(), Name = "Org 2"
            };

            var branch1 = new BranchEntity {
                Id = Guid.NewGuid(), OrganisationId = org1.Id, Name = "Branch 1"
            };
            var branch2 = new BranchEntity {
                Id = Guid.NewGuid(), OrganisationId = org1.Id, Name = "Branch 2"
            };
            var branch3 = new BranchEntity {
                Id = Guid.NewGuid(), OrganisationId = org2.Id, Name = "Branch 3"
            };

            var user1 = new UserEntity {
                Id = Guid.NewGuid(), BranchId = branch1.Id
            };
            var user2 = new UserEntity {
                Id = Guid.NewGuid(), BranchId = branch1.Id
            };
            var user3 = new UserEntity {
                Id = Guid.NewGuid(), BranchId = branch2.Id
            };
            var user4 = new UserEntity {
                Id = Guid.NewGuid(), BranchId = branch3.Id
            };

            var client1 = new ClientEntity {
                Id = Guid.NewGuid(), OrganisationId = org1.Id
            };
            var client2 = new ClientEntity {
                Id = Guid.NewGuid(), OrganisationId = org2.Id
            };

            var policy1 = new PolicyEntity {
                Id = Guid.NewGuid(), ClientId = client1.Id, UserId = user1.Id
            };
            var policy2 = new PolicyEntity {
                Id = Guid.NewGuid(), ClientId = client1.Id, UserId = user2.Id
            };
            var policy3 = new PolicyEntity {
                Id = Guid.NewGuid(), ClientId = client1.Id, UserId = user3.Id
            };
            var policy4 = new PolicyEntity {
                Id = Guid.NewGuid(), ClientId = client2.Id, UserId = user4.Id
            };
            var policy5 = new PolicyEntity {
                Id = Guid.NewGuid(), ClientId = client1.Id, UserId = user1.Id
            };


            using (var context = new DataContext(options))
            {
                context.Organisation.Add(org1);

                context.Branch.Add(branch1);
                context.Branch.Add(branch2);

                context.Users.Add(user1);
                context.Users.Add(user2);
                context.Users.Add(user3);
                context.Users.Add(user4);

                context.Client.Add(client1);
                context.Client.Add(client2);

                context.Policy.Add(policy1);
                context.Policy.Add(policy2);
                context.Policy.Add(policy3);
                context.Policy.Add(policy4);
                context.Policy.Add(policy5);

                context.SaveChanges();
            }

            using (var context = new DataContext(options))
            {
                var auditService = new AuditServiceMock();
                var service      = new PolicyService(context, auditService);

                //When

                //In scope (org 1 -> policy 1)
                var scope  = new ScopeOptions(org1.Id, branch1.Id, user1.Id, Scope.Organisation);
                var policy = await service.GetPolicy(scope, policy1.Id);

                Assert.Equal(policy1.Id, policy.Id);

                //In scope (org 1 -> policy 3)
                scope  = new ScopeOptions(org1.Id, branch1.Id, user1.Id, Scope.Organisation);
                policy = await service.GetPolicy(scope, policy3.Id);

                Assert.Equal(policy3.Id, policy.Id);

                //Out of scope (org 2 -> policy 1)
                scope  = new ScopeOptions(org2.Id, branch3.Id, user4.Id, Scope.Organisation);
                policy = await service.GetPolicy(scope, policy1.Id);

                Assert.Null(policy);

                //In scope (branch 1 -> policy 1)
                scope  = new ScopeOptions(org1.Id, branch1.Id, user1.Id, Scope.Branch);
                policy = await service.GetPolicy(scope, policy1.Id);

                Assert.Equal(policy1.Id, policy.Id);

                //In scope (branch 1 -> policy 2)
                scope  = new ScopeOptions(org1.Id, branch1.Id, user1.Id, Scope.Branch);
                policy = await service.GetPolicy(scope, policy2.Id);

                Assert.Equal(policy2.Id, policy.Id);

                //Out of scope (branch 2 -> policy 1)
                scope  = new ScopeOptions(org1.Id, branch2.Id, user3.Id, Scope.Branch);
                policy = await service.GetPolicy(scope, policy1.Id);

                Assert.Null(policy);

                //Out of scope (branch 3 -> policy 1)
                scope  = new ScopeOptions(org2.Id, branch3.Id, user4.Id, Scope.Branch);
                policy = await service.GetPolicy(scope, policy1.Id);

                Assert.Null(policy);

                //In scope (user 1 -> policy 1)
                scope  = new ScopeOptions(org1.Id, branch1.Id, user1.Id, Scope.User);
                policy = await service.GetPolicy(scope, policy1.Id);

                Assert.Equal(policy1.Id, policy.Id);

                //Out of scope (user 2 -> policy 1)
                scope  = new ScopeOptions(org1.Id, branch1.Id, user2.Id, Scope.User);
                policy = await service.GetPolicy(scope, policy1.Id);

                Assert.Null(policy);
            }
        }
Пример #15
0
        public static DefaultUser InsertUserDetailed(DbContextOptions <DataContext> options, OrganisationEntity organisation, Scope scope = Scope.Organisation)
        {
            var user = new UserEdit
            {
                Id        = Guid.NewGuid(),
                FirstName = Guid.NewGuid().ToString(),
                LastName  = Guid.NewGuid().ToString(),
                Scope     = scope,
                Roles     = new List <string>(),
                Aliases   = new List <string>(),
            };

            return(InsertUserDetailed(options, organisation, user));
        }
Пример #16
0
        public static DefaultUser InsertUserDetailed(DbContextOptions <DataContext> options, OrganisationEntity organisation, UserEdit sourceUser)
        {
            var branch = new BranchEntity {
                Id = Guid.NewGuid(), OrganisationId = organisation.Id, Name = "Branch 1"
            };
            var user = new UserEntity
            {
                Id        = sourceUser.Id.Value,
                FirstName = sourceUser.FirstName,
                LastName  = sourceUser.LastName,
                Aliases   = sourceUser.Aliases,
                BranchId  = branch.Id,
                Scope     = sourceUser.Scope,
                Config    = sourceUser.Config,
            };

            using (var context = new DataContext(options))
            {
                context.Branch.Add(branch);
                context.Users.Add(user);
                context.SaveChanges();
            }

            return(new DefaultUser()
            {
                User = user,
                Branch = branch,
                Organisation = organisation
            });
        }
Пример #17
0
        public static CommissionStatementEntity InsertCommissionStatement(DbContextOptions <DataContext> options, OrganisationEntity organisation, Guid?companyId = null, DateTime?date = null)
        {
            companyId = companyId.HasValue ? companyId : InsertCompany(options).Id;
            var statement = new CommissionStatementEntity {
                Id = Guid.NewGuid(), OrganisationId = organisation.Id, CompanyId = companyId.Value, Date = date ?? DateTime.Now
            };

            using (var context = new DataContext(options))
            {
                context.CommissionStatement.Add(statement);
                context.SaveChanges();
            }

            return(statement);
        }
Пример #18
0
        public static void Initialize(HelpToHealthApiContext context)
        {
            context.Database.EnsureCreated();

            context.Database.ExecuteSqlRaw("TRUNCATE TABLE CareGivers");
            context.Database.ExecuteSqlRaw("TRUNCATE TABLE CareVolunteers");

            var organisation = new OrganisationEntity
            {
                Email            = "*****@*****.**",
                Name             = "Hospital A",
                OrganisationType = "Public",
                CareGivers       = new List <CareGiverEntity>()
            };

            var careGivers = new CareGiverEntity[]
            {
                new CareGiverEntity
                {
                    Address     = "1 Apple Park Way, Cupertino, CA 95014, USA",
                    Email       = "*****@*****.**",
                    Name        = "John Smith",
                    PhoneNumber = "07813116321"
                },
                new CareGiverEntity
                {
                    Address     = "26 Federal Plaza, New York, NY 10278, USA",
                    Email       = "*****@*****.**",
                    Name        = "Sam Dickkson",
                    PhoneNumber = "07813129431"
                },
                new CareGiverEntity
                {
                    Address     = "Legacy Bldg, Belfast BT3 9DT, UK",
                    Email       = "*****@*****.**",
                    Name        = "Sarah Woodview",
                    PhoneNumber = "07813038729"
                }
            };

            foreach (CareGiverEntity careGiver in careGivers)
            {
                organisation.CareGivers.Add(careGiver);
            }

            context.Organisations.Add(organisation);

            var careVolunteers = new CareVolunteerEntity[]
            {
                new CareVolunteerEntity
                {
                    Address           = "5 Ormonde Cres, Belfast BT6 9FL, UK",
                    PhoneNumber       = "07712345432",
                    Name              = "Faraz Goff",
                    Latitude          = 54.5847523M,
                    Longitude         = -5.891415599999999M,
                    Password          = "******",
                    TrainingCompleted = "No",
                    WillingToDo       = "Shopping",
                    AvailabilityFrom  = "Mon 9am",
                    AvailabilityTo    = "Fri 5pm",
                    Email             = "Email"
                },
                new CareVolunteerEntity
                {
                    Address           = "12 Loopland Parade, Belfast BT6 9EF, UK",
                    PhoneNumber       = "07718437432",
                    Name              = "Tony Ryan",
                    Latitude          = 54.5858078M,
                    Longitude         = -5.893081200000001M,
                    Password          = "******",
                    TrainingCompleted = "No",
                    WillingToDo       = "Shopping",
                    AvailabilityFrom  = "Mon 9am",
                    AvailabilityTo    = "Fri 5pm",
                    Email             = "Email"
                },
                new CareVolunteerEntity
                {
                    Address           = "42 Orby Gardens, Belfast BT5 5HS, UK",
                    PhoneNumber       = "07718437432",
                    Name              = "Koa Sharp",
                    Latitude          = 54.5871322M,
                    Longitude         = -5.8904577M,
                    Password          = "******",
                    TrainingCompleted = "No",
                    WillingToDo       = "Shopping",
                    AvailabilityFrom  = "Mon 9am",
                    AvailabilityTo    = "Fri 5pm",
                    Email             = "Email"
                },
                new CareVolunteerEntity
                {
                    Address           = "6 Balkan St, Belfast BT12 4FG, UK",
                    PhoneNumber       = "07718437432",
                    Name              = "Nusaybah Cairns",
                    Latitude          = 54.5973224M,
                    Longitude         = -5.948408800000002M,
                    Password          = "******",
                    TrainingCompleted = "No",
                    WillingToDo       = "Shopping",
                    AvailabilityFrom  = "Mon 9am",
                    AvailabilityTo    = "Fri 5pm",
                    Email             = "Email"
                },
                new CareVolunteerEntity
                {
                    Address           = "13 Oaklands Antrim BT41 1LS",
                    PhoneNumber       = "07718437432",
                    Name              = "Myra Baxter",
                    Latitude          = 54.714300M,
                    Longitude         = -6.191598M,
                    Password          = "******",
                    TrainingCompleted = "No",
                    WillingToDo       = "Shopping",
                    AvailabilityFrom  = "Mon 9am",
                    AvailabilityTo    = "Fri 5pm",
                    Email             = "Email"
                },
            };

            foreach (var careGiver in careVolunteers)
            {
                context.CareVolunteers.Add(careGiver);
            }


            context.SaveChanges();
        }
Пример #19
0
 private static void MapTo(this OrganisationEntity entity, Organisation organisation, ILocationQuery locationQuery)
 {
     organisation.Name    = entity.displayName;
     organisation.Address = entity.AddressEntity == null ? null : entity.AddressEntity.Map(locationQuery);
 }
Пример #20
0
        public static DefaultClient InsertClient(DbContextOptions <DataContext> options, OrganisationEntity organisation, string idNumber = null)
        {
            var client = new ClientEntity
            {
                Id             = Guid.NewGuid(),
                ClientTypeId   = ClientType.CLIENT_TYPE_INDIVIDUAL,
                FirstName      = Guid.NewGuid().ToString(),
                LastName       = Guid.NewGuid().ToString(),
                IdNumber       = idNumber != null ? idNumber : Guid.NewGuid().ToString(),
                OrganisationId = organisation.Id,
                Initials       = Guid.NewGuid().ToString(),
                DateOfBirth    = DateTime.Now.AddYears(-35),
                TaxNumber      = Guid.NewGuid().ToString()
            };

            using (var context = new DataContext(options))
            {
                context.Client.Add(client);
                context.SaveChanges();
            }

            return(new DefaultClient()
            {
                Organisation = organisation,
                Client = client
            });
        }
Пример #21
0
 public static void MapTo(this Organisation organisation, OrganisationEntity entity)
 {
     entity.displayName = organisation.Name;
     ((IHaveAddress)organisation).MapTo(entity);
 }
Пример #22
0
 public static async Task <OrganisationEntity> GetOrganisationEntityByName(string name, string connectionString)
 {
     return(await OrganisationEntity.GetByNameAsync(connectionString, name));
 }
        public async Task GetOrganisations_Sort()
        {
            var options = TestHelper.GetDbContext("GetOrganisations_Sort");

            //Given
            var org1 = new OrganisationEntity {
                Id = Guid.NewGuid(), Name = "A Org 1", ApplicationIds = new List <Guid>()
                {
                    Application.CLIENT_ID
                }
            };
            var org2 = new OrganisationEntity {
                Id = Guid.NewGuid(), Name = "B Org 2", ApplicationIds = new List <Guid>()
                {
                    Application.CLIENT_ID, Application.DIRECTORY_ID
                }
            };
            var org3 = new OrganisationEntity {
                Id = Guid.NewGuid(), Name = "C Org 3", ApplicationIds = new List <Guid>()
                {
                    Application.CLIENT_ID
                }
            };
            var org4 = new OrganisationEntity {
                Id = Guid.NewGuid(), Name = "D Org 4", ApplicationIds = new List <Guid>()
                {
                    Application.CLIENT_ID, Application.COMPLIANCE_ID
                }
            };
            var org5 = new OrganisationEntity {
                Id = Guid.NewGuid(), Name = "E Org 5", ApplicationIds = new List <Guid>()
                {
                    Application.CLIENT_ID
                }
            };
            var org6 = new OrganisationEntity {
                Id = Guid.NewGuid(), Name = "F Org 6", ApplicationIds = new List <Guid>()
                {
                    Application.CLIENT_ID
                }
            };

            using (var context = new DataContext(options))
            {
                //Jumbled order
                context.Organisation.Add(org6);
                context.Organisation.Add(org1);
                context.Organisation.Add(org2);
                context.Organisation.Add(org4);
                context.Organisation.Add(org5);
                context.Organisation.Add(org3);

                context.SaveChanges();
            }

            using (var context = new DataContext(options))
            {
                var service = new OrganisationService(context);

                //When
                var scope = TestHelper.GetScopeOptions(Guid.NewGuid());
                scope.IgnoreScope = true;
                var queryOptions = new OrganisationQueryOptions(scope);
                var actual       = await service.GetOrganisations(queryOptions);

                //Then
                Assert.Equal(6, actual.TotalItems);

                var organisations = actual.Items.ToArray();

                Assert.Equal(6, organisations.Count());

                var actual1 = organisations[0];
                Assert.Equal(org1.Id, actual1.Id);
                Assert.Equal(org1.Name, actual1.Name);
                Assert.Equal(org1.ApplicationIds, actual1.ApplicationIds);

                var actual2 = organisations[1];
                Assert.Equal(org2.Id, actual2.Id);
                Assert.Equal(org2.Name, actual2.Name);
                Assert.Equal(org2.ApplicationIds, actual2.ApplicationIds);

                var actual6 = organisations[5];
                Assert.Equal(org6.Id, actual6.Id);
                Assert.Equal(org6.Name, actual6.Name);
                Assert.Equal(org6.ApplicationIds, actual6.ApplicationIds);

                //Scope check
                scope        = TestHelper.GetScopeOptions(org6.Id);
                queryOptions = new OrganisationQueryOptions(scope);
                actual       = await service.GetOrganisations(queryOptions);

                Assert.Equal(1, actual.TotalItems);

                organisations = actual.Items.ToArray();

                actual1 = organisations[0];
                Assert.Equal(org6.Id, actual1.Id);
                Assert.Equal(org6.Name, actual1.Name);
                Assert.Equal(org6.ApplicationIds, actual1.ApplicationIds);
            }
        }
        public async Task UpdateOrganisation()
        {
            var options = TestHelper.GetDbContext("UpdateOrganisation");

            TestHelper.InsertApplications(options);

            var company1 = TestHelper.InsertCompany(options);
            var company2 = TestHelper.InsertCompany(options);

            var config1 = new Config()
            {
                CompanyIds = new List <Guid>()
                {
                    company1.Id
                },
                VATRegistered       = false,
                VATRegistrationDate = null
            };

            var config2 = new Config()
            {
                CompanyIds = new List <Guid>()
                {
                    company1.Id
                },
                VATRegistered       = false,
                VATRegistrationDate = null
            };

            //Given
            var org1 = new OrganisationEntity {
                Id = Guid.NewGuid(), Name = "Org 1", Config = config1, ApplicationIds = new List <Guid>()
                {
                    Application.CLIENT_ID
                }
            };
            var org2 = new OrganisationEntity {
                Id = Guid.NewGuid(), Name = "Org 2", Config = config2, ApplicationIds = new List <Guid>()
                {
                    Application.CLIENT_ID
                }
            };

            using (var context = new DataContext(options))
            {
                context.Organisation.Add(org1);
                context.Organisation.Add(org2);

                context.SaveChanges();
            }

            var user1 = TestHelper.InsertUserDetailed(options, org2);

            var config2Updated = new Config()
            {
                CompanyIds = new List <Guid>()
                {
                    company2.Id
                },
                VATRegistered       = true,
                VATRegistrationDate = DateTime.Now,
            };

            var organisation = new OrganisationEdit()
            {
                Id             = org2.Id,
                Name           = "Org 2 Updated",
                ApplicationIds = new List <Guid>()
                {
                    Application.CLIENT_ID, Application.COMMISSION_ID
                },
                Config = config2Updated
            };

            using (var context = new DataContext(options))
            {
                var service = new OrganisationService(context);

                //When
                var scope  = TestHelper.GetScopeOptions(user1);
                var result = await service.UpdateOrganisation(scope, organisation);

                //Then
                Assert.True(result.Success);

                var actual = await context.Organisation.FindAsync(organisation.Id);

                Assert.Equal(organisation.Name, actual.Name);
                Assert.Equal(2, organisation.ApplicationIds.Count());
                Assert.Contains(Application.CLIENT_ID, organisation.ApplicationIds);
                Assert.Contains(Application.COMMISSION_ID, organisation.ApplicationIds);
                Assert.Equal(organisation.Config.VATRegistered, actual.Config.VATRegistered);
                Assert.Equal(organisation.Config.VATRegistrationDate, actual.Config.VATRegistrationDate);
                Assert.Single(actual.Config.CompanyIds);
                Assert.Equal(organisation.Config.CompanyIds.Single(), actual.Config.CompanyIds.Single());


                //Scope check
                organisation.Id = org1.Id;
                result          = await service.UpdateOrganisation(scope, organisation);

                //Then
                Assert.False(result.Success);
            }
        }
        public async Task GetOrganisation()
        {
            var options = TestHelper.GetDbContext("GetOrganisation");

            var config1 = new Config()
            {
                CompanyIds = new List <Guid>()
                {
                    Guid.NewGuid()
                },
                VATRegistered       = false,
                VATRegistrationDate = DateTime.Now.AddDays(-10)
            };

            var config2 = new Config()
            {
                CompanyIds = new List <Guid>()
                {
                    Guid.NewGuid()
                },
                VATRegistered       = true,
                VATRegistrationDate = DateTime.Now
            };

            //Given
            var org1 = new OrganisationEntity {
                Id = Guid.NewGuid(), Name = "Org 1", Config = config1, ApplicationIds = new List <Guid>()
                {
                    Application.CLIENT_ID, Application.INVEST_ID
                }
            };
            var org2 = new OrganisationEntity {
                Id = Guid.NewGuid(), Name = "Org 2", Config = config2, ApplicationIds = new List <Guid>()
                {
                    Application.CLIENT_ID, Application.DIRECTORY_ID
                }
            };

            using (var context = new DataContext(options))
            {
                context.Organisation.Add(org1);
                context.Organisation.Add(org2);

                context.SaveChanges();
            }

            using (var context = new DataContext(options))
            {
                var service = new OrganisationService(context);

                //When
                var scope  = TestHelper.GetScopeOptions(org2.Id);
                var actual = await service.GetOrganisation(scope, org2.Id);

                //Then
                Assert.Equal(org2.Id, actual.Id);
                Assert.Equal(org2.Name, actual.Name);
                Assert.Equal(org2.ApplicationIds, actual.ApplicationIds);
                Assert.Equal(org2.Config.VATRegistered, actual.Config.VATRegistered);
                Assert.Equal(org2.Config.VATRegistrationDate, actual.Config.VATRegistrationDate);
                Assert.Single(actual.Config.CompanyIds);
                Assert.Equal(org2.Config.CompanyIds.Single(), actual.Config.CompanyIds.Single());

                //Scope check
                scope  = TestHelper.GetScopeOptions(org1.Id);
                actual = await service.GetOrganisation(scope, org2.Id);

                Assert.Null(actual);
            }
        }
Пример #26
0
        private static void UpdateOrganisationalEntity(RecruitersDataContext dc, Organisation organisation, OrganisationEntity entity)
        {
            if (organisation.IsVerified)
            {
                // Make sure there is an organisational unit.

                var verifiedOrganisation = (VerifiedOrganisation)organisation;
                if (entity.OrganisationalUnitEntity == null)
                {
                    entity.OrganisationalUnitEntity = verifiedOrganisation.Map();
                }
                else
                {
                    dc.CheckDeleteContactDetails(verifiedOrganisation, entity.OrganisationalUnitEntity);
                    verifiedOrganisation.MapTo(entity.OrganisationalUnitEntity);
                }
            }
            else
            {
                // Not verified, make sure there is no organisational unit.

                if (entity.OrganisationalUnitEntity != null)
                {
                    if (entity.OrganisationalUnitEntity.ContactDetailsEntity != null)
                    {
                        dc.ContactDetailsEntities.DeleteOnSubmit(entity.OrganisationalUnitEntity.ContactDetailsEntity);
                        entity.OrganisationalUnitEntity.ContactDetailsEntity = null;
                    }

                    dc.OrganisationalUnitEntities.DeleteOnSubmit(entity.OrganisationalUnitEntity);
                    entity.OrganisationalUnitEntity = null;
                }
            }
        }
Пример #27
0
 private async Task <OrganisationEntity> GetOrganisationEntityByName(string name)
 {
     return(await OrganisationEntity.GetByNameAsync(config.ConnectionString, name));
 }