public void Delete(QmsKnowledgebase entity, bool doHardDelete)
        {
            if(doHardDelete)
            {
                QmsKnowledgebase oldEntity = this.RetrieveById(entity.ItemId);
                context.Remove(oldEntity);
            }
            else
            {
                entity.DeletedAt = DateTime.Now;
                Update(entity);
            }

        }
 public void Delete(QmsKnowledgebase entity)
 {
     entity.DeletedAt = DateTime.Now;
     Update(entity);
 }
        public void Update(QmsKnowledgebase entity)
        {
            QmsKnowledgebase oldEntity = this.RetrieveById(entity.ItemId);
            update(oldEntity,entity);

        }
 internal void update(QmsKnowledgebase oldEntity, QmsKnowledgebase newEntity)
 {
     context.Entry(oldEntity).State = EntityState.Deleted;
     context.Entry(newEntity).State = EntityState.Modified;
 }     
 public void Insert(QmsKnowledgebase entity)
 {
     context.Add(entity);
     context.SaveChanges();
 }