Beispiel #1
0
 public InvitationResponse(InvitationResponseData responseData,
                           IInvitationResponseDataSaver responseDataSaver,
                           IInvitation invitation)
 {
     m_responseData      = responseData;
     m_responseDataSaver = responseDataSaver;
     m_invitation        = invitation;
 }
 public IInvitationResponse Create(IInvitation invitation, bool?isAttending, short?attendingCount, string note)
 {
     using (ILifetimeScope scope = m_dependencyContainer.GetContainer().BeginLifetimeScope())
     {
         InvitationResponseData responseData = new InvitationResponseData()
         {
             IsAttending   = isAttending,
             AttendeeCount = attendingCount,
             Note          = note
         };
         return(new InvitationResponse(responseData, scope.Resolve <IInvitationResponseDataSaver>(), invitation));
     }
 }
Beispiel #3
0
 public void Create(ITransactionHandler transactionHandler, InvitationResponseData responseData)
 {
     Create(transactionHandler, new DbProviderFactory(), responseData);
 }
Beispiel #4
0
        public void Create(ITransactionHandler transactionHandler, IDbProviderFactory providerFactory, InvitationResponseData responseData)
        {
            if (responseData.DataStateManager.GetState(responseData) == DataStateManagerState.New)
            {
                providerFactory.EstablishTransaction(transactionHandler, responseData);
                using (IDbCommand command = transactionHandler.Connection.CreateCommand())
                {
                    command.CommandText = "vte.ISP_InvitationResponse";
                    command.CommandType = CommandType.StoredProcedure;
                    command.Transaction = transactionHandler.Transaction.InnerTransaction;

                    IDataParameter id = Util.CreateParameter(providerFactory, "id", DbType.Int32);
                    id.Direction = ParameterDirection.Output;
                    command.Parameters.Add(id);

                    IDataParameter timestamp = Util.CreateParameter(providerFactory, "timestamp", DbType.DateTime);
                    timestamp.Direction = ParameterDirection.Output;
                    command.Parameters.Add(timestamp);

                    Util.AddParameter(providerFactory, command.Parameters, "invitationId", DbType.Guid, Util.GetParameterValue(responseData.InvitationId));
                    Util.AddParameter(providerFactory, command.Parameters, "isAttending", DbType.Boolean, Util.GetParameterValue(responseData.IsAttending));
                    Util.AddParameter(providerFactory, command.Parameters, "attendeeCount", DbType.Int16, Util.GetParameterValue(responseData.AttendeeCount));
                    Util.AddParameter(providerFactory, command.Parameters, "note", DbType.String, Util.GetParameterValue(responseData.Note));

                    command.ExecuteNonQuery();

                    responseData.InvitationResponseId = (int)id.Value;
                    responseData.CreateTimestamp      = (DateTime)timestamp.Value;
                }
            }
        }