コード例 #1
0
        public async Task <bool> RegisterForSession(ArloRegistration rego, ArloSession session)
        {
            var evRego = new ArloEventSessionRegistration
            {
                Link = new List <Link>()
            };

            var linkSession = new Link
            {
                Rel   = Constants.Rel.RelatedSession,
                Type  = Constants.XmlType,
                Title = "Session",
                Href  = _systemService.GetRealUrl(string.Format(Constants.Endpoints.EventSessionPattern, session.SessionID))
            };

            var linkRego = new Link
            {
                Rel   = Constants.Rel.ParentRegistration,
                Type  = Constants.XmlType,
                Title = "ParentRegistration",
                Href  = _systemService.GetRealUrl(string.Format(Constants.Endpoints.ParentRegistrationPattern, rego.RegistrationID))
            };

            evRego.Link.Add(linkRego);
            evRego.Link.Add(linkSession);

            var result = await _regoRepo.PostResult(evRego,
                                                    string.Format(Constants.Endpoints.SessionRegistrationsPattern, rego.RegistrationID));

            if (result.IsSuccessCode)
            {
                await GetSessionRegistrations(rego, true); //recache this

                _logService.TrackTrace("Register", XSeverityLevel.Information,

                                       new Dictionary <string, string>
                {
                    {
                        "text", result.Result
                    },
                    { "rego", rego.RegistrationID },
                    { "sessionid", session.SessionID }
                });
            }
            else
            {
                _logService.TrackTrace("Unregister issue", XSeverityLevel.Error,

                                       new Dictionary <string, string>
                {
                    {
                        "text", result.Result
                    },
                    { "rego", rego.RegistrationID },
                    { "sessionid", session.SessionID }
                });
            }

            return(result.IsSuccessCode);
        }
コード例 #2
0
        public async Task <bool> UnregisterFromSession(ArloRegistration rego, ArloEventSessionRegistration session)
        {
            var result = await _regoRepo.UploadRaw(null,
                                                   $"{rego.FindLink(Constants.Rel.Self)}{string.Format(Constants.Endpoints.SessionRegistrationsPattern2, session.RegistrationID)}",
                                                   "DELETE");

            if (result.IsSuccessCode)
            {
                await GetSessionRegistrations(rego, true); //recache this

                _logService.TrackTrace("Unregsiter", XSeverityLevel.Error,

                                       new Dictionary <string, string>
                {
                    {
                        "text", result.Result
                    },
                    { "rego", rego.RegistrationID },
                    { "registrationactualId", session.RegistrationID }
                });
            }
            else
            {
                _logService.TrackTrace("Unregister issue", XSeverityLevel.Error,

                                       new Dictionary <string, string>
                {
                    {
                        "text", result.Result
                    },
                    { "rego", rego.RegistrationID },
                    { "registrationactualId", session.RegistrationID }
                });
            }

            return(result.IsSuccessCode);
        }