Exemplo n.º 1
0
 public Subject(EAV.Store.IStoreSubject aSubject)
 {
     Context_ID = aSubject.ContextID.GetValueOrDefault();
     Identifier = aSubject.Identifier;
     Entity_ID  = aSubject.EntityID.GetValueOrDefault();
     Subject_ID = aSubject.SubjectID.GetValueOrDefault();
 }
Exemplo n.º 2
0
 public StoreSubject(EAV.Store.IStoreSubject subject)
 {
     this.SubjectID  = subject.SubjectID;
     this.EntityID   = subject.EntityID;
     this.ContextID  = subject.ContextID;
     this.Identifier = subject.Identifier;
 }
Exemplo n.º 3
0
 public IHttpActionResult CreateContextSubject(int id, EAV.Store.IStoreSubject subject)
 {
     try
     {
         return(Ok <EAV.Store.IStoreSubject>(subjectClient.CreateSubject(subject, id, EntityID.GetValueOrDefault())));
     }
     catch (Exception ex)
     {
         return(InternalServerError(ex));
     }
 }
Exemplo n.º 4
0
        public IHttpActionResult UpdateSubject(EAV.Store.IStoreSubject subject)
        {
            try
            {
                subjectClient.UpdateSubject(subject);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Exemplo n.º 5
0
        public void CreateDuplicateSubject_Identifier()
        {
            EAV.Store.Clients.ISubjectStoreClient client = factory.Create <EAV.Store.Clients.ISubjectStoreClient>();
            int    entityID          = SelectRandomItem(this.DbContext.Entities).Entity_ID;
            int    contextID         = SelectRandomItem(this.DbContext.Contexts).Context_ID;
            string subjectIdentifier = Guid.NewGuid().ToString();

            EAV.Store.IStoreSubject container = client.CreateSubject(new EAVStoreLibrary.StoreSubject()
            {
                Identifier = subjectIdentifier,
            }, contextID, entityID);

            Assert.IsNotNull(container, "Failed to create subject with identifier '{0}' for context ID {1} and entity ID {2}.", subjectIdentifier, contextID, entityID);

            client.CreateSubject(new EAVStoreLibrary.StoreSubject()
            {
                Identifier = subjectIdentifier,
            }, contextID, entityID);

            Assert.Fail("Failed to throw exception creating subject with duplicate name.");
        }
Exemplo n.º 6
0
        public void UpdateSubject(EAV.Store.IStoreSubject subject)
        {
            using (EAVStoreClient.MicroEAVContext ctx = new MicroEAVContext())
            {
                EAVStoreClient.Subject dbSubject = ctx.Subjects.SingleOrDefault(it => it.Subject_ID == subject.SubjectID);

                if (dbSubject != null)
                {
                    if (dbSubject.Identifier != subject.Identifier)
                    {
                        dbSubject.Identifier = subject.Identifier;
                    }

                    ctx.SaveChanges();
                }
                else
                {
                    throw (new Exception(String.Format("Unable to retrieve subject ID {0}.", subject.SubjectID)));
                }
            }
        }
Exemplo n.º 7
0
        public EAV.Store.IStoreSubject CreateSubject(EAV.Store.IStoreSubject subject, int contextID, int entityID)
        {
            if (subject == null)
            {
                return(null);
            }

            using (EAVStoreClient.MicroEAVContext ctx = new MicroEAVContext())
            {
                Subject dbSubject = new Subject(subject);

                dbSubject.Context_ID = contextID;
                dbSubject.Entity_ID  = entityID;

                ctx.Subjects.Add(dbSubject);

                ctx.SaveChanges();

                return((EAVStoreLibrary.StoreSubject)dbSubject);
            }
        }
Exemplo n.º 8
0
        public void CreateSubject()
        {
            EAV.Store.Clients.ISubjectStoreClient client = factory.Create <EAV.Store.Clients.ISubjectStoreClient>();
            int    entityID          = SelectRandomItem(this.DbContext.Entities).Entity_ID;
            int    contextID         = SelectRandomItem(this.DbContext.Contexts).Context_ID;
            string subjectIdentifier = Guid.NewGuid().ToString();

            EAV.Store.IStoreSubject subject = client.CreateSubject(new EAVStoreLibrary.StoreSubject()
            {
                Identifier = subjectIdentifier,
            }, contextID, entityID);

            Assert.IsNotNull(subject, "Failed to create subject with identifier '{0}' for context ID {1} and entity ID {2}.", subjectIdentifier, contextID, entityID);

            ResetDatabaseContext();

            var dbSubject = this.DbContext.Subjects.SingleOrDefault(it => it.Subject_ID == subject.SubjectID);

            Assert.IsNotNull(dbSubject, String.Format("Failed to retrieve subject ID {0} from the database.", subject.SubjectID));

            Assert.AreEqual(subject.Identifier, dbSubject.Identifier, "Property 'Identifier' was not created correctly.");
        }