/// <summary> /// Gets the fee line item description. /// </summary> /// <param name="fee">The fee.</param> /// <param name="item">The item.</param> /// <param name="quantity">The quantity.</param> /// <returns></returns> private static string GetFeeLineItemDescription(RegistrationTemplateFee fee, RegistrationTemplateFeeItem item, int quantity) { var useFeeNameOnly = item.Name.IsNullOrWhiteSpace() || (fee.FeeType == RegistrationFeeType.Single && fee.Name == item.Name); var name = useFeeNameOnly ? fee.Name : $"{fee.Name} - {item.Name}"; var formattedCost = item.Cost.FormatAsCurrency().Trim(); var costDesc = fee.AllowMultiple ? $"{quantity} @ {formattedCost}" : formattedCost; return($"{name} ({costDesc})"); }
/// <summary> /// Clones this RegistrationTemplateFeeItem object to a new RegistrationTemplateFeeItem object /// </summary> /// <param name="source">The source.</param> /// <param name="deepCopy">if set to <c>true</c> a deep copy is made. If false, only the basic entity properties are copied.</param> /// <returns></returns> public static RegistrationTemplateFeeItem Clone(this RegistrationTemplateFeeItem source, bool deepCopy) { if (deepCopy) { return(source.Clone() as RegistrationTemplateFeeItem); } else { var target = new RegistrationTemplateFeeItem(); target.CopyPropertiesFrom(source); return(target); } }
/// <summary> /// Copies the properties from another RegistrationTemplateFeeItem object to this RegistrationTemplateFeeItem object /// </summary> /// <param name="target">The target.</param> /// <param name="source">The source.</param> public static void CopyPropertiesFrom(this RegistrationTemplateFeeItem target, RegistrationTemplateFeeItem source) { target.Id = source.Id; target.Cost = source.Cost; target.ForeignGuid = source.ForeignGuid; target.ForeignKey = source.ForeignKey; target.IsActive = source.IsActive; target.MaximumUsageCount = source.MaximumUsageCount; target.Name = source.Name; target.Order = source.Order; target.RegistrationTemplateFeeId = source.RegistrationTemplateFeeId; target.CreatedDateTime = source.CreatedDateTime; target.ModifiedDateTime = source.ModifiedDateTime; target.CreatedByPersonAliasId = source.CreatedByPersonAliasId; target.ModifiedByPersonAliasId = source.ModifiedByPersonAliasId; target.Guid = source.Guid; target.ForeignId = source.ForeignId; }