예제 #1
0
        private void UpdateTest()
        {
            const string newClientName = "New name";

            using (var context = new Context())
            {
                var clientsRepository = new ClientsRepository(context);
                context.Database.Log = (message) => Debug.WriteLine(message);

                _clientDataMock.Client.ClientName = newClientName;

                clientsRepository.Update(_clientDataMock.Client);
            }

            using (var context = new Context())
            {
                var clientsRepository = new ClientsRepository(context);
                context.Database.Log = (message) => Debug.WriteLine(message);

                var downloadedClient = clientsRepository.Get(_clientDataMock.ClientId);

                Assert.AreEqual(newClientName, downloadedClient.ClientName);
                Assert.True(downloadedClient.Projects.Count > 0, "UpdateTest does not return related projects");
                Assert.True(downloadedClient.Projects.All(p => p.Auditors.Count > 0), "UpdateTest does not return related auditors");
            }
        }
예제 #2
0
        private void DeleteTest()
        {
            using (var context = new Context())
            {
                var clientsRepository = new ClientsRepository(context);
                context.Database.Log = (message) => Debug.WriteLine(message);

                var downloadedClient = clientsRepository.Get(_clientDataMock.ClientId, false);
                var id = downloadedClient.ClientId;
                Assert.IsNotNull(downloadedClient, "Client does not exist before delete.");

                clientsRepository.Delete(downloadedClient);

                downloadedClient = clientsRepository.Get(id, false);
                Assert.IsNull(downloadedClient, "Client exists after delete.");
            }
        }
예제 #3
0
        public ActionResult Detail(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var client = _clientRepo.Get((int)id);

            if (client == null)
            {
                return(HttpNotFound());
            }

            var viewModel = new ClientDetailViewModel()
            {
                Client = client
            };

            return(View(viewModel));
        }
예제 #4
0
        public async Task Get_NoData_ReturnsNull()
        {
            // Arrange
            var entityId = Guid.NewGuid();

            var sut = new ClientsRepository(this.mongoCollection);

            // Act
            var actual = await sut.Get(entityId);

            // Assert
            Assert.IsNull(actual);
        }
예제 #5
0
        public static void UpdateClientInfo(Guid clienteId, string name, string telephone, string email, string Cep, DateTime birthdate)
        {
            var client = new ClientEntity()
            {
                ClienteId = clienteId,
                Name      = name,
                Telephone = telephone,
                Email     = email,
                Cep       = Cep,
                Birthdate = birthdate
            };

            ClientsRepository.Get().UpdateClientInfo(client);
        }
예제 #6
0
        private void GetOnlyClientTest()
        {
            using (var context = new Context())
            {
                var clientsRepository = new ClientsRepository(context);
                context.Database.Log = (message) => Debug.WriteLine(message);

                var downloadedClient = clientsRepository.Get(_clientDataMock.ClientId, false);

                Assert.True(downloadedClient.Equals(_clientDataMock.Client), "GetOnlyClientTest returns client with different guid");
                Assert.AreEqual(_clientDataMock.ClientName, downloadedClient.ClientName, "GetOnlyClientTest returns client with different name");
                Assert.AreEqual(0, downloadedClient.Projects.Count, "GetOnlyClientTest returns related projects");
            }
        }
예제 #7
0
        private void GetClientAndRelatedTest()
        {
            using (var context = new Context())
            {
                var clientsRepository = new ClientsRepository(context);
                context.Database.Log = (message) => Debug.WriteLine(message);

                var downloadedClient = clientsRepository.Get(_clientDataMock.ClientId);

                Assert.True(downloadedClient.Equals(_clientDataMock.Client), "GetClientAndRelatedTest returns client with different guid");
                Assert.AreEqual(_clientDataMock.ClientName, downloadedClient.ClientName, "GetClientAndRelatedTest returns client with different name");
                Assert.True(downloadedClient.Projects.Count > 0, "GetClientAndRelatedTest does not return related projects");
                Assert.True(downloadedClient.Projects.All(p => p.Auditors.Count > 0), "GetClientAndRelatedTest does not return related auditors");
            }
        }
예제 #8
0
        public static void RegisterClient(Guid usuarioId, string name, string telephone, string email, string Cep, DateTime birthdate)
        {
            var client = new ClientEntity()
            {
                ClienteId = Guid.NewGuid(),
                Email     = email,
                Name      = name,
                UsuarioId = usuarioId,
                Telephone = telephone,
                Cep       = Cep,
                Birthdate = birthdate
            };

            ClientsRepository.Get().InsertClient(client);
        }
예제 #9
0
        public ICollection <Client> SearchForClients(string searchTerm)
        {
            var      result  = new List <Client>();
            var      idOrNum = 0;
            DateTime dateTime;
            var      isInt = int.TryParse(searchTerm, out idOrNum);

            if (isInt)
            {
                var client = ClientsRepository.Get(idOrNum);
                if (client != null)
                {
                    result.Add(client);
                }
                result.AddRange(ClientsRepository.Get(cl => cl.Phone == searchTerm));
                result.AddRange(ClientsRepository.Get(cl => cl.TutorPhone == searchTerm));
                result.AddRange(ClientsRepository.Get(cl => cl.IdentityId == idOrNum));
                result = result.Distinct(new ClientComparator()).ToList();
                return(result);
            }
            if (searchTerm.Length == 1 && (searchTerm.ToUpper() == "H" || searchTerm.ToUpper() == "F"))
            {
                result.AddRange(ClientsRepository.Get(cl => string.Equals(cl.Sex.ToString(), searchTerm, StringComparison.CurrentCultureIgnoreCase)));
                result = result.Distinct(new ClientComparator()).ToList();
                return(result);
            }

            var isDateTime = DateTime.TryParse(searchTerm, out dateTime);

            if (isDateTime)
            {
                result.AddRange(ClientsRepository.Get(cl => cl.DateOfBirth.ToShortDateString() == dateTime.ToShortDateString()));
                result = result.Distinct(new ClientComparator()).ToList();
                return(result);
            }


            result.AddRange(ClientsRepository.Get(n => (n.LastName.ToUpper() + " " + n.Name.ToUpper()).Contains(searchTerm.ToUpper())));
            result.AddRange(ClientsRepository.Get(n => (n.Name.ToUpper() + " " + n.LastName.ToUpper()).Contains(searchTerm.ToUpper())));
            result.AddRange(ClientsRepository.Get(n => n.TutorFullName.ToUpper().Contains(searchTerm.ToUpper())));
            result = result.Distinct(new ClientComparator()).ToList();
            return(result);
        }
예제 #10
0
        public async Task Get_ThereIsData_ReturnsClient()
        {
            // Arrange
            var clientEntities = new List <ClientEntity>
            {
                new ClientEntity(Guid.NewGuid(), "Client 1"),
                new ClientEntity(Guid.NewGuid(), "Client 2"),
                new ClientEntity(Guid.NewGuid(), "Client 3"),
                new ClientEntity(Guid.NewGuid(), "Client 4"),
            };

            await this.mongoCollection.InsertManyAsync(clientEntities);

            var sut = new ClientsRepository(this.mongoCollection);

            // Act
            var expected = clientEntities.First();
            var actual   = await sut.Get(expected.Id);

            // Assert
            actual.Should().BeEquivalentTo(expected);
        }
예제 #11
0
 // GET: Clients/Details/5
 public async Task <Client> GetClient(int?id)
 {
     return(await _repository.Get(id));
 }
예제 #12
0
        public void ClientsTest()
        {
            var list = _clients.Get().GetAwaiter().GetResult();

            Assert.AreEqual(list.Count, Obj.Clients.Count());
        }
예제 #13
0
        public static int GetUserClientPointsForChallenge(Guid usuarioId)
        {
            DateTime now = DateTime.Now;

            return(ClientsRepository.Get().GetUserClientPointsForChallenge(usuarioId, now));
        }
예제 #14
0
 public static List <ClientEntity> GetAllClients()
 {
     return(ClientsRepository.Get().GetAllClients().OrderBy(c => c.Name).ToList());
 }
예제 #15
0
        public static void InitDDBB()
        {
            OwnLogger.AllLogs.Clear();
            new EmulatedConfig().Clean();

            Mallorca.AddHotel(IdHotelMallorca01);
            Mallorca.AddHotel(IdHotelMallorca02);
            Mallorca.AddHotel(IdHotelMallorca03);
            Mallorca.AddHotel(IdHotelMallorca04);
            Mallorca.AddHotel(IdHotelMallorca05);
            Mallorca.AddHotel(IdHotelMallorca06);
            Mallorca.AddHotel(IdHotelMallorca07);
            Mallorca.AddHotel(IdHotelMallorca08);
            Mallorca.AddHotel(IdHotelMallorca09);
            Mallorca.AddHotel(IdHotelMallorca10);
            Ibiza.AddHotel(IdHotelIbiza01);
            Ibiza.AddHotel(IdHotelIbiza02);
            Ibiza.AddHotel(IdHotelIbiza03);
            Ibiza.AddHotel(IdHotelIbiza04);
            Ibiza.AddHotel(IdHotelIbiza05);
            Ibiza.AddHotel(IdHotelIbiza06);
            Ibiza.AddHotel(IdHotelIbiza07);
            Ibiza.AddHotel(IdHotelIbiza08);
            Ibiza.AddHotel(IdHotelIbiza09);
            Ibiza.AddHotel(IdHotelIbiza10);
            Formentera.AddHotel(IdHotelFormentera01);
            Formentera.AddHotel(IdHotelFormentera02);
            Formentera.AddHotel(IdHotelFormentera03);
            Formentera.AddHotel(IdHotelFormentera04);
            Formentera.AddHotel(IdHotelFormentera05);
            Formentera.AddHotel(IdHotelFormentera06);
            Formentera.AddHotel(IdHotelFormentera07);
            Formentera.AddHotel(IdHotelFormentera08);
            Formentera.AddHotel(IdHotelFormentera09);
            Formentera.AddHotel(IdHotelFormentera10);

            var hotels = new HotelsRepository();

            hotels.Reset();
            hotels.Set(HotelMallorca01);
            hotels.Set(HotelMallorca02);
            hotels.Set(HotelMallorca03);
            hotels.Set(HotelMallorca04);
            hotels.Set(HotelMallorca05);
            hotels.Set(HotelMallorca06);
            hotels.Set(HotelMallorca07);
            hotels.Set(HotelMallorca08);
            hotels.Set(HotelMallorca09);
            hotels.Set(HotelMallorca10);
            hotels.Set(HotelIbiza01);
            hotels.Set(HotelIbiza02);
            hotels.Set(HotelIbiza03);
            hotels.Set(HotelIbiza04);
            hotels.Set(HotelIbiza05);
            hotels.Set(HotelIbiza06);
            hotels.Set(HotelIbiza07);
            hotels.Set(HotelIbiza08);
            hotels.Set(HotelIbiza09);
            hotels.Set(HotelIbiza10);
            hotels.Set(HotelFormentera01);
            hotels.Set(HotelFormentera02);
            hotels.Set(HotelFormentera03);
            hotels.Set(HotelFormentera04);
            hotels.Set(HotelFormentera05);
            hotels.Set(HotelFormentera06);
            hotels.Set(HotelFormentera07);
            hotels.Set(HotelFormentera08);
            hotels.Set(HotelFormentera09);
            hotels.Set(HotelFormentera10);

            var regions = new RegionsRepository();

            regions.Reset();
            regions.Set(Mallorca);
            regions.Set(Ibiza);
            regions.Set(Formentera);

            var types = new HotelTypesRepository();

            types.Reset();
            types.Set(TypeOnlyAdult);
            types.Set(TypeHotelSpa);
            types.Set(TypePremium);

            var clients = new ClientsRepository();

            clients.Reset();
            clients.Set(new Client {
                Id = IdClient01, Email = "*****@*****.**", Name = "Client 01", Telephone = "666666601"
            });
            clients.Get(IdClient01).AddObserver(Mallorca);
            clients.Get(IdClient01).AddObserver(Formentera);
            clients.Get(IdClient01).Preference_A = "Some Value";
            clients.Set(new Client {
                Id = IdClient02, Email = "*****@*****.**", Name = "Client 02", Telephone = "666666602"
            });
            clients.Get(IdClient02).AddObserver(Mallorca);
            clients.Get(IdClient02).AddObserver(Ibiza);
            clients.Get(IdClient02).Preference_A = "Some Value";
            clients.Set(new Client {
                Id = IdClient03, Email = "*****@*****.**", Name = "Client 03", Telephone = "666666603"
            });
            clients.Get(IdClient03).AddObserver(Ibiza);
            clients.Get(IdClient03).AddObserver(Formentera);
            clients.Get(IdClient03).Preference_A = "Some Value";
            clients.Set(new Client {
                Id = IdClient04, Email = "*****@*****.**", Name = "Client 04", Telephone = "666666604"
            });
            clients.Get(IdClient04).AddObserver(Formentera);
            clients.Get(IdClient04).Preference_A = "Some Value";
            clients.Set(new Client {
                Id = IdClient05, Email = "*****@*****.**", Name = "Client 05", Telephone = "666666605"
            });
            clients.Get(IdClient05).AddObserver(Ibiza);
            clients.Get(IdClient05).Preference_A = "Some Value";

            Global.Reset();

            Global.Register <IConfig, EmulatedConfig>();

            Registrator.Register();

            Global.Prepare();
        }
예제 #16
0
 public static void RemoveClient(Guid clienteId)
 {
     ClientsRepository.Get().RemoveClient(clienteId);
 }
예제 #17
0
 public static List <ClientEntity> GetClientsByUserId(Guid usuarioId)
 {
     return(ClientsRepository.Get().GetClientsByUserId(usuarioId));
 }