Beispiel #1
0
        public void IsValid()
        {
            var client = GetClient();

            bool isValid = ClientValidator.IsValid(client);

            Assert.IsTrue(isValid);
        }
Beispiel #2
0
        public void Invalid_State()
        {
            var client = GetClient();

            client.State = "";

            bool isValid = ClientValidator.IsValid(client);

            Assert.IsFalse(isValid);
        }
Beispiel #3
0
        public void Invalid_PhoneNumbers()
        {
            var client = GetClient();

            client.PhoneNumbersList = new List <string>();

            bool isValid = ClientValidator.IsValid(client);

            Assert.IsFalse(isValid);
        }
Beispiel #4
0
        public void Invalid_Email()
        {
            var client = GetClient();

            client.Email = "";

            bool isValid = ClientValidator.IsValid(client);

            Assert.IsFalse(isValid);
        }
Beispiel #5
0
        public void Invalid_CPF()
        {
            var client = GetClient();

            client.CPF = 12345678901;

            bool isValid = ClientValidator.IsValid(client);

            Assert.IsFalse(isValid);
        }
Beispiel #6
0
        public void Invalid_Country()
        {
            var client = GetClient();

            client.Country = "";

            bool isValid = ClientValidator.IsValid(client);

            Assert.IsFalse(isValid);
        }
        public void Update(Client client)
        {
            try
            {
                if (!ClientValidator.IsValid(client))
                {
                    throw new InvalidOperationException();
                }

                var existing = _ctx.Clients.FirstOrDefault(c => c.CPF == client.CPF);

                if (existing == null)
                {
                    _ctx.Clients.Add(client);
                }
                else
                {
                    existing.Name          = client.Name;
                    existing.Email         = client.Email;
                    existing.MaritalStatus = client.MaritalStatus;
                    existing.PhoneNumbers  = client.PhoneNumbers;
                    existing.Street        = client.Street;
                    existing.City          = client.City;
                    existing.State         = client.State;
                    existing.Country       = client.Country;
                    existing.Zip           = client.Zip;
                }

                _ctx.SaveChanges();
            }
            catch (InvalidOperationException)
            {
                throw new InvalidOperationException("Invalid client");
            }
            catch (Exception)
            {
                throw new ApplicationException("The data couldn't be saved.");
            }
        }