private void LoadValueUnit(EAV.Model.IModelValue value) { bool valueWasUnmodified = value.ObjectState == EAV.Model.ObjectState.Unmodified; HttpResponseMessage response = client.GetAsync(String.Format("api/metadata/units/{0}", value.UnitID)).Result; if (response.IsSuccessStatusCode) { var unit = response.Content.ReadAsAsync <EAVModelLibrary.ModelUnit>().Result; unit.MarkUnmodified(); value.Unit = unit; unit.MarkUnmodified(); if (valueWasUnmodified) { value.MarkUnmodified(); } } else { throw (new ApplicationException("Attempt to get unit failed.")); } }
public void ValueStateTransitionNewToDeleted() { EAV.Model.IModelValue aValue = factory.Create <EAV.Model.IModelValue>(); Assert.AreEqual(EAV.Model.ObjectState.New, aValue.ObjectState, "Object state should be 'New' on creation."); aValue.MarkDeleted(); }
public void ValueStateTransitionNewToUnmodifiedWithNullID() { EAV.Model.IModelValue aValue = factory.Create <EAV.Model.IModelValue>(); Assert.AreEqual(EAV.Model.ObjectState.New, aValue.ObjectState, "Object state should be 'New' on creation."); aValue.MarkUnmodified(); Assert.AreEqual(EAV.Model.ObjectState.Unmodified, aValue.ObjectState, "Object state failed to transition to 'Unmodified'."); }
public void ValueCreate() { EAV.Model.IModelValue aValue = factory.Create <EAV.Model.IModelValue>(); Assert.AreEqual(EAV.Model.ObjectState.New, aValue.ObjectState, "Object state should be 'New' on creation."); Assert.IsNull(aValue.RawValue, "Property 'RawValue' should be null on creation."); Assert.IsNull(aValue.Unit, "Property 'Units' should be null on creation."); Assert.IsNull(aValue.Instance, "Property 'Instance' should be null on creation."); Assert.IsNull(aValue.Attribute, "Property 'Attribute' should be null on creation."); }
public void ValueSetRawValueWhenNew() { EAV.Model.IModelValue aValue = factory.Create <EAV.Model.IModelValue>(); Assert.AreEqual(EAV.Model.ObjectState.New, aValue.ObjectState, "Object state should be 'New' on creation."); string value = Guid.NewGuid().ToString(); aValue.RawValue = value; Assert.AreEqual(value, aValue.RawValue, "Property 'RawValue' was not set properly."); Assert.AreEqual(EAV.Model.ObjectState.New, aValue.ObjectState, "Object state should remain 'New' when property set."); }
private void SaveValue(EAV.Model.IModelValue value) { HttpResponseMessage response; if (value.Unit != null) { SaveValueUnit(value.Unit); value.Unit = value.Unit; } if (value.ObjectState == EAV.Model.ObjectState.New) { response = client.PostAsJsonAsync <EAV.Store.IStoreValue>(String.Format("api/data/instances/{0}/values?attribute={1}", value.InstanceID.GetValueOrDefault(), value.AttributeID), value).Result; if (response.IsSuccessStatusCode) { EAVModelLibrary.ModelValue newValue = response.Content.ReadAsAsync <EAVModelLibrary.ModelValue>().Result; value.MarkUnmodified(); } else { throw (new ApplicationException("Attempt to create value failed.")); } } else if (value.ObjectState == EAV.Model.ObjectState.Modified) { response = client.PatchAsJsonAsync <EAV.Store.IStoreValue>("api/data/values", value).Result; if (response.IsSuccessStatusCode) { value.MarkUnmodified(); } else { throw (new ApplicationException("Attempt to update value failed.")); } } if (value.ObjectState == EAV.Model.ObjectState.Deleted) { response = client.DeleteAsync(String.Format("api/data/instances/{0}/values/{1}", value.InstanceID.GetValueOrDefault(), value.AttributeID)).Result; if (response.IsSuccessStatusCode) { } else { throw (new ApplicationException("Attempt to delete value failed.")); } } }
public void ValueSetUnitWhenNewWithNewUnit() { EAV.Model.IModelValue aValue = factory.Create <EAV.Model.IModelValue>(); Assert.AreEqual(EAV.Model.ObjectState.New, aValue.ObjectState, "Object state should be 'New' on creation."); EAVModelLibrary.ModelUnit aUnit = new EAVModelLibrary.ModelUnit() { UnitID = rng.Next() }; aValue.Unit = aUnit; Assert.AreEqual(aUnit, aValue.Unit, "Property 'Units' was not set properly."); Assert.AreEqual(aUnit.UnitID, aValue.UnitID, "Property 'UnitID' was not reported properly."); Assert.AreEqual(EAV.Model.ObjectState.New, aValue.ObjectState, "Object state should remain 'New' when property set."); Assert.AreEqual(EAV.Model.ObjectState.New, aUnit.ObjectState, String.Format("Object state for Unit object incorrectly transitioned to '{0}' when 'Unit' property set.", aUnit.ObjectState)); }
public void ValueSetAttributeWhenNew() { EAV.Model.IModelValue aValue = factory.Create <EAV.Model.IModelValue>(); Assert.AreEqual(EAV.Model.ObjectState.New, aValue.ObjectState, "Object state should be 'New' on creation."); EAVModelLibrary.ModelAttribute attribute = new EAVModelLibrary.ModelAttribute() { AttributeID = rng.Next() }; aValue.Attribute = attribute; Assert.AreEqual(attribute, aValue.Attribute, "Property 'Attribute' was not set properly."); Assert.AreEqual(attribute.AttributeID, aValue.AttributeID, "Property 'AttributeID' was not reported properly."); Assert.IsTrue(attribute.Values.Contains(aValue), "Property 'Values' was not updated properly."); Assert.AreEqual(EAV.Model.ObjectState.New, aValue.ObjectState, "Object state should remain 'New' when property set."); }
public void ValueSetInstanceWhenNew() { EAV.Model.IModelValue aValue = factory.Create <EAV.Model.IModelValue>(); Assert.AreEqual(EAV.Model.ObjectState.New, aValue.ObjectState, "Object state should be 'New' on creation."); EAVModelLibrary.ModelChildInstance value = new EAVModelLibrary.ModelChildInstance() { InstanceID = rng.Next() }; aValue.Instance = value; Assert.AreEqual(value, aValue.Instance, "Property 'Instance' was not set properly."); Assert.AreEqual(value.InstanceID, aValue.InstanceID, "Property 'InstanceID' was not reported properly."); Assert.IsTrue(value.Values.Contains(aValue), "Property 'Values' was not updated properly."); Assert.AreEqual(EAV.Model.ObjectState.New, aValue.ObjectState, "Object state should remain 'New' when property set."); }
public void ValueSetUnitWhenNewWithDeletedUnit() { EAV.Model.IModelValue aValue = factory.Create <EAV.Model.IModelValue>(); Assert.AreEqual(EAV.Model.ObjectState.New, aValue.ObjectState, "Object state should be 'New' on creation."); EAVModelLibrary.ModelUnit aUnit = new EAVModelLibrary.ModelUnit() { UnitID = rng.Next() }; aUnit.MarkUnmodified(); Assert.AreEqual(EAV.Model.ObjectState.Unmodified, aUnit.ObjectState, "Object state for 'Unit' object failed to transition to 'Unmodified'."); aUnit.MarkDeleted(); Assert.AreEqual(EAV.Model.ObjectState.Deleted, aUnit.ObjectState, "Object state for 'Unit' object failed to transition to 'Deleted'."); aValue.Unit = aUnit; }
public void ValueSetAttributeWhenDeleted() { EAV.Model.IModelValue aValue = factory.Create <EAV.Model.IModelValue>(); Assert.AreEqual(EAV.Model.ObjectState.New, aValue.ObjectState, "Object state should be 'New' on creation."); aValue.MarkUnmodified(); Assert.AreEqual(EAV.Model.ObjectState.Unmodified, aValue.ObjectState, "Object state failed to transition to 'Unmodified'."); aValue.MarkDeleted(); Assert.AreEqual(EAV.Model.ObjectState.Deleted, aValue.ObjectState, "Object state failed to transition to 'Deleted'."); aValue.Attribute = new EAVModelLibrary.ModelAttribute() { AttributeID = rng.Next() }; }