コード例 #1
0
ファイル: BusinessDao.cs プロジェクト: ognjenm/egle
        /// <summary>
        /// Create Merchant Details
        /// </summary>
        /// <param name="merchantDetails">MerchantDetails</param>
        /// <returns>Id of created merchant details</returns>
        public int CreateMerchantDetails(MerchantDetails merchantDetails)
        {
            const string SQL_CREATE_MERCHANT_DETAILS = @"
           INSERT INTO [Business].[MerchantDetails]
            ([MID]
           ,[PasswordCrypt]
           ,[PasswordExpiryDatetime]
           ,[Is3DSecureAllowed]
           ,[IsPaypalAllowed]
           ,[IsIvrAllowed ]
           ,[IsAmexAllowed]
           ,[UpdatedByUserId])
           VALUES
           (@MID
           ,@PasswordCrypt
           ,@PasswordExpiryDatetime
           ,@Is3DSecureAllowed
           ,@IsPaypalAllowed
           ,@IsIvrAllowed 
           ,@IsAmexAllowed
           ,@UpdatedByUserId)
            SET @Id = SCOPE_IDENTITY();";

            var parameters = new List<SqlParameter>
            {
                DbHelper.CreateParameter(MerchantDetailsMapper.Parameters.MID, merchantDetails.MerchantId),
                DbHelper.CreateParameter(MerchantDetailsMapper.Parameters.PasswordCrypt, merchantDetails.Password),
                DbHelper.CreateParameter(MerchantDetailsMapper.Parameters.PasswordExpiryDatetime, merchantDetails.PasswordExpiry),
                DbHelper.CreateParameter(MerchantDetailsMapper.Parameters.Is3DSecureAllowed, merchantDetails.Is3DSecureAllowed),
                DbHelper.CreateParameter(MerchantDetailsMapper.Parameters.IsPaypalAllowed, merchantDetails.IsPaypalAllowed),
                DbHelper.CreateParameter(MerchantDetailsMapper.Parameters.IsIvrAllowed, merchantDetails.IsIvrAllowed),
                DbHelper.CreateParameter(MerchantDetailsMapper.Parameters.IsAmexAllowed, merchantDetails.IsAmexAllowed)
            };

            AuditFieldsHelper.PopulateAuditFields(parameters);

            SqlParameter outputKey;
            parameters.Add(outputKey = DbHelper.CreateParameterOut<int>(MerchantDetailsMapper.Parameters.Id, SqlDbType.Int));
            
            try
            {
                DbHelper.ExecuteNonQueryCommand(SQL_CREATE_MERCHANT_DETAILS, parameters: parameters);
            }
            catch (SqlException exception)
            {
                throw new ExpectedResultException(ErrorFactory.CreateAndLogError(Errors.SRVEX30099, "BusinessDao.CreateMerchantDetails", additionalDescriptionParameters: (new object[] { exception.Message }), arguments: new object[] { merchantDetails.GetType().Name, merchantDetails.Id }));
            }

            if (outputKey.Value == DBNull.Value)
            {
                throw new PrimaryKeyNotSetException(ErrorFactory.CreateAndLogError(Errors.SRVEX30100, "BusinessDao.CreateMerchantDetails", additionalDescriptionParameters: (new object[] { merchantDetails.Id })));
            }

            return DbHelper.ParameterValue<int>(outputKey);

        }