public ActionResult AddNewExit(int cameraid) { try { _logger.LogInformation("AddNewExit() called from: " + HttpContext.Connection.RemoteIpAddress.ToString()); DateTime dateTime = DateTime.UtcNow.ToTimezone(Configuration["Timezone"]); lock (lockExitObject) { ExitRecord exitRecord = new ExitRecord(); exitRecord.Timestamp = dateTime; exitRecord.CameraId = cameraid; Context.ExitRecords.Add(exitRecord); var exitCount = Context.ExitCounts .Where(x => x.CameraId == cameraid && x.Date == dateTime.Date) ?.Select(x => x) ?.FirstOrDefault(); if (exitCount == null) { ExitCount newExitCount = new ExitCount(); newExitCount.Date = dateTime.Date; newExitCount.CameraId = cameraid; newExitCount.Count = 1; Context.ExitCounts.Add(newExitCount); Context.SaveChangesAsync(); } else { exitCount.Count = exitCount.Count + 1; Context.SaveChangesAsync(); } } //BoschApiHub.BroadcastExit(cameraid); SignalRHubConnection.GetInstance(Configuration["SignalRHubUrl"]) .SendAsync("BroadcastExit", cameraid); return(new JsonResult(new { respcode = ResponseCodes.Successful, })); } catch (Exception e) { _logger.LogError($"Generic exception handler invoked. {e.Message}: {e.StackTrace}"); return(new JsonResult(new { respcode = ResponseCodes.SystemError, description = ResponseCodes.SystemError.DisplayName(), Error = e.Message })); } }
public void Remove(ExitRecord exit) { using (IDbCommand session = Helpers.OpenSession()) using (IDbTransaction transaction = session.Connection.BeginTransaction()) { session.Connection.Delete(exit); transaction.Commit(); } }