public void Add(Query query) { using(var db = new QueryContext()) { db.Queries.Add(query); db.SaveChanges(); } }
public ActionResult Create(Query query) { if (ModelState.IsValid) { var createQuery = Mapper.Map<Query, CreateQuery>(query); bus.Send(createQuery); TempData["Message"] = "Query has been created"; return RedirectToAction("List"); } return View(query); }
public void UpdateQuery(Query query) { using (var db = new QueryContext()) { var q = db.Queries.Find(query.QueryId); q.Name = query.Name; q.DatabaseName = query.DatabaseName; q.AlertEmailTo = query.AlertEmailTo; q.AlertIfAboveThreshold = query.AlertIfAboveThreshold; q.CronExpression = query.CronExpression; q.QueryText = query.QueryText; q.ThresholdMilliseconds = query.ThresholdMilliseconds; db.SaveChanges(); } }
public ActionResult Edit(Query query, string editAction) { if (editAction == "Cancel") { query = queryContext.Queries.Find(query.QueryId); return PartialView("QueryDetails", query); } if( ModelState.IsValid) { var updateQuery = Mapper.Map<Query, UpdateQuery>(query); bus.Send(updateQuery); return PartialView("QueryDetails", query); } ViewBag.Databases = databases; return PartialView(query); }
private IEnumerable<QueryResult> GetResults(Query query, int duration, DateTime? fromDate, DateTime? toDate) { if( duration > 0 ) { toDate = DateTime.Now; fromDate = toDate - new TimeSpan(0, 0, duration); } else if (toDate.HasValue) { // so that today is included toDate = toDate + new TimeSpan(1, 0, 0, 0); } ViewBag.GraphTitle = query.Name; return from r in query.Results where fromDate == null || r.StartDate > fromDate where toDate == null || r.StartDate < toDate select r; }
public ActionResult GraphBuilderResult(int[] id, DateTime? fromDate, DateTime? toDate, int duration) { List<Query> resultList = new List<Query>(); foreach(var queryId in id) { var query = queryContext.Queries.Find(queryId); IEnumerable<QueryResult> results = GetResults(query, duration, fromDate, toDate); var queryCopy = new Query {Name = query.Name, Results = results.ToList() }; resultList.Add(queryCopy); } ViewBag.TimeOutDisplayValue = QueryTimeoutMilliseconds; return PartialView("MultiQueryGraph", resultList); }