private void AddApplication(string appName) { if (!ApplicationUsage.ContainsKey(appName)) { ApplicationUsage.Add(appName, new Statistics(Statistics.Stats.Activity)); } }
public ActionResult DeleteConfirmed(int id) { ApplicationUsage applicationUsage = db.ApplicationUsages.Find(id); db.ApplicationUsages.Remove(applicationUsage); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "ApplicationUsageID,InvocationTime,TrackedApplicationID")] ApplicationUsage applicationUsage) { if (ModelState.IsValid) { db.Entry(applicationUsage).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.TrackedApplicationID = new SelectList(db.TrackedApplications, "TrackedApplicationID", "TrackedApplicationName", applicationUsage.TrackedApplicationID); return(View(applicationUsage)); }
public IHttpActionResult CreateApplicationUsage([FromBody] ApplicationUsage applicationUsage) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } applicationUsage.ApplicationUsageID = 0; db.ApplicationUsages.Add(applicationUsage); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = applicationUsage.ApplicationUsageID }, applicationUsage)); }
// GET: ApplicationUsages/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ApplicationUsage applicationUsage = db.ApplicationUsages.Find(id); if (applicationUsage == null) { return(HttpNotFound()); } return(View(applicationUsage)); }
// GET: ApplicationUsages/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ApplicationUsage applicationUsage = db.ApplicationUsages.Find(id); if (applicationUsage == null) { return(HttpNotFound()); } ViewBag.TrackedApplicationID = new SelectList(db.TrackedApplications, "TrackedApplicationID", "TrackedApplicationName", applicationUsage.TrackedApplicationID); return(View(applicationUsage)); }
public IApplication Update(Process process) { //Reliably detect the process file name: string strFileName = DetectFilePath(process); string strFileDescription = DetectFileDescription(process); try { if (_previousApplicationName != strFileDescription) { if (_applications[_previousApplicationName] != null && _applications[_previousApplicationName].Usage.FindLast(u => !u.IsClosed) != null) { _applications[_previousApplicationName].Usage.FindLast(u => !u.IsClosed).End(); } _previousApplicationName = strFileDescription; if ( !_applications.Contains(strFileDescription, strFileName)) { try { using (new MemoryStream()) { var AppIcon = Icon.ExtractAssociatedIcon(strFileName); _applications.Add( new ActivityMonitor.Application.Application(strFileDescription, strFileName) { Icon = AppIcon }); } } catch (Exception ex) { //Console.WriteLine(ex.Message); //todo logging } } var usage = new ApplicationUsage { DetailedName = process.MainWindowTitle }; usage.Start(); _applications[strFileDescription].Usage.Add(usage); } // if resume - no usages are present var currentProcess = strFileDescription; if (_applications[_previousApplicationName] != null && _applications[_previousApplicationName].Usage.FindLast(u => !u.IsClosed) == null && _applications[currentProcess] != null && _applications[currentProcess].Usage.FindLast(u => !u.IsClosed) == null) { var usage = new ApplicationUsage { DetailedName = process.MainWindowTitle }; usage.Start(); _applications[strFileDescription].Usage.Add(usage); } } catch (Exception ex) { //todo logging Console.WriteLine(ex.Message); } return(_applications[_previousApplicationName]); }
public ApplicationUsageController([FromServices] IAppLogCreator ac, [FromServices] IAppLogRetriever ar) { ac.PushLogs(); applicationUsage = new ApplicationUsage(ar); }