Exemplo n.º 1
0
        public static List <TblDatabaseManagement> GetDBThatFinishedProcess()
        {
            using (MetaqueriesContext context = new MetaqueriesContext())
            {
                //We finished work with db db that in the current arity all the metaqueries has result and the result is false

                /*return context
                 *      .TblDatabaseManagements
                 *      .Where(
                 *                      x => x.FkStatusId == (int)StatusDB.InProcess &&
                 *                      x.TblMetaqueries.Where(m => m.Arity == x.CurrentArity)
                 *                              .All(m => m.HasResult.HasValue && m.HasResult.Value == false)
                 *      )
                 *      .ToList();*/
                return(context
                       .TblDatabaseManagements
                       .Where(
                           x => x.FkStatusId == (int)StatusDB.InProcess &&
                           x.CurrentArity == x.MaxArity &&
                           x.TblMetaqueries.Where(m => m.Arity == x.CurrentArity)
                           .All(m => m.FkResult.HasValue)
                           )
                       .ToList());
            }
        }
Exemplo n.º 2
0
 public static void UpdateExperimentResultsAndClear()
 {
     using (MetaqueriesContext context = new MetaqueriesContext())
     {
         context.UpdateExperimentResultsAndClearDb();
     }
 }
Exemplo n.º 3
0
 public static List <TblDatabaseManagement> GetDBToWork(StatusDB statusDB)
 {
     using (MetaqueriesContext context = new MetaqueriesContext())
     {
         return(context.TblDatabaseManagements.Where(x => x.FkStatusId == (int)statusDB).ToList());
     }
 }
Exemplo n.º 4
0
        public static void UpdateStatus(TblMetaquery tblMetaquery, StatusMQ newStatus)
        {
            using (MetaqueriesContext context = new MetaqueriesContext())
            {
                tblMetaquery.FkStatusId = (int)(newStatus == StatusMQ.ExpandedAndDone ? StatusMQ.Done : newStatus);

                if (newStatus == StatusMQ.WaitingToSolver)
                {
                    tblMetaquery.StartTime = DateTime.Now;
                }
                if (newStatus == StatusMQ.Done || newStatus == StatusMQ.ExpandedAndDone)
                {
                    tblMetaquery.FinishTime = DateTime.Now;
                }
                if (newStatus == StatusMQ.Expanded || newStatus == StatusMQ.ExpandedAndDone)
                {
                    tblMetaquery.IsExpanded = true;
                }

                tblMetaquery.TblDatabaseManagement = null;
                context.TblMetaqueries.Attach(tblMetaquery);
                //context.Entry(tblMetaquery).State = System.Data.Entity.EntityState.Modified;
                context.MarkAsModified(tblMetaquery);
                context.SaveChanges();
            }
        }
Exemplo n.º 5
0
 public static void Create(TblProbabilityExperiment tblProbabilityExperiment)
 {
     using (MetaqueriesContext context = new MetaqueriesContext())
     {
         context.TblProbabilityExperiments.Add(tblProbabilityExperiment);
         context.MarkAsCreated(tblProbabilityExperiment);
         context.SaveChanges();
     }
 }
Exemplo n.º 6
0
 public static void Update(TblDatabaseManagement tblDatabaseManagement)
 {
     using (MetaqueriesContext context = new MetaqueriesContext())
     {
         context.TblDatabaseManagements.Attach(tblDatabaseManagement);
         context.MarkAsModified(tblDatabaseManagement);
         context.SaveChanges();
     }
 }
Exemplo n.º 7
0
 public static void Create(TblMetaquery tblMetaquery)
 {
     using (MetaqueriesContext context = new MetaqueriesContext())
     {
         context.TblMetaqueries.Add(tblMetaquery);
         context.MarkAsCreated(tblMetaquery);
         context.SaveChanges();
     }
 }
Exemplo n.º 8
0
 public static void Update(TblProbabilityExperiment tblProbabilityExperiment)
 {
     using (MetaqueriesContext context = new MetaqueriesContext())
     {
         context.TblProbabilityExperiments.Attach(tblProbabilityExperiment);
         context.MarkAsModified(tblProbabilityExperiment);
         context.SaveChanges();
     }
 }
Exemplo n.º 9
0
 public static void Create(TblDatabaseManagement tblDatabaseManagement)
 {
     using (MetaqueriesContext context = new MetaqueriesContext())
     {
         context.TblDatabaseManagements.Add(tblDatabaseManagement);
         context.MarkAsCreated(tblDatabaseManagement);
         context.SaveChanges();
     }
 }
Exemplo n.º 10
0
 public static List <VMetaquery> GetMetaqueriesByID(int dbID)
 {
     using (MetaqueriesContext context = new MetaqueriesContext())
     {
         return(context
                .VMetaqueries
                .Where(x => x.FkDatabaseId == dbID)
                .ToList());
     }
 }
Exemplo n.º 11
0
 public static TblDatabaseManagement Get(int id)
 {
     using (MetaqueriesContext context = new MetaqueriesContext())
     {
         return(context
                .TblDatabaseManagements
                .Include(x => x.TblStatus)
                .FirstOrDefault(x => x.Id == id));
     }
 }
Exemplo n.º 12
0
 public static List <VMetaqueriesResult> GetMetaqueriesResultByID(int metaqueryID)
 {
     using (MetaqueriesContext context = new MetaqueriesContext())
     {
         return(context
                .VMetaqueriesResults
                .Where(x => x.FkMetaqueryId == metaqueryID)
                .ToList());
     }
 }
Exemplo n.º 13
0
 public static List <VProbabilityExperimentResult> GetProbabilityExperimentResult()
 {
     using (MetaqueriesContext context = new MetaqueriesContext())
     {
         return(context
                .VProbabilityExperimentResults
                //.Where(x => x.MqCount.HasValue && x.SupportProbability == supportProbabilty )
                .ToList()
                );
     }
 }
Exemplo n.º 14
0
 public static List <TblMetaquery> GetMQForExpand()
 {
     using (MetaqueriesContext context = new MetaqueriesContext())
     {
         return(context
                .TblMetaqueries
                .Include(x => x.TblDatabaseManagement)
                .Where(x => x.FkResult.HasValue /*&& x.HasResult.Value == true && !x.IsExpanded*/)
                .ToList());
     }
 }
Exemplo n.º 15
0
 public static List <TblProbabilityExperiment> GetForExperiment(int countToRun)
 {
     using (MetaqueriesContext context = new MetaqueriesContext())
     {
         return(context
                .TblProbabilityExperiments
                .Where(x => !x.FkDatabaseId.HasValue)
                .Take(countToRun)
                .ToList()
                );
     }
 }
Exemplo n.º 16
0
 public static List <TblMetaquery> GetMQForSendToSolver()
 {
     using (MetaqueriesContext context = new MetaqueriesContext())
     {
         //mq send to solver if the arity is the current arity processed, and the status is received
         return(context
                .TblMetaqueries
                .Include(x => x.TblDatabaseManagement)
                .Where(x => x.FkStatusId == (int)StatusMQ.Received && x.Arity == x.TblDatabaseManagement.CurrentArity)
                .ToList());
     }
 }
Exemplo n.º 17
0
 public static List <int> GetDBArityExists(int dbID)
 {
     using (MetaqueriesContext context = new MetaqueriesContext())
     {
         return(context
                .TblMetaqueries
                .Where(x => x.FkDatabaseId == dbID)
                .OrderBy(x => x.Arity)
                .Select(x => x.Arity)
                .Distinct()
                .ToList());
     }
 }
Exemplo n.º 18
0
 public static List <int> GetConfidenceExistsInProbabiltyExperiment()
 {
     using (MetaqueriesContext context = new MetaqueriesContext())
     {
         return(context
                .TblProbabilityExperiments
                .Where(x => x.ProbabilityIncreaseByArity == null && x.ConfidenceProbability > 0)
                .OrderBy(x => x.ConfidenceProbability)
                .Select(x => x.ConfidenceProbability)
                .Distinct()
                .ToList());
     }
 }
Exemplo n.º 19
0
 public static List <TblMetaquery> GetMQForExpand()
 {
     using (MetaqueriesContext context = new MetaqueriesContext())
     {
         return(context
                .TblMetaqueries
                .Include(x => x.TblDatabaseManagement)
                .Where(x => !x.IsExpanded &&
                       (x.TblMetaqueriesResults.Any() || x.FkResult.HasValue) &&
                       x.Arity < x.TblDatabaseManagement.MaxArity)
                .Take(10000)
                .ToList());
     }
 }
Exemplo n.º 20
0
 public static List <KeyValue> GetNotForExperiment()
 {
     using (MetaqueriesContext context = new MetaqueriesContext())
     {
         return(context
                .TblDatabaseManagements
                .Where(x => x.ForExperiment == false)
                .OrderByDescending(x => x.CreatedDate)
                .Select(x => new KeyValue
         {
             Key = x.Id
             , Value = x.DbName
         })
                .ToList());
     }
 }
Exemplo n.º 21
0
 public static List <TblDatabaseManagement> GetDBToIncreaseArity()
 {
     using (MetaqueriesContext context = new MetaqueriesContext())
     {
         //We need to increase arity when db in process and have all it's metaqueries in the current arity are done/expanded
         return(context
                .TblDatabaseManagements
                .Where(
                    x => x.FkStatusId == (int)StatusDB.InProcess &&
                    !x.TblMetaqueries.Any(
                        m => m.Arity == x.CurrentArity &&
                        m.FkStatusId != (int)StatusMQ.Done &&
                        m.FkStatusId != (int)StatusMQ.Expanded
                        )
                    )
                .ToList());
     }
 }
Exemplo n.º 22
0
        public static void UpdateStatus(TblMetaquery tblMetaquery, StatusMQ newStatus)
        {
            using (MetaqueriesContext context = new MetaqueriesContext())
            {
                tblMetaquery.FkStatusId = (int)newStatus;
                if (newStatus == StatusMQ.WaitingToSolver)
                {
                    tblMetaquery.StartTime = DateTime.Now;
                }
                if (newStatus == StatusMQ.Done)
                {
                    tblMetaquery.FinishTime = DateTime.Now;
                }

                context.TblMetaqueries.Attach(tblMetaquery);
                //context.Entry(tblMetaquery).State = System.Data.Entity.EntityState.Modified;
                context.MarkAsModified(tblMetaquery);
                context.SaveChanges();
            }
        }