コード例 #1
0
        public IHttpActionResult PutSessionSwitch(int id, SessionSwitch sessionSwitch)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != sessionSwitch.Id)
            {
                return(BadRequest());
            }

            db.Entry(sessionSwitch).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!SessionSwitchExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
コード例 #2
0
        public void InsertSessionSwitch(SessionSwitch sessionSwitch)
        {
            using (var db = NewDb())
            {
                db.Insert(sessionSwitch);
            }

            _sessionSwitches.Add(sessionSwitch);
        }
コード例 #3
0
        public IHttpActionResult GetSessionSwitch(int id)
        {
            SessionSwitch sessionSwitch = db.SessionSwitch.Find(id);

            if (sessionSwitch == null)
            {
                return(NotFound());
            }

            return(Ok(sessionSwitch));
        }
コード例 #4
0
        public IHttpActionResult PostSessionSwitch(SessionSwitch sessionSwitch)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.SessionSwitch.Add(sessionSwitch);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = sessionSwitch.Id }, sessionSwitch));
        }
コード例 #5
0
        public IHttpActionResult DeleteSessionSwitch(int id)
        {
            SessionSwitch sessionSwitch = db.SessionSwitch.Find(id);

            if (sessionSwitch == null)
            {
                return(NotFound());
            }

            db.SessionSwitch.Remove(sessionSwitch);
            db.SaveChanges();

            return(Ok(sessionSwitch));
        }
コード例 #6
0
        void SystemEvents_SessionSwitch(object sender, SessionSwitchEventArgs e)
        {
            Logger.DebugFormat("SessionSwitch: {0}", e.Reason);

            try
            {
                var sessionSwitch = new SessionSwitch()
                {
                    Username = Session.Username,
                    Reason   = e.Reason.ToString()
                };

                TimesheetsContext.My.InsertSessionSwitch(sessionSwitch);
                _sessionSwitches.Add(sessionSwitch);
            }
            catch (Exception ex)
            {
                HandleException(ex);
            }
        }
コード例 #7
0
 public static void SystemSessionSwitch(int sessionId, SessionSwitchReason reason)
 {
     SessionSwitch?.Invoke(sessionId, reason);
 }