public void Can_save_and_load_addressAttribute_with_values() { var ca = new AddressAttribute { Name = "Name 1", IsRequired = true, AttributeControlType = AttributeControlType.Datepicker, DisplayOrder = 2 }; ca.AddressAttributeValues.Add ( new AddressAttributeValue { Name = "Name 2", IsPreSelected = true, DisplayOrder = 1, } ); var fromDb = SaveAndLoadEntity(ca); fromDb.ShouldNotBeNull(); fromDb.Name.ShouldEqual("Name 1"); fromDb.AddressAttributeValues.ShouldNotBeNull(); (fromDb.AddressAttributeValues.Count == 1).ShouldBeTrue(); fromDb.AddressAttributeValues.First().Name.ShouldEqual("Name 2"); }
/// <summary> /// Adds an attribute /// </summary> /// <param name="attributesXml">Attributes in XML format</param> /// <param name="attribute">Address attribute</param> /// <param name="value">Value</param> /// <returns>Attributes</returns> public virtual string AddAddressAttribute(string attributesXml, AddressAttribute attribute, string value) { string result = string.Empty; try { var xmlDoc = new XmlDocument(); if (String.IsNullOrEmpty(attributesXml)) { var element1 = xmlDoc.CreateElement("Attributes"); xmlDoc.AppendChild(element1); } else { xmlDoc.LoadXml(attributesXml); } var rootElement = (XmlElement)xmlDoc.SelectSingleNode(@"//Attributes"); XmlElement attributeElement = null; //find existing var nodeList1 = xmlDoc.SelectNodes(@"//Attributes/AddressAttribute"); foreach (XmlNode node1 in nodeList1) { if (node1.Attributes != null && node1.Attributes["ID"] != null) { string str1 = node1.Attributes["ID"].InnerText.Trim(); int id; if (int.TryParse(str1, out id)) { if (id == attribute.Id) { attributeElement = (XmlElement)node1; break; } } } } //create new one if not found if (attributeElement == null) { attributeElement = xmlDoc.CreateElement("AddressAttribute"); attributeElement.SetAttribute("ID", attribute.Id.ToString()); rootElement.AppendChild(attributeElement); } var attributeValueElement = xmlDoc.CreateElement("AddressAttributeValue"); attributeElement.AppendChild(attributeValueElement); var attributeValueValueElement = xmlDoc.CreateElement("Value"); attributeValueValueElement.InnerText = value; attributeValueElement.AppendChild(attributeValueValueElement); result = xmlDoc.OuterXml; } catch (Exception exc) { Debug.Write(exc.ToString()); } return result; }
protected virtual void UpdateAttributeLocales(AddressAttribute addressAttribute, AddressAttributeModel model) { foreach (var localized in model.Locales) { _localizedEntityService.SaveLocalizedValue(addressAttribute, x => x.Name, localized.Name, localized.LanguageId); } }
public void Can_save_and_load_addressAttribute() { var ca = new AddressAttribute { Name = "Name 1", IsRequired = true, AttributeControlType = AttributeControlType.Datepicker, DisplayOrder = 2 }; var fromDb = SaveAndLoadEntity(ca); fromDb.ShouldNotBeNull(); fromDb.Name.ShouldEqual("Name 1"); fromDb.IsRequired.ShouldEqual(true); fromDb.AttributeControlType.ShouldEqual(AttributeControlType.Datepicker); fromDb.DisplayOrder.ShouldEqual(2); }
/// <summary> /// Deletes an address attribute /// </summary> /// <param name="addressAttribute">Address attribute</param> public virtual void DeleteAddressAttribute(AddressAttribute addressAttribute) { if (addressAttribute == null) throw new ArgumentNullException("addressAttribute"); _addressAttributeRepository.Delete(addressAttribute); _cacheManager.RemoveByPattern(ADDRESSATTRIBUTES_PATTERN_KEY); _cacheManager.RemoveByPattern(ADDRESSATTRIBUTEVALUES_PATTERN_KEY); //event notification _eventPublisher.EntityDeleted(addressAttribute); }