public bool ErrorLog(string ConnectionId, string ErrorMsg) { bool resultLog = false; try { if (!string.IsNullOrEmpty(ConnectionId) && !string.IsNullOrEmpty(ErrorMsg)) { using (var db = new LicensingEntities()) { Guid connectionID = Guid.Parse(ConnectionId); var connectionItems = db.Connection.Where(id => id.ConnectionID == connectionID); if (connectionItems.Count() > 0) { var connectionItem = connectionItems.First(); connectionItem.ErrorLog = ErrorMsg; db.SaveChanges(); resultLog = true; } else { var waitConnections = db.WaitConnection.Where(con => con.ConnectionID == connectionID); if (waitConnections.Count() > 0) { var waitConnectionItem = waitConnections.First(); waitConnectionItem.ErrorLog = ErrorMsg; db.SaveChanges(); resultLog = true; } } } } } catch (Exception ex) { resultLog = false; System.Diagnostics.Debug.WriteLine(ex); } finally { GC.Collect(); GC.WaitForPendingFinalizers(); } return resultLog; }
public bool IsConnectionStop(string ConnectionId) { bool result = false; try { if (!string.IsNullOrEmpty(ConnectionId)) { Guid connection = Guid.Parse(ConnectionId); using (var db = new LicensingEntities()) { var Connections = db.Connection.Where(con => con.ConnectionID == connection); if (Connections.Count() > 0) { var connectionItem = Connections.First(); if (connectionItem.StopCalled.HasValue) { if (!connectionItem.StopCalled.Value && !connectionItem.ReStarted) { result = true; connectionItem.ReStarted = true; if (connectionItem.DisConnectedDateTime.HasValue) { DateTime disconnection = connectionItem.DisConnectedDateTime.Value; connectionItem.DisConnectedDateTime = disconnection.AddSeconds(110); // 110초 정도의 라이센스 아웃 시간 증가. } db.SaveChanges(); } else { result = false; } } else { result = false; } } else { var waitConnections = db.WaitConnection.Where(con => con.ConnectionID == connection); if (waitConnections.Count() > 0) { var waitConnectionItem = waitConnections.First(); if (waitConnectionItem.StopCalled.HasValue) { if (!waitConnectionItem.StopCalled.Value && !waitConnectionItem.ReStarted) { result = true; waitConnectionItem.ReStarted = true; db.SaveChanges(); } else { result = false; } } else { result = false; } } } } } } catch (Exception ex) { result = false; System.Diagnostics.Debug.WriteLine(ex); } finally { GC.Collect(); GC.WaitForPendingFinalizers(); } return result; }