Beispiel #1
0
		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);
				}
			}
		}
Beispiel #2
0
		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);
			}
		}
Beispiel #3
0
		/// <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);
		}
Beispiel #4
0
			public Entry(CssPacket packet)
			{
				Packet = packet;
			}