示例#1
0
 /// <summary>
 /// Map the basic fields for the BusinessAccount table to the BusinessAccount model object
 /// </summary>
 /// <param name="record">The SqlDataReader with the executed query result</param>
 /// <param name="prefix">a prefix used to identify fields for the BusinessAccount model  in the resultset if required</param>        
 /// <returns>An instance of Model.Ecommerce.BusinessAccount</returns>
 internal static BusinessAccount MapRecord(IDataRecord record, string prefix = "")
 {
     var businessAccount = new BusinessAccount
         {
             Id = DbHelper.ConvertValue<Guid>(record[prefix + Parameters.Id]),
             BusinessAccountTypeId = DbHelper.ConvertValue<int>(record[prefix + Parameters.BusinessAccountTypeId]),
             FullName = DbHelper.ConvertValue<string>(record[prefix + Parameters.FullName]),
             ShortName = DbHelper.ConvertValue<string>(record[prefix + Parameters.ShortName])
         };
     
     return AuditFieldsHelper.MapRecord(businessAccount, record, prefix);
 }
示例#2
0
        /// <summary>
        /// Modify BusinessAccount
        /// </summary>
        /// <param name="businessAccount">Business account to modify</param>
        public void Modify(BusinessAccount businessAccount)
        {
            const string SQL_STATEMENT = @"
                UPDATE Ecommerce.BusinessAccount
                SET
                        BusinessAccountTypeId = @BusinessAccountTypeId,
                        FullName = @FullName,
                        ShortName = @ShortName,
                        UpdatedByUserId = @UpdatedByUserId
                WHERE
                        Id = @Id";

            var parameters = new List<SqlParameter>
            {
                DbHelper.CreateParameter(BusinessAccountMapper.Parameters.Id, businessAccount.Id),
                DbHelper.CreateParameter(BusinessAccountMapper.Parameters.BusinessAccountTypeId, businessAccount.BusinessAccountTypeId),
                DbHelper.CreateParameter(BusinessAccountMapper.Parameters.FullName, businessAccount.FullName),
                DbHelper.CreateParameter(BusinessAccountMapper.Parameters.ShortName, businessAccount.ShortName)
            };

            // Add auditing parameters
            if (businessAccount.UpdatedByUserId == Guid.Empty)
            {
                AuditFieldsHelper.PopulateAuditFields(parameters);
            }
            else
            {
                parameters.Add(DbHelper.CreateParameter(BusinessAccountMapper.Parameters.UpdatedByUserId, businessAccount.UpdatedByUserId));
            }

            int rowsAffected = DbHelper.ExecuteNonQueryCommand(SQL_STATEMENT, parameters: parameters);

            // Check if the update was successful
            if (rowsAffected == 0)
            {
                throw new ExpectedResultException(ErrorFactory.CreateAndLogError(Errors.SRVEX30027, "BusinessAccountDao.Modify",
                                                                                 additionalDescriptionParameters: (new object[]
                                                                                          {
                                                                                              typeof(BusinessAccount).Name,
                                                                                              businessAccount.Id
                                                                                          }),
                                                                                 arguments: new object[]
                                                                                                {
                                                                                                    typeof(BusinessAccount).Name,
                                                                                                    businessAccount.Id
                                                                                                }));
            }
        }
示例#3
0
        /// <summary>
        /// Create or modify ecommerce business account
        /// </summary>
        /// <param name="ecomBusinessAccount">converted Eagle business account from Ecomm business account</param>
        /// <returns>true if we can execute modify/create; false otherwise</returns>
        public bool SaveEcomBusinessAccount(BusinessAccount ecomBusinessAccount)
        {
            //check if the business account exists on our records if it does update otherwise insert
            var businessAccount = businessAccountDao.GetByKey(ecomBusinessAccount.Id);
            var doesShortnameExist = businessAccountDao.ShortNameExists(ecomBusinessAccount.ShortName);

            if (businessAccount != null)
            {
                if (businessAccount.ShortName.Equals(ecomBusinessAccount.ShortName, StringComparison.OrdinalIgnoreCase))
                {
                    businessAccountDao.ModifyAllButShortname(ecomBusinessAccount);
                    return true;
                }

                if (!doesShortnameExist)
                {
                    businessAccountDao.Modify(ecomBusinessAccount);
                    return true;
                }
            }

            if (!doesShortnameExist)
            {
                businessAccountDao.Create(ecomBusinessAccount);
                return true;
            }

            return false;
        }
示例#4
0
        /// <summary>
        /// Create BusinessAccount
        /// </summary>
        /// <param name="businessAccount">Business account to create</param>
        public void Create(BusinessAccount businessAccount)
        {
            const string SQL_STATEMENT = @"
                INSERT INTO Ecommerce.BusinessAccount
                (
                        Id,
                        BusinessAccountTypeId,
                        FullName,
                        ShortName,
                        UpdatedByUserId
                )
                VALUES
                (
                        @Id,
                        @BusinessAccountTypeId,
                        @FullName,
                        @ShortName,
                        @UpdatedByUserId
                )";

            var parameters = new List<SqlParameter>
            {
                DbHelper.CreateParameter(BusinessAccountMapper.Parameters.Id, businessAccount.Id),
                DbHelper.CreateParameter(BusinessAccountMapper.Parameters.BusinessAccountTypeId, businessAccount.BusinessAccountTypeId),
                DbHelper.CreateParameter(BusinessAccountMapper.Parameters.FullName, businessAccount.FullName),
                DbHelper.CreateParameter(BusinessAccountMapper.Parameters.ShortName, businessAccount.ShortName)
            };

            // Add auditing parameters
            if (businessAccount.UpdatedByUserId == Guid.Empty)
            {
                AuditFieldsHelper.PopulateAuditFields(parameters);
            }
            else
            {
                parameters.Add(DbHelper.CreateParameter(BusinessAccountMapper.Parameters.UpdatedByUserId, businessAccount.UpdatedByUserId));
            }

            DbHelper.ExecuteNonQueryCommand(SQL_STATEMENT, parameters: parameters);
        }
示例#5
0
            public void CreatesBusinessAccountSuccesfully()
            {
                // Arrange
                var businessAccountToCreate = new BusinessAccount(){ Id = new Guid(), BusinessAccountTypeId = 1, FullName = "FullName", ShortName = "Shortname"};

                // Act
                businessAccountDao.Create(businessAccountToCreate);

                // Assert
                var savedBusinessAccount = businessAccountDao.GetByKey(businessAccountToCreate.Id);
                Assert.AreEqual(businessAccountToCreate.Id, savedBusinessAccount.Id, "The id obtained is not the expected");
                Assert.AreEqual(businessAccountToCreate.BusinessAccountTypeId, savedBusinessAccount.BusinessAccountTypeId, "The BusinessAccountTypeId obtained is not the expected");
                Assert.AreEqual(businessAccountToCreate.FullName, savedBusinessAccount.FullName, "The FullName obtained is not the expected");
                Assert.AreEqual(businessAccountToCreate.ShortName, savedBusinessAccount.ShortName, "The ShortName obtained is not the expected");
            }