/// <summary>
        /// Return the HashCode of this object.
        /// </summary>
        /// <returns>The HashCode of this object.</returns>
        public override Int32 GetHashCode()
        {
            unchecked
            {
                return(AuthorizationStatus.GetHashCode() * 23 ^
                       GeoCoordinates.GetHashCode() * 19 ^

                       (ChargingStationName != null
                           ? ChargingStationName.GetHashCode() * 17
                           : 0) ^

                       (Address != null
                           ? Address.GetHashCode() * 13
                           : 0) ^

                       (SessionId.HasValue
                           ? SessionId.Value.GetHashCode() * 11
                           : 0) ^

                       (StatusCode != null
                           ? StatusCode.GetHashCode() * 7
                           : 0) ^

                       (TermsOfUse != null
                           ? TermsOfUse.GetHashCode() * 5
                           : 0) ^

                       (AdditionalInfo != null
                           ? AdditionalInfo.GetHashCode() * 3
                           : 0));
            }
        }
        protected override object AddNewCore()
        {
            ITermsOfUse use1 = new TermsOfUse();

            base.Add(use1);
            return(use1);
        }
Esempio n. 3
0
 private bool ExecuteTermsOfUseCall(bool queryAcceptanceStatus)
 {
     return(FailFunc.TryExecute(() =>
     {
         var request = new TermsOfUse(queryAcceptanceStatus);
         var response = client.ExecuteAndDeserializeWithContent <TermsOfUseStatus>(request);
         return response.content.accepted;
     }, false));
 }
        public async Task Delete(int id)
        {
            TermsOfUse termsOfUse = await _ctx.TermsOfUses.FirstOrDefaultAsync(x => x.Id == id);

            if (termsOfUse != null)
            {
                _ctx.TermsOfUses.Remove(termsOfUse);
            }
        }
Esempio n. 5
0
        public async Task <IActionResult> GetTermsOfUse(int id)
        {
            TermsOfUse termsOfUse = await termsOfUseRepository.GetTermsOfUse(id);

            if (termsOfUse == null)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"TermsOfUse id == {id}. Not found!"));
            }
            return(Ok(termsOfUse.Map()));
        }
Esempio n. 6
0
        protected override object AddNewCore()
        {
            ITermsOfUse termsOfUse = new TermsOfUse();

            Add(termsOfUse);

            // Not necessary to hook up event handlers, base class calls InsertItem

            return(termsOfUse);
        }
Esempio n. 7
0
        public async Task <IActionResult> Add([FromBody] TermsOfUseDto termsOfUseDto)
        {
            if (await termsOfUseRepository.GetTermsOfUse(termsOfUseDto.PublicId) != null)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"TermsOfUse with this PublicId == {termsOfUseDto.PublicId} already exists"));
            }
            TermsOfUse termsOfUse = new TermsOfUse(termsOfUseDto.PublicId, termsOfUseDto.DocumentName);
            await termsOfUseRepository.Add(termsOfUse);

            await unitOfWork.SaveEntitiesAsync();

            return(Ok());
        }
        /// <summary>
        /// Return a XML representation of this object.
        /// </summary>
        /// <param name="CustomAuthorizationStopSerializer">A delegate to customize the serialization of AuthorizationStop respones.</param>
        /// <param name="CustomStatusCodeSerializer">A delegate to serialize custom StatusCode XML elements.</param>
        /// <param name="CustomIdentificationSerializer">A delegate to serialize custom Identification XML elements.</param>
        public XElement ToXML(CustomXMLSerializerDelegate <MobileAuthorizationStart> CustomMobileAuthorizationStartSerializer = null,
                              CustomXMLSerializerDelegate <StatusCode> CustomStatusCodeSerializer = null,
                              CustomXMLSerializerDelegate <Address> CustomAddressSerializer       = null)

        {
            var XML = new XElement(OICPNS.MobileAuthorization + "eRoamingMobileAuthorizationStart",

                                   SessionId.HasValue
                              ? new XElement(OICPNS.MobileAuthorization + "SessionID", SessionId.ToString())
                              : null,

                                   new XElement(OICPNS.MobileAuthorization + "AuthorizationStatus", AuthorizationStatus.ToString()),

                                   StatusCode.HasValue
                              ? StatusCode.Value.ToXML(CustomStatusCodeSerializer: CustomStatusCodeSerializer)
                              : null,

                                   TermsOfUse.IsNeitherNullNorEmpty()
                              ? new XElement(OICPNS.MobileAuthorization + "TermsOfUse", TermsOfUse.FirstText())
                              : null,

                                   new XElement(OICPNS.EVSEData + "GeoCoordinates",
                                                new XElement(OICPNS.CommonTypes + "DecimalDegree",                                                                                // Force 0.00... (dot) format!
                                                             new XElement(OICPNS.CommonTypes + "Longitude", GeoCoordinates.Longitude.ToString("{0:0.######}").Replace(",", ".")), // CultureInfo.InvariantCulture.NumberFormat)),
                                                             new XElement(OICPNS.CommonTypes + "Latitude", GeoCoordinates.Latitude.ToString("{0:0.######}").Replace(",", "."))    // CultureInfo.InvariantCulture.NumberFormat))
                                                             )
                                                ),

                                   Address != null
                              ? Address.ToXML(OICPNS.MobileAuthorization + "Address",
                                              CustomAddressSerializer)
                              : null,

                                   AdditionalInfo.IsNeitherNullNorEmpty()
                              ? new XElement(OICPNS.MobileAuthorization + "AdditionalInfo", AdditionalInfo.FirstText())
                              : null,

                                   //AdditionalInfo.IsNotNullOrEmpty() && AdditionalInfo.Count() > 1
                                   //    ? new XElement(OICPNS.MobileAuthorization + "EnAdditionalInfo",      AdditionalInfo.FirstText())
                                   //    : null

                                   ChargingStationName.IsNeitherNullNorEmpty()
                              ? new XElement(OICPNS.MobileAuthorization + "ChargingStationName", ChargingStationName.FirstText())
                              : null

                                   );

            return(CustomMobileAuthorizationStartSerializer != null
                       ? CustomMobileAuthorizationStartSerializer(this, XML)
                       : XML);
        }
Esempio n. 9
0
 public static TermsOfUseDto Map(this TermsOfUse termsOfUse)
 {
     if (termsOfUse == null)
     {
         return(null);
     }
     else
     {
         return(new TermsOfUseDto
         {
             Id = termsOfUse.Id,
             PublicId = termsOfUse.PublicId,
             DocumentName = termsOfUse.DocumentName
         });
     }
 }
Esempio n. 10
0
        public async Task <IActionResult> Update([FromBody] TermsOfUseDto termsOfUseDto)
        {
            TermsOfUse termsOfUse = await termsOfUseRepository.GetTermsOfUse(termsOfUseDto.Id);

            if (termsOfUse == null)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"TermsOfUse id == {termsOfUseDto.Id}. Not found!"));
            }
            if (termsOfUse.PublicId != termsOfUseDto.PublicId)
            {
                if (await termsOfUseRepository.GetTermsOfUse(termsOfUseDto.PublicId) != null)
                {
                    return(StatusCode(StatusCodes.Status500InternalServerError, $"TermsOfUse with this PublicId == {termsOfUseDto.PublicId} already exists"));
                }
                termsOfUse.SetPublicId(termsOfUseDto.PublicId);
            }
            termsOfUse.SetDocumentName(termsOfUseDto.DocumentName);
            await termsOfUseRepository.Update(termsOfUse);

            await unitOfWork.SaveEntitiesAsync();

            return(Ok());
        }
            /// <summary>
            /// Compares two mobile authorization start for equality.
            /// </summary>
            /// <param name="MobileAuthorizationStart">A mobile authorization start to compare with.</param>
            /// <returns>True if both match; False otherwise.</returns>
            public override Boolean Equals(MobileAuthorizationStart MobileAuthorizationStart)
            {
                if ((Object)MobileAuthorizationStart == null)
                {
                    return(false);
                }

                return(AuthorizationStatus.Equals(MobileAuthorizationStart.AuthorizationStatus) &&
                       GeoCoordinates.Equals(MobileAuthorizationStart.GeoCoordinates) &&

                       ((ChargingStationName != null && MobileAuthorizationStart.ChargingStationName != null) ||
                        (ChargingStationName == null && MobileAuthorizationStart.ChargingStationName == null && ChargingStationName.Equals(MobileAuthorizationStart.ChargingStationName))) &&

                       ((Address != null && MobileAuthorizationStart.Address != null) ||
                        (Address == null && MobileAuthorizationStart.Address == null && Address.Equals(MobileAuthorizationStart.Address))) &&

                       ((!SessionId.HasValue && !MobileAuthorizationStart.SessionId.HasValue) ||
                        (SessionId.HasValue && MobileAuthorizationStart.SessionId.HasValue && SessionId.Value.Equals(MobileAuthorizationStart.SessionId.Value))) &&

                       ((StatusCode != null && MobileAuthorizationStart.StatusCode != null) ||
                        (StatusCode == null && MobileAuthorizationStart.StatusCode == null && StatusCode.Equals(MobileAuthorizationStart.StatusCode))) &&

                       ((TermsOfUse != null && MobileAuthorizationStart.TermsOfUse != null) ||
                        (TermsOfUse == null && MobileAuthorizationStart.TermsOfUse == null && TermsOfUse.Equals(MobileAuthorizationStart.TermsOfUse))) &&

                       ((AdditionalInfo != null && MobileAuthorizationStart.AdditionalInfo != null) ||
                        (AdditionalInfo == null && MobileAuthorizationStart.AdditionalInfo == null && AdditionalInfo.Equals(MobileAuthorizationStart.AdditionalInfo))));
            }
 public Task Update(TermsOfUse termsOfUse)
 {
     _ctx.Entry(termsOfUse).State = EntityState.Modified;
     return(Task.CompletedTask);
 }
 public Task Add(TermsOfUse entity)
 {
     _ctx.AddAsync(entity);
     return(Task.CompletedTask);
 }
Esempio n. 14
0
        internal string GetRequestParameters(Guid appId)
        {
            StringBuilder     result   = new StringBuilder();
            XmlWriterSettings settings = SDKHelper.XmlUnicodeWriterSettings;

            using (XmlWriter writer = XmlWriter.Create(result, settings))
            {
                if (appId != Guid.Empty)
                {
                    writer.WriteElementString("id", appId.ToString());
                }

                CultureSpecificNames.AppendLocalizedElements(writer, "name");

                if (PublicKeys.Count > 0)
                {
                    writer.WriteStartElement("public-keys");

                    foreach (byte[] publicKey in PublicKeys)
                    {
                        string hexString = BitConverter.ToString(publicKey);
                        hexString = hexString.Replace("-", string.Empty);

                        writer.WriteElementString("public-key", hexString);
                    }

                    writer.WriteEndElement();
                }

                if (OnlineBaseAuthorizations.Count > 0)
                {
                    writer.WriteStartElement("person-online-base-auth");
                    writer.WriteRaw(AuthorizationRule.GetRulesXml(OnlineBaseAuthorizations));
                    writer.WriteEndElement();
                }

                if (OfflineBaseAuthorizations.Count > 0)
                {
                    writer.WriteStartElement("person-offline-base-auth");
                    writer.WriteRaw(AuthorizationRule.GetRulesXml(OfflineBaseAuthorizations));
                    writer.WriteEndElement();
                }

                if (CallableMethods.Count > 0)
                {
                    string methodString = string.Empty;
                    bool   methodAdded  = false;
                    foreach (HealthVaultMethods method in CallableMethods)
                    {
                        if (methodAdded)
                        {
                            methodString = methodString + "," + method;
                        }
                        else
                        {
                            methodString = method.ToString();
                            methodAdded  = true;
                        }
                    }

                    writer.WriteElementString("methods", methodString);
                }

                if (ActionUrl != null)
                {
                    writer.WriteElementString("action-url", ActionUrl.OriginalString);
                }

                CultureSpecificDescriptions.AppendLocalizedElements(
                    writer, "description");

                CultureSpecificAuthorizationReasons.AppendLocalizedElements(
                    writer, "auth-reason");

                if (!string.IsNullOrEmpty(DomainName))
                {
                    writer.WriteElementString("domain-name", DomainName);
                }

                LargeLogo?.AppendRequestParameters(writer, "large-logo", "logo");

                SmallLogo?.AppendRequestParameters(writer, "small-logo", "logo");

                if ((ConfigurationOptions & ApplicationOptions.PersistentTokensAllowed) ==
                    ApplicationOptions.PersistentTokensAllowed &&
                    PersistentTokenTtlInSeconds != null)
                {
                    writer.WriteStartElement("persistent-tokens");

                    writer.WriteElementString("enabled", "true");
                    writer.WriteElementString("token-ttl-seconds", PersistentTokenTtlInSeconds.Value.ToString());

                    writer.WriteEndElement();
                }

                PrivacyStatement?.AppendRequestParameters(writer, "privacy-statement", "statement");

                TermsOfUse?.AppendRequestParameters(writer, "terms-of-use", "statement");

                if ((ConfigurationOptions & ApplicationOptions.ApplicationAuthorizationRequired) ==
                    ApplicationOptions.ApplicationAuthorizationRequired)
                {
                    writer.WriteElementString("app-auth-required", "true");
                }

                if ((ConfigurationOptions & ApplicationOptions.RestrictApplicationUsers) == ApplicationOptions.RestrictApplicationUsers)
                {
                    writer.WriteElementString("restrict-app-users", "true");
                }

                if ((ConfigurationOptions & ApplicationOptions.PublishApplication) ==
                    ApplicationOptions.PublishApplication)
                {
                    writer.WriteElementString("is-published", "true");
                }

                DtcSuccessMessage?.AppendRequestParameters(
                    writer, "dtc-success-message", "statement");

                if (ApplicationAttributes.Count != 0)
                {
                    writer.WriteStartElement("app-attributes");
                    foreach (string attribute in ApplicationAttributes)
                    {
                        if (!string.IsNullOrEmpty(attribute))
                        {
                            writer.WriteElementString("app-attribute", attribute);
                        }
                    }

                    writer.WriteEndElement();
                }

                if (!string.IsNullOrEmpty(ValidIPPrefixes))
                {
                    writer.WriteElementString("valid-ip-prefixes", ValidIPPrefixes);
                }

                if (VocabularyAuthorizations.Count > 0)
                {
                    writer.WriteStartElement("vocabulary-authorizations");
                    foreach (VocabularyAuthorization auth in VocabularyAuthorizations)
                    {
                        auth.WriteXml(writer);
                    }

                    writer.WriteEndElement();
                }

                SupportedRecordLocations.WriteXml(writer, "supported-record-locations");

                if (SupportedHealthVaultInstances.Count > 0 || SupportAllHealthVaultInstances)
                {
                    writer.WriteStartElement("supported-instances");

                    if (SupportAllHealthVaultInstances)
                    {
                        writer.WriteAttributeString("support-all-instances", SDKHelper.XmlFromBool(SupportAllHealthVaultInstances));
                    }
                    else
                    {
                        foreach (string instanceId in SupportedHealthVaultInstances)
                        {
                            writer.WriteElementString("instance-id", instanceId);
                        }
                    }

                    writer.WriteEndElement();
                }

                if (MeaningfulUseSources.Count > 0)
                {
                    writer.WriteStartElement("meaningful-use-sources");
                    foreach (string source in MeaningfulUseSources)
                    {
                        writer.WriteElementString("source", source);
                    }

                    writer.WriteEndElement();
                }

                if (IsOnboardedToBdp.HasValue && IsBulkExtractionPermissionRequired.HasValue)
                {
                    writer.WriteStartElement("bulk-extraction-settings");

                    writer.WriteElementString("is-onboarded", SDKHelper.XmlFromBool(IsOnboardedToBdp.Value));
                    writer.WriteElementString("is-permission-required", SDKHelper.XmlFromBool(IsBulkExtractionPermissionRequired.Value));

                    writer.WriteEndElement();
                }
            }

            return(result.ToString());
        }