/// <summary> /// Prepare affiliate model /// </summary> /// <param name="model">Affiliate model</param> /// <param name="affiliate">Affiliate</param> /// <param name="excludeProperties">Whether to exclude populating of some properties of model</param> /// <returns>Affiliate model</returns> public virtual AffiliateModel PrepareAffiliateModel(AffiliateModel model, Affiliate affiliate, bool excludeProperties = false) { //fill in model values from the entity if (affiliate != null) { model = model ?? affiliate.ToModel <AffiliateModel>(); model.Url = _affiliateService.GenerateUrl(affiliate); //prepare nested search models PrepareAffiliatedOrderSearchModel(model.AffiliatedOrderSearchModel, affiliate); PrepareAffiliatedCustomerSearchModel(model.AffiliatedCustomerSearchModel, affiliate); //whether to fill in some of properties if (!excludeProperties) { model.AdminComment = affiliate.AdminComment; model.FriendlyUrlName = affiliate.FriendlyUrlName; model.Active = affiliate.Active; model.Address = affiliate.Address.ToModel(model.Address); } } //prepare address model PrepareAddressModel(model.Address, affiliate?.Address); return(model); }