public async Task UpdateMinerData(MinerData updatedMinerData)
 {
     using (var db = new BEMainDBContext()) {
         db.MinerData.AddOrUpdate(updatedMinerData);
         await db.SaveChangesAsync();
     }
 }
 public async Task PostResults(Results newResults)
 {
     using (var db = new BEMainDBContext()) {
         db.Results.Add(newResults);
         await db.SaveChangesAsync();
     }
 }
示例#3
0
 public async Task UpdateBEExecution(BEExecution updatedBEExecution)
 {
     using (var db = new BEMainDBContext()) {
         db.BEExecutions.AddOrUpdate(updatedBEExecution);
         await db.SaveChangesAsync();
     }
 }
示例#4
0
        public async Task <TwitterData> GetLatestTwitterData(int searchRequestID)
        {
            TwitterData lastTwitterData = null;

            try {
                using (var db = new BEMainDBContext()) {
                    var execsBySreq = db.BEExecutions
                                      .Where(exec => (exec.SearchRequestID == searchRequestID))
                                      .Include(exec => exec.TheMinerData)
                                      .Where(exec => exec.TheMinerData.Count != 0)
                                      .OrderBy(exec => exec.StartedOn)
                                      .ToList();

                    var lastMinerData = execsBySreq.Select(exec => exec.TheMinerData
                                                           .Where(md => md.TheSource == SourceOption.Twitter)
                                                           .Last())
                                        .Where(md => md != null)
                                        .ToList()
                                        .Last();

                    lastTwitterData = db.TwitterData
                                      .Where(td => td.TheExecutionID == lastMinerData.TheExecutionID)
                                      .ToList()
                                      .FirstOrDefault();
                }
            } catch {
                lastTwitterData = null;
            }
            return(lastTwitterData);
        }
示例#5
0
 public async Task PostTwitterData(TwitterData newTwitterData)
 {
     using (var db = new BEMainDBContext()) {
         db.TwitterData.Add(newTwitterData);
         await db.SaveChangesAsync();
     }
 }
示例#6
0
 public async Task UpdateBESearchRequest(BESearchRequest updatedBESearchRequest)
 {
     using (var db = new BEMainDBContext()) {
         db.BESearchRequests.AddOrUpdate(updatedBESearchRequest);
         await db.SaveChangesAsync();
     }
 }
 public async Task PostBEMinedTexts(IEnumerable <BEMinedText> newBEMinedTexts)
 {
     using (var db = new BEMainDBContext()) {
         db.BEMinedTexts.AddRange(newBEMinedTexts);
         await db.SaveChangesAsync();
     }
 }
示例#8
0
        public async Task <BEExecution> GetBEExecution(int id)
        {
            BEExecution bEExecution = null;

            using (var db = new BEMainDBContext()) {
                bEExecution = await db.BEExecutions.FindAsync(id);
            }
            return(bEExecution);
        }
示例#9
0
        public async Task <BESearchRequest> GetBESearchRequest(int id)
        {
            BESearchRequest bESearchRequest = null;

            using (var db = new BEMainDBContext()) {
                bESearchRequest = await db.BESearchRequests.FindAsync(id);
            }
            return(bESearchRequest);
        }
 public async Task UpdateBEMinedTexts(IEnumerable <BEMinedText> updatedTexts)
 {
     using (var db = new BEMainDBContext()) {
         foreach (BEMinedText text in updatedTexts)
         {
             db.BEMinedTexts.AddOrUpdate(text);
         }
         await db.SaveChangesAsync();
     }
 }
示例#11
0
        public async Task <BESearchRequest> PostBESearchRequest(BESearchRequest newBESearchRequest)
        {
            BESearchRequest createdBESearchRequest;

            using (var db = new BEMainDBContext()) {
                createdBESearchRequest = db.BESearchRequests.Add(newBESearchRequest);
                await db.SaveChangesAsync();
            }
            return(createdBESearchRequest);
        }
示例#12
0
        public async Task <BEExecution> PostBEExecution(BEExecution newBEExecution)
        {
            BEExecution createdBEExecution = null;

            using (var db = new BEMainDBContext()) {
                createdBEExecution = db.BEExecutions.Add(newBEExecution);
                await db.SaveChangesAsync();
            }
            return(createdBEExecution);
        }
        public async Task UpdateBEMinedTextsStatus(IEnumerable <int> IDs, TextStatus newStatus)
        {
            using (var db = new BEMainDBContext()) {
                db.BEMinedTexts
                .Where(mt => IDs.Contains(mt.ID))
                .ToList()
                .ForEach(mt => mt.TheStatus = newStatus);

                await db.SaveChangesAsync();
            }
        }
        public async Task <IEnumerable <MinerData> > GetMinerDatum(int executionID)
        {
            IEnumerable <MinerData> minerDatum = null;

            using (var db = new BEMainDBContext()) {
                minerDatum = db.MinerData
                             .Where(md => md.TheExecutionID == executionID)
                             .ToList();
            }
            return(minerDatum);
        }
示例#15
0
        public IEnumerable <BEExecution> GetBEExecutions(int searchRequestID)
        {
            IEnumerable <BEExecution> executionsOfSReq = null;

            using (var db = new BEMainDBContext()) {
                executionsOfSReq = db.BEExecutions
                                   .Where(exec => exec.SearchRequestID == searchRequestID)
                                   .OrderBy(exec => exec.StartedOn)
                                   .ToList();
            }
            return(executionsOfSReq);
        }
示例#16
0
        public async Task <TwitterData> GetTwitterData(int executionID)
        {
            TwitterData twitterData = null;

            using (var db = new BEMainDBContext()) {
                twitterData = db.TwitterData
                              .Where(td => td.TheExecutionID == executionID)
                              .ToList()
                              .FirstOrDefault();
            }
            return(twitterData);
        }
示例#17
0
        public BESearchRequest GetBESearchRequestByReceived(int receivedID)
        {
            BESearchRequest theBESReq = null;

            using (var db = new BEMainDBContext()) {
                theBESReq = db.BESearchRequests
                            .Where(sReq => sReq.TheReceivedID == receivedID)
                            .ToList()
                            .FirstOrDefault();
            }
            return(theBESReq);
        }
        public async Task <MinerData> GetMinerData(int executionID, SourceOption source)
        {
            MinerData minerData = null;

            using (var db = new BEMainDBContext()) {
                minerData = db.MinerData
                            .Where(md => (md.TheExecutionID == executionID) && (md.TheSource == source))
                            .ToList()
                            .FirstOrDefault();
            }
            return(minerData);
        }
        public async Task <int> GetBEMinedTextsCount(int executionID, SourceOption source, TextStatus status)
        {
            int textsCount = 0;

            using (var db = new BEMainDBContext()) {
                textsCount = db.BEMinedTexts
                             .Where(mt => (mt.ExecutionID == executionID) &&
                                    (mt.TheSource == source) &&
                                    (mt.TheStatus == status))
                             .Count();
            }
            return(textsCount);
        }
        public async Task <IEnumerable <BEMinedText> > GetBEMinedTexts(int executionID, SourceOption source, TextStatus status, int windowSize)
        {
            IEnumerable <BEMinedText> theTexts = null;

            using (var db = new BEMainDBContext()) {
                theTexts = db.BEMinedTexts
                           .Where(mt => (mt.ExecutionID == executionID) &&
                                  (mt.TheSource == source) &&
                                  (mt.TheStatus == status))
                           .ToList()
                           .Take(windowSize);
            }
            return(theTexts);
        }