Пример #1
0
 public static string GetOwner(int id)
 {
     using (ODataOpenIssues dbContext = new ODataOpenIssues())
     {
         var q =
             (from s in dbContext.SOIssueList
              where s.Id == id
              select s).First();
         return(q.Owner);
     }
 }
Пример #2
0
        public static void CheckDBUpdate()
        {
            try
            {
                string logPath = ConfigurationManager.AppSettings["LogFilePath"];
                System.IO.StreamWriter file = new System.IO.StreamWriter(logPath, true);
                file.WriteLine(DateTime.Now.ToString() + " Begin method [CheckDBUpdate]");

                ODataOpenIssues dbContext = new ODataOpenIssues();

                DateTime to     = DateTime.Now.Date;
                DateTime from   = to.AddDays(-14);
                var      client = new StackOverflowAPI.StackOverflowApiClient();

                var questions = client.GetQuestionsAsync(from, to, "odata").Result.Items;
                foreach (var q in questions)
                {
                    var so = (from s in dbContext.SOIssueList
                              where s.Id == q.QuestionId
                              select s).First();
                    if (so.AnswerNumber != q.AnswerCount)
                    {
                        so.AnswerNumber = q.AnswerCount;
                    }

                    dbContext.SaveChanges();
                }

                questions = client.GetQuestionsAsync(from, to, "wcf-data-services").Result.Items;
                foreach (var q in questions)
                {
                    var so = (from s in dbContext.SOIssueList
                              where s.Id == q.QuestionId
                              select s).First();
                    if (so.AnswerNumber != q.AnswerCount)
                    {
                        so.AnswerNumber = q.AnswerCount;
                    }

                    dbContext.SaveChanges();
                }

                file.WriteLine(DateTime.Now.ToString() + " End method [CheckDBUpdate]");
                file.Close();
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Пример #3
0
        public static void UpdateOwner(int id, string owner)
        {
            if (owner != "")
            {
                using (ODataOpenIssues dbContext = new ODataOpenIssues())
                {
                    var q =
                        (from s in dbContext.SOIssueList
                         where s.Id == id
                         select s).First();
                    q.Owner        = owner;
                    q.Status       = Issue.IssueStatus.Assigned;
                    q.ResolvedDate = DateTime.Now;

                    dbContext.SaveChanges();
                }
            }
        }
Пример #4
0
        public static void UpdateStatus(int id, Issue.IssueStatus status)
        {
            using (ODataOpenIssues dbContext = new ODataOpenIssues())
            {
                var q =
                    (from s in dbContext.SOIssueList
                     where s.Id == id
                     select s).First();
                q.Status = status;

                if (status == Issue.IssueStatus.Active)
                {
                    q.Owner = null;
                }

                q.ResolvedDate = DateTime.Now;

                dbContext.SaveChanges();
            }
        }
Пример #5
0
        public ActionResult Index(bool?All, bool?Assigned, bool?NotResolved, bool?Active, int?page, string searchString)
        {
            var pageNumber = page ?? 1;
            int pageSize   = 20;

            ViewBag.All         = All;
            ViewBag.Assigned    = Assigned;
            ViewBag.NotResolved = NotResolved;
            ViewBag.Active      = Active;

            List <SelectListItem> items = new List <SelectListItem>();

            items.Add(new SelectListItem
            {
                Text  = "Resolved",
                Value = "Resolved"
            });
            items.Add(new SelectListItem
            {
                Text  = "Closed",
                Value = "Closed"
            });
            items.Add(new SelectListItem
            {
                Text  = "Active",
                Value = "Active"
            });
            items.Add(new SelectListItem
            {
                Text  = "Irrelevant",
                Value = "Irrelevant"
            });

            ViewBag.StatusChoice = items;

            var issues = ODataOpenIssues.GetAll();

            if (!String.IsNullOrEmpty(searchString))
            {
                issues = issues.Where(i => (i.Owner != null) && (i.Owner.ToUpper().Contains(searchString.ToUpper()))).ToList();
                All    = true;
            }

            if (All == true)
            {
                var model = issues.ToPagedList(pageNumber, pageSize);
                return(View(model));
            }
            else if (Assigned == true)
            {
                var model = issues.Where(i => i.Status == Issue.IssueStatus.Assigned).ToPagedList(pageNumber, pageSize);
                return(View(model));
            }
            else if (NotResolved == true)
            {
                var model = issues.Where(i => i.Status != Issue.IssueStatus.Closed && i.Status != Issue.IssueStatus.Resolved && i.Status != Issue.IssueStatus.Irrelevant).ToPagedList(pageNumber, pageSize);
                return(View(model));
            }
            else if (Active == true)
            {
                var model = issues.Where(i => i.Status == Issue.IssueStatus.Active).ToPagedList(pageNumber, pageSize);
                return(View(model));
            }
            else
            {
                var model = issues.Where(i => i.Status != Issue.IssueStatus.Closed && i.Status != Issue.IssueStatus.Resolved && i.Status != Issue.IssueStatus.Irrelevant).ToPagedList(pageNumber, pageSize);
                return(View(model));
            }
        }
Пример #6
0
        public static void InsertDataToDB()
        {
            try
            {
                string logPath = ConfigurationManager.AppSettings["LogFilePath"];
                System.IO.StreamWriter file = new System.IO.StreamWriter(logPath, true);
                file.WriteLine(DateTime.Now.ToString() + " Begin method [InsertDataToDB]");

                ODataOpenIssues dbContext = new ODataOpenIssues();

                DateTime to     = DateTime.Now.Date;
                DateTime from   = to.AddDays(-14);
                var      client = new StackOverflowAPI.StackOverflowApiClient();

                //Questions with tag [odata]
                var questions = client.GetQuestionsAsync(from, to, "odata").Result.Items;

                foreach (var q in questions)
                {
                    SOIssue s = new SOIssue();
                    s.Id = q.QuestionId;
                    if (!dbContext.SOIssueList.Any(so => so.Id == s.Id))
                    {
                        var creationDate = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc);
                        creationDate = creationDate.AddSeconds(q.CreationDate).ToLocalTime();

                        s.Title        = q.Title;
                        s.CreationDate = creationDate;
                        s.URL          = q.Link;
                        s.AnswerNumber = q.AnswerCount;
                        dbContext.SOIssueList.Add(s);
                    }
                }
                dbContext.SaveChanges();

                //Questions with tag [wcf-data-services]
                questions = client.GetQuestionsAsync(from, to, "wcf-data-services").Result.Items;

                foreach (var q in questions)
                {
                    SOIssue s = new SOIssue();
                    s.Id = q.QuestionId;
                    if (!dbContext.SOIssueList.Any(so => so.Id == s.Id))
                    {
                        var creationDate = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc);
                        creationDate = creationDate.AddSeconds(q.CreationDate).ToLocalTime();

                        s.Title        = q.Title;
                        s.CreationDate = creationDate;
                        s.URL          = q.Link;
                        s.AnswerNumber = q.AnswerCount;
                        dbContext.SOIssueList.Add(s);
                    }
                }


                dbContext.SaveChanges();

                file.WriteLine(DateTime.Now.ToString() + " End method [InsertDataToDB]");
                file.Close();
            }
            catch (Exception e)
            {
                throw;
            }
        }