/// <summary> /// Get charges for a business for the specified charge class /// </summary> /// <param name="businessId">The of the business to get charges for</param> /// <param name="cultureCode">Culture code used for translations</param> /// <param name="isActive">If true, indicate active charges are returned otherwise all charges are returned</param> /// <param name="chargeClassTypeEnum">ChargeClassTypeEnum</param> /// <returns>A list of charges for the business</returns> public List<Charge> GetAllChargesByBusiness(long businessId, string cultureCode = "", bool isActive = true, ChargeClassTypeEnum chargeClassTypeEnum = ChargeClassTypeEnum.Unknown) { return chargeDao.GetAllChargesByBusiness(businessId, cultureCode, isActive,chargeClassTypeEnum); }
/// <summary> /// Get charges for a business for the specified charge class /// </summary> /// <param name="businessId">The of the business to get charges for</param> /// <param name="cultureCode">Culture code used for translations</param> /// <param name="isActive">If true, indicate active charges are returned otherwise all charges are returned</param> /// <param name="chargeClassTypeEnum">ChargeClassTypeEnum</param> /// <returns>A list of charges for the business</returns> public List<Charge> GetAllChargesByBusiness(long businessId, string cultureCode = "", bool isActive = true, ChargeClassTypeEnum chargeClassTypeEnum = ChargeClassTypeEnum.Unknown) { cultureCode = string.IsNullOrEmpty(cultureCode) ? ConfigHelper.DefaultCultureCode : cultureCode; string isActiveSql = isActive ? @" AND C.IsActive = 1" : string.Empty; string filterChargeClass = chargeClassTypeEnum == ChargeClassTypeEnum.Unknown ? string.Empty:string.Format("AND ChargeClassTypeCode = '{0}'", chargeClassTypeEnum.GetCode()); string SQL_STATEMENT = string.Format(@" SELECT C.Id, C.ChargeCategoryId, CC.Name AS ChargeCategoryName, C.Name, c.ChargePriceTypeCode, Dictionary.GetItem(@CultureCode, CA.DctName) as ChargePriceTypeName, c.ChargeRulesTypeCode, Dictionary.GetItem(@CultureCode, CR.DctName) as ChargeRulesTypeName, C.ChargeTypeCode, Dictionary.GetItem(@CultureCode, CT.DctName) as ChargeTypeName, C.Reference, C.ChargeCostTypeCode, Dictionary.GetItem(@CultureCode, CCT.DctName) as ChargeCostTypeName, C.CurrencyCode, C.Amount, C.ChildAmount, C.TaxRate, C.MaxPerRoom, C.IsActive, C.ChargeClassTypeCode, Dictionary.GetItem(@CultureCode, CCL.DctName) as ChargeClassTypeName, C.ChargeFrequencyTypeCode, Dictionary.GetItem(@CultureCode, CF.DctName) as ChargeFrequencyTypeName, C.IsOnlineDisplay, C.OnlineName, C.OnlineDescription, C.ApplicationDays, C.BookLeadTimeDays, C.LogoId, C.LogoDigest, C.LogoExtension, C.UpdatedByUserId, C.UpdatedDatetime FROM Pricing.Charge C INNER JOIN Pricing.ChargeCategory CC ON CC.Id = C.ChargeCategoryId INNER JOIN Pricing.ChargeType CT ON CT.Code = C.ChargeTypeCode INNER JOIN Pricing.ChargeCostType CCT ON CCT.Code = C.ChargeCostTypeCode LEFT JOIN Pricing.ChargePriceType CA ON CA.Code = C.ChargePriceTypeCode LEFT JOIN Pricing.ChargeRulesType CR ON CR.Code = C.ChargeRulesTypeCode LEFT JOIN Pricing.ChargeFrequencyType CF ON CF.Code = C.ChargeFrequencyTypeCode LEFT JOIN Pricing.ChargeClassType CCL ON CCL.Code = C.ChargeClassTypeCode WHERE CC.BusinessId = @BusinessId {0} {1} ORDER BY C.ChargeCategoryId", isActiveSql, filterChargeClass); var parameters = new List<SqlParameter> { DbHelper.CreateParameter(ChargeCategoryMapper.Parameters.BusinessId, businessId), DbHelper.CreateParameter(CultureMapper.Parameters.CultureCode, cultureCode) }; if (chargeClassTypeEnum == ChargeClassTypeEnum.Specials) { return DbHelper.CreateInstanceList(SQL_STATEMENT, ChargeMapper.MapRecordForSpecials, parameters: parameters); } return DbHelper.CreateInstanceList(SQL_STATEMENT, ChargeMapper.MapRecordForExtras, parameters: parameters); }