/// <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); }