public void Start(UrlHelper urlHelper, CssPacket packet, RCertificate certificate) { this._urlHelper = urlHelper; ProcessPacket(packet); Identity.RCertificate = certificate; PostActions_Process(); CsoContext.Db.SyncAnabolicChanges(); RemoteUpdates.Send.ApplicationReleaseChanged(Identity.ApplicationRelease); if (_notifycationCreated) { foreach (var webUser in CsoContext.Db.WebUsers) { RemoteUpdates.Send.PendingNotificationsChanged(webUser); } } }
private void ProcessPacket(CssPacket packet) { if (packet is CsspIdentity) { bool created; Identity = ((CsspIdentity) packet).Db_GetOrCreate(CsoContext.Db, out created); if (created) { PostAction_Append(() => Identity.Db_Notify_CauseCreated(_urlHelper.Action("View", "RIdentity", new {Identity.Id}, _urlHelper.RequestContext.HttpContext.Request.Url.Scheme))); _notifycationCreated = true; } ((CsspIdentity) packet).InnerPackets.ForEach(ProcessPacket); } else if (packet is CsspException) { var parsedPacket = (CsspException) packet; var rException = parsedPacket.Db_CreateRow(Identity); PostAction_Append(() => rException.Db_Notify_CauseCreated(_urlHelper.Action("View", "RException", new { rException.Id }, _urlHelper.RequestContext.HttpContext.Request.Url.Scheme))); PostAction_Append(() => RemoteUpdates.Send.IdentityExceptionsChanged(Identity)); _notifycationCreated = true; } else if (packet is CsspLog) { var parsedPacket = (CsspLog) packet; var rLog = parsedPacket.Db_CreateRow(Identity); if (rLog.Severity == CsspLog.LogSeverity.Priority) PostAction_Append(() => rLog.Db_Notify_CauseCreated(_urlHelper.Action("View", "RLog", new { rLog.Id }, _urlHelper.RequestContext.HttpContext.Request.Url.Scheme))); PostAction_Append(() => RemoteUpdates.Send.IdentityLogsChanged(Identity)); _notifycationCreated = true; } else if (packet is CsspFeedback) { var parsedPacket = (CsspFeedback) packet; var rFeedback = parsedPacket.Db_CreateRow(Identity); PostAction_Append(() => rFeedback.Db_Notify_CauseCreated(_urlHelper.Action("View", "RFeedback", new { rFeedback.Id }, _urlHelper.RequestContext.HttpContext.Request.Url.Scheme))); PostAction_Append(() => RemoteUpdates.Send.IdentityFeedbacksChanged(Identity)); _notifycationCreated = true; } else if (packet is CsspInfoIdentity) { ((CsspInfoIdentity) packet).Db_Apply(Identity); } else if (packet is CsspInfoApplication) { ((CsspInfoApplication) packet).Db_Apply(Identity.ApplicationRelease.Application); } else if (packet is CsspInfoComputer) { ((CsspInfoComputer) packet).Db_Apply(Identity.RUser.RComputer); } else if (packet is CsspInfoUser) { ((CsspInfoUser) packet).Db_Apply(Identity.RUser); } }
/// <summary>Converts the packet to JSON and encodes it as UTF8.</summary> public byte[] GetJson_FromPacket(CssPacket packet) { var json = JsonConvert.SerializeObject(packet, Formatting.None, new JsonSerializerSettings()); return CsGlobal.Transmission.Http.CsServer.Encoding.GetBytes(json); }
public Entry(CssPacket packet) { Packet = packet; }