public async Task Create(ISqlTransactionHandler transactionHandler, EmailAddressData emailAddressData)
        {
            if (emailAddressData.Manager.GetState(emailAddressData) == DataState.New)
            {
                await _providerFactory.EstablishTransaction(transactionHandler, emailAddressData);

                using (DbCommand command = transactionHandler.Connection.CreateCommand())
                {
                    command.CommandText = "[bla].[CreateEmailAddress]";
                    command.CommandType = CommandType.StoredProcedure;
                    command.Transaction = transactionHandler.Transaction.InnerTransaction;

                    IDataParameter guid = DataUtil.CreateParameter(_providerFactory, "guid", DbType.Guid);
                    guid.Direction = ParameterDirection.Output;
                    command.Parameters.Add(guid);

                    IDataParameter timestamp = DataUtil.CreateParameter(_providerFactory, "timestamp", DbType.DateTime2);
                    timestamp.Direction = ParameterDirection.Output;
                    command.Parameters.Add(timestamp);

                    DataUtil.AddParameter(_providerFactory, command.Parameters, "address", DbType.String, emailAddressData.Address);

                    await command.ExecuteNonQueryAsync();

                    emailAddressData.EmailAddressGuid = (Guid)guid.Value;
                    emailAddressData.CreateTimestamp  = (DateTime)timestamp.Value;
                }
            }
        }
Example #2
0
 private void validateEntity(EMailAddressView expected, EmailAddressData actual)
 {
     Assert.IsNotNull(expected);
     Assert.IsNotNull(actual);
     Assert.AreEqual(expected.ID, actual.ID);
     Assert.AreEqual(expected.EmailAddress, actual.Address);
     validateDates(expected.ValidFrom, actual.ValidFrom);
     validateDates(expected.ValidTo, actual.ValidTo);
 }
Example #3
0
 protected override void LazySet()
 {
     base.LazySet();
     if (PersistenceState == PersistenceState.NewAndChanged || PersistenceState == PersistenceState.LoadedAndChanged)
     {
         if ((object)InnerData == (object)OriginalData)
         {
             OriginalData = new EmailAddressData(InnerData);
         }
     }
 }
Example #4
0
        public static EmailAddress Create(EMailAddressView v)
        {
            var d = new EmailAddressData {
                ID        = v.ID,
                Address   = v.EmailAddress,
                ValidTo   = v.ValidTo ?? DateTime.MaxValue,
                ValidFrom = v.ValidFrom ?? DateTime.MinValue
            };

            return(new EmailAddress(d));
        }
Example #5
0
        public async Task <IEmailAddress> GetByAddress(ISettings settings, string address)
        {
            EmailAddress     result = null;
            EmailAddressData data   = await _dataFactory.GetByAddress(_settingsFactory.CreateData(settings), address);

            if (data != null)
            {
                result = new EmailAddress(data, _dataSaver);
            }
            return(result);
        }
        public static EmailAddress CreateEmail(string id, string address,
                                               DateTime?validFrom = null, DateTime?validTo = null)
        {
            var r = new EmailAddressData {
                ID        = id,
                Address   = address,
                ValidFrom = validFrom ?? DateTime.MinValue,
                ValidTo   = validTo ?? DateTime.MaxValue
            };

            return(new EmailAddress(r));
        }
Example #7
0
 public EmailAddressData(EmailAddressData data)
 {
     EmailAddr      = data.EmailAddr;
     EmailAddresses = data.EmailAddresses;
     Uid            = data.Uid;
 }
 private static EmailAddress create(EmailAddressData data)
 {
     return(new EmailAddress(data));
 }
Example #9
0
 public EmailAddress(EmailAddressData emailAddressData,
                     IEmailAddressDataSaver dataSaver)
 {
     _emailAddressData = emailAddressData;
     _dataSaver        = dataSaver;
 }