/// <summary> /// Marks affiliate as deleted /// </summary> /// <param name="affiliate">Affiliate</param> public virtual void DeleteAffiliate(Affiliate affiliate) { if (affiliate == null) throw new ArgumentNullException("affiliate"); affiliate.Deleted = true; UpdateAffiliate(affiliate); }
protected virtual void PrepareAffiliateModel(AffiliateModel model, Affiliate affiliate, bool excludeProperties, bool prepareEntireAddressModel = true) { if (model == null) throw new ArgumentNullException("model"); if (affiliate != null) { model.Id = affiliate.Id; model.Url = affiliate.GenerateUrl(_webHelper); if (!excludeProperties) { model.AdminComment = affiliate.AdminComment; model.FriendlyUrlName = affiliate.FriendlyUrlName; model.Active = affiliate.Active; model.Address = affiliate.Address.ToModel(); } } if (prepareEntireAddressModel) { model.Address.FirstNameEnabled = true; model.Address.FirstNameRequired = true; model.Address.LastNameEnabled = true; model.Address.LastNameRequired = true; model.Address.EmailEnabled = true; model.Address.EmailRequired = true; model.Address.CompanyEnabled = true; model.Address.CountryEnabled = true; model.Address.StateProvinceEnabled = true; model.Address.CityEnabled = true; model.Address.CityRequired = true; model.Address.StreetAddressEnabled = true; model.Address.StreetAddressRequired = true; model.Address.StreetAddress2Enabled = true; model.Address.ZipPostalCodeEnabled = true; model.Address.ZipPostalCodeRequired = true; model.Address.PhoneEnabled = true; model.Address.PhoneRequired = true; model.Address.FaxEnabled = true; //address model.Address.AvailableCountries.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Address.SelectCountry"), Value = "0" }); foreach (var c in _countryService.GetAllCountries(showHidden: true)) model.Address.AvailableCountries.Add(new SelectListItem { Text = c.Name, Value = c.Id.ToString(), Selected = (affiliate != null && c.Id == affiliate.Address.CountryId) }); var states = model.Address.CountryId.HasValue ? _stateProvinceService.GetStateProvincesByCountryId(model.Address.CountryId.Value, showHidden: true).ToList() : new List<StateProvince>(); if (states.Any()) { foreach (var s in states) model.Address.AvailableStates.Add(new SelectListItem { Text = s.Name, Value = s.Id.ToString(), Selected = (affiliate != null && s.Id == affiliate.Address.StateProvinceId) }); } else model.Address.AvailableStates.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Address.OtherNonUS"), Value = "0" }); } }
/// <summary> /// Inserts an affiliate /// </summary> /// <param name="affiliate">Affiliate</param> public virtual void InsertAffiliate(Affiliate affiliate) { if (affiliate == null) throw new ArgumentNullException("affiliate"); _affiliateRepository.Insert(affiliate); //event notification _eventPublisher.EntityInserted(affiliate); }
public void Can_save_and_load_affiliate() { var affiliate = new Affiliate { Deleted = true, Active = true, Address = GetTestAddress(), }; var fromDb = SaveAndLoadEntity(affiliate); fromDb.ShouldNotBeNull(); fromDb.Deleted.ShouldEqual(true); fromDb.Active.ShouldEqual(true); fromDb.Address.ShouldNotBeNull(); fromDb.Address.FirstName.ShouldEqual("FirstName 1"); }
public void Can_save_and_load_affiliate_with_orders() { var affiliate = new Affiliate { Deleted = true, Active = true, Address = GetTestAddress(), }; affiliate.AffiliatedOrders.Add(GetTestOrder()); var fromDb = SaveAndLoadEntity(affiliate); fromDb.ShouldNotBeNull(); fromDb.AffiliatedOrders.ShouldNotBeNull(); (fromDb.AffiliatedOrders.Count == 1).ShouldBeTrue(); fromDb.AffiliatedOrders.First().Deleted.ShouldEqual(true); }
public ActionResult Create(AffiliateModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageAffiliates)) return AccessDeniedView(); if (ModelState.IsValid) { var affiliate = new Affiliate(); affiliate.Active = model.Active; affiliate.AdminComment = model.AdminComment; //validate friendly URL name var friendlyUrlName = affiliate.ValidateFriendlyUrlName(model.FriendlyUrlName); affiliate.FriendlyUrlName = friendlyUrlName; affiliate.Address = model.Address.ToEntity(); affiliate.Address.CreatedOnUtc = DateTime.UtcNow; //some validation if (affiliate.Address.CountryId == 0) affiliate.Address.CountryId = null; if (affiliate.Address.StateProvinceId == 0) affiliate.Address.StateProvinceId = null; _affiliateService.InsertAffiliate(affiliate); SuccessNotification(_localizationService.GetResource("Admin.Affiliates.Added")); return continueEditing ? RedirectToAction("Edit", new { id = affiliate.Id }) : RedirectToAction("List"); } //If we got this far, something failed, redisplay form PrepareAffiliateModel(model, null, true); return View(model); }
protected virtual void InstallAffiliates() { var affiliateAddress = new Address { FirstName = "John", LastName = "Smith", Email = "*****@*****.**", Company = "Company name here...", City = "New York", Address1 = "21 West 52nd Street", ZipPostalCode = "10021", PhoneNumber = "123456789", StateProvinceId = _stateProvinceRepository.Table.FirstOrDefault(sp => sp.Name == "New York").Id, CountryId = _countryRepository.Table.FirstOrDefault(c => c.ThreeLetterIsoCode == "USA").Id, CreatedOnUtc = DateTime.UtcNow, }; _addressRepository.Insert(affiliateAddress); var affilate = new Affiliate { Active = true, Address = affiliateAddress }; _affiliateRepository.Insert(affilate); }
protected void PrepareAffiliateModel(AffiliateModel model, Affiliate affiliate, bool excludeProperties) { if (model == null) throw new ArgumentNullException("model"); if (affiliate != null) { model.Id = affiliate.Id; model.Url = _webHelper.ModifyQueryString(_webHelper.GetStoreLocation(false), "affiliateid=" + affiliate.Id, null); if (!excludeProperties) { model.Active = affiliate.Active; model.Address = affiliate.Address.ToModel(); } } model.Address.FirstNameEnabled = true; model.Address.FirstNameRequired = true; model.Address.LastNameEnabled = true; model.Address.LastNameRequired = true; model.Address.EmailEnabled = true; model.Address.EmailRequired = true; model.Address.CompanyEnabled = true; model.Address.CountryEnabled = true; model.Address.StateProvinceEnabled = true; model.Address.CityEnabled = true; model.Address.CityRequired = true; model.Address.StreetAddressEnabled = true; model.Address.StreetAddressRequired = true; model.Address.StreetAddress2Enabled = true; model.Address.ZipPostalCodeEnabled = true; model.Address.ZipPostalCodeRequired = true; model.Address.PhoneEnabled = true; model.Address.PhoneRequired = true; model.Address.FaxEnabled = true; //address model.Address.AvailableCountries.Add(new SelectListItem() { Text = _localizationService.GetResource("Admin.Address.SelectCountry"), Value = "0" }); foreach (var c in _countryService.GetAllCountries(true)) model.Address.AvailableCountries.Add(new SelectListItem() { Text = c.Name, Value = c.Id.ToString(), Selected = (affiliate != null && c.Id == affiliate.Address.CountryId) }); var states = model.Address.CountryId.HasValue ? _stateProvinceService.GetStateProvincesByCountryId(model.Address.CountryId.Value, true).ToList() : new List<StateProvince>(); if (states.Count > 0) { foreach (var s in states) model.Address.AvailableStates.Add(new SelectListItem() { Text = s.Name, Value = s.Id.ToString(), Selected = (affiliate != null && s.Id == affiliate.Address.StateProvinceId) }); } else model.Address.AvailableStates.Add(new SelectListItem() { Text = _localizationService.GetResource("Admin.Address.OtherNonUS"), Value = "0" }); }