コード例 #1
0
ファイル: ValueStoreClient.cs プロジェクト: tnewell/MicroEAV
        public void UpdateValue(EAV.Store.IStoreValue value)
        {
            using (EAVStoreClient.MicroEAVContext ctx = new MicroEAVContext())
            {
                EAVStoreClient.Value dbValue = ctx.Values.SingleOrDefault(it => it.Instance_ID == value.InstanceID && it.Attribute_ID == value.AttributeID);

                if (dbValue != null)
                {
                    if (dbValue.Raw_Value != value.RawValue)
                    {
                        dbValue.Raw_Value = value.RawValue;
                    }

                    if (dbValue.Unit_ID != value.UnitID)
                    {
                        dbValue.Unit_ID = value.UnitID;
                    }

                    ctx.SaveChanges();
                }
                else
                {
                    throw (new Exception(String.Format("Unable to retrieve value for instance ID {0}, attribute ID {1}.", value.InstanceID, value.AttributeID)));
                }
            }
        }
コード例 #2
0
 public Value(EAV.Store.IStoreValue value)
 {
     Attribute_ID = value.AttributeID.GetValueOrDefault();
     Instance_ID  = value.InstanceID.GetValueOrDefault();
     Raw_Value    = value.RawValue;
     Unit_ID      = value.UnitID;
 }
コード例 #3
0
ファイル: StoreValue.cs プロジェクト: tnewell/MicroEAV
 public StoreValue(EAV.Store.IStoreValue value)
 {
     this.InstanceID  = value.InstanceID;
     this.AttributeID = value.AttributeID;
     this.UnitID      = value.UnitID;
     this.RawValue    = value.RawValue;
 }
コード例 #4
0
 public IHttpActionResult CreateValue(int id, EAV.Store.IStoreValue value)
 {
     try
     {
         return(Ok <EAV.Store.IStoreValue>(valueClient.CreateValue(value, id, AttributeID.GetValueOrDefault())));
     }
     catch (Exception ex)
     {
         return(InternalServerError(ex));
     }
 }
コード例 #5
0
        public IHttpActionResult UpdateValue(EAV.Store.IStoreValue value)
        {
            try
            {
                valueClient.UpdateValue(value);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
コード例 #6
0
ファイル: ValueStoreClient.cs プロジェクト: tnewell/MicroEAV
        public EAV.Store.IStoreValue CreateValue(EAV.Store.IStoreValue value, int instanceID, int attributeID)
        {
            if (value == null)
            {
                return(null);
            }

            using (EAVStoreClient.MicroEAVContext ctx = new MicroEAVContext())
            {
                Value dbValue = new Value(value);

                dbValue.Instance_ID  = instanceID;
                dbValue.Attribute_ID = attributeID;

                ctx.Values.Add(dbValue);

                ctx.SaveChanges();

                return((EAVStoreLibrary.StoreValue)dbValue);
            }
        }
コード例 #7
0
        public void CreateValue()
        {
            EAV.Store.Clients.IValueStoreClient client = factory.Create <EAV.Store.Clients.IValueStoreClient>();
            var    valueKey = SelectRandomItem(RetrieveAvailableValueKeys());
            string rawValue = Guid.NewGuid().ToString();

            EAV.Store.IStoreValue value = client.CreateValue(new EAVStoreLibrary.StoreValue()
            {
                RawValue = rawValue,
            }, valueKey.InstanceID, valueKey.AttributeID);

            Assert.IsNotNull(value, "Failed to create value with value '{0}' for instance ID {1} and attribute ID {2}.", rawValue, valueKey.InstanceID, valueKey.AttributeID);

            ResetDatabaseContext();

            var dbValue = this.DbContext.Values.SingleOrDefault(it => it.Instance_ID == valueKey.InstanceID && it.Attribute_ID == valueKey.AttributeID);

            Assert.IsNotNull(dbValue, String.Format("Failed to retrieve instance ID {0}, attribute ID {1} from the database.", value.InstanceID, value.AttributeID));

            Assert.AreEqual(value.RawValue, dbValue.Raw_Value, "Property 'RawValue' was not created correctly.");
        }