예제 #1
0
        public Result <bool> UpdateAddress(int id, GroupAddress groupAddress, string information)
        {
            var address = AddressInternal.FirstOrDefault(g => g.Id == id);

            if (address != null)
            {
                var updateResult = address.Update(groupAddress, information);
                if (!updateResult.Succeeded)
                {
                    return(Result <bool> .Fail(updateResult.Errors));
                }
                return(Result <bool> .Success(true));
            }
            return(Result <bool> .Fail("Address not found"));
        }
        public Result <bool> AddAddress(GroupAddress groupAddress, string information)
        {
            var errors = new List <string>();

            if (Addresses.Any(address => address.Information.Equals(information, StringComparison.OrdinalIgnoreCase)))
            {
                errors.Add("This address already exists");
            }

            if (errors.Any())
            {
                return(Result <bool> .Fail(errors));
            }

            var result = Address.Create(groupAddress, information);

            AddressInternal.Add(result.Value);
            return(Result <bool> .Success(true));
        }
        public Result <bool> RemoveAddress(Address addressToDelete)
        {
            var errors = new List <string>();

            if (addressToDelete is null)
            {
                errors.Add(nameof(addressToDelete));
            }
            if (Addresses.All(address => !address.Information.Equals(addressToDelete.Information, StringComparison.OrdinalIgnoreCase)))
            {
                errors.Add("Not exists");
            }

            if (errors.Any())
            {
                return(Result <bool> .Fail(errors));
            }

            AddressInternal.Remove(addressToDelete);
            return(Result <bool> .Success(true));
        }
예제 #4
0
 public Result <bool> AddAddress(Address address)
 {
     AddressInternal.Add(address);
     return(Result <bool> .Success(true));
 }