/// <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 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; model.GridPageSize = _adminAreaSettings.GridPageSize; model.UsernamesEnabled = _customerSettings.UsernamesEnabled; //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" }); } }
/// <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 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.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); NotifySuccess(_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); }