public RegnskabsmedlemDTO LavNytRegnskabsmedlem(MedlemsstatusEnum? forceretStatus = null)
 {
     RegnskabsmedlemDTO medlem = new RegnskabsmedlemDTO()
     {
         Adresse = "Adresse" + _regnskabsmedlemNummer,
         AdresseBy = "By" + _regnskabsmedlemNummer,
         AdressePostNummer = _regnskabsmedlemNummer.ToString(),
         ArkID = _regnskabsmedlemNummer,
         EMailAdresse = "EMail" + _regnskabsmedlemNummer,
         Foedselsdato = new DateTime(1977 + _regnskabsmedlemNummer, 1, 1),
         Koen = (_regnskabsmedlemNummer % 2 == 0 ? KoenEnum.Mand : KoenEnum.Kvinde),
         MobilNummer = (22220000 + _regnskabsmedlemNummer).ToString(),
         Navn = "Navn" + _regnskabsmedlemNummer,
         Status = (forceretStatus.HasValue ? forceretStatus.Value : (MedlemsstatusEnum)((_regnskabsmedlemNummer % 3) + 2))
     };
     _regnskabsmedlemNummer++;
     Regnskabsmedlemmer.Add(medlem);
     return medlem;
 }
예제 #2
0
 internal static void OverskrivMedRegnskabsmedlemsdata(RegnskabsmedlemDTO regnskabsmedlem, Medlem medlem)
 {
     medlem.Adresse = regnskabsmedlem.Adresse;
     medlem.AdresseBy = regnskabsmedlem.AdresseBy;
     medlem.AdressePostNummer = regnskabsmedlem.AdressePostNummer;
     medlem.ArkID = regnskabsmedlem.ArkID;
     medlem.EMailAdresse = regnskabsmedlem.EMailAdresse;
     medlem.Foedselsdato = regnskabsmedlem.Foedselsdato;
     medlem.Koen = regnskabsmedlem.Koen;
     medlem.MobilNummer = regnskabsmedlem.MobilNummer;
     medlem.Navn = regnskabsmedlem.Navn;
     medlem.Status = regnskabsmedlem.Status;
 }
예제 #3
0
 internal static bool HarRegnskabsmedlemOgKendtRegnskabsmedlemSammeData(RegnskabsmedlemDTO regnskabsmedlem, Regnskabsmedlem kendtRegnskabsmedlem)
 {
     return
         regnskabsmedlem.Adresse == kendtRegnskabsmedlem.Adresse &&
         regnskabsmedlem.AdresseBy == kendtRegnskabsmedlem.AdresseBy &&
         regnskabsmedlem.AdressePostNummer == kendtRegnskabsmedlem.AdressePostNummer &&
         regnskabsmedlem.ArkID == kendtRegnskabsmedlem.ArkID &&
         regnskabsmedlem.EMailAdresse == kendtRegnskabsmedlem.EMailAdresse &&
         regnskabsmedlem.Foedselsdato == kendtRegnskabsmedlem.Foedselsdato &&
         regnskabsmedlem.Koen == kendtRegnskabsmedlem.Koen &&
         regnskabsmedlem.MobilNummer == kendtRegnskabsmedlem.MobilNummer &&
         regnskabsmedlem.Navn == kendtRegnskabsmedlem.Navn &&
         regnskabsmedlem.Status == kendtRegnskabsmedlem.Status;
 }
예제 #4
0
        private RegnskabsmedlemDTO KonverterRegnskabsmedlemFraXmlNode(XmlNode medlemsnode)
        {
            RegnskabsmedlemDTO regnskabsmedlem = new RegnskabsmedlemDTO();

            #region ID - Conventus is expected to return an int value (non null) for all members - THROWS EXCEPTION
            int? ID = XmlNodeValueToNullableInt(medlemsnode, MEDLEMSFELT_ID);
            if (ID.HasValue)
            {
                regnskabsmedlem.ArkID = ID.Value;
            }
            else
            {
                throw new Exception("Medlemsnode: Intet <" + MEDLEMSFELT_ID + ">" + Environment.NewLine + medlemsnode.InnerText);
            }
            #endregion

            #region Status - TODO - THROWS EXCEPTION
            bool? slettet = XmlNodeValueToNullableBoolean(medlemsnode, MEDLEMSFELT_SLETTET);
            if (!slettet.HasValue)
            {
                throw new Exception(HentBesked(regnskabsmedlem.ArkID, "Felt ikke valid", MEDLEMSFELT_SLETTET, medlemsnode.InnerText));
            }
            else
            {
                //TODO: Refine
                if (slettet.Value)
                {
                    regnskabsmedlem.Status = MedlemsstatusEnum.Gammel;
                }
                else
                {
                    regnskabsmedlem.Status = MedlemsstatusEnum.Aktiv;
                }
            }
            #endregion

            #region Adresse - We will only use one address on the website. A Conventus member is only valid if such is provided. - THROWS EXCEPTION
            string adresse1 = XmlNodeValueToString(medlemsnode, MEDLEMSFELT_ADRESSE1);
            string adresse2 = XmlNodeValueToString(medlemsnode, MEDLEMSFELT_ADRESSE2);
            if (adresse1 != null)
            {
                regnskabsmedlem.Adresse = adresse1;
            }
            else if (adresse2 != null)
            {
                regnskabsmedlem.Adresse = adresse2;
            }
            else
            {
                throw new Exception(HentBesked(regnskabsmedlem.ArkID, "Ingen valid adresse", MEDLEMSFELT_ADRESSE1 + "> eller <" + MEDLEMSFELT_ADRESSE2, medlemsnode.InnerXml));
            }

            regnskabsmedlem.AdressePostNummer = XmlNodeValueToString(medlemsnode, MEDLEMSFELT_POSTNR);
            if (regnskabsmedlem.AdressePostNummer == null)
            {
                throw new Exception(HentBesked(regnskabsmedlem.ArkID, "Intet valid postnummer", MEDLEMSFELT_POSTNR, medlemsnode.InnerXml));
            }

            regnskabsmedlem.AdresseBy = XmlNodeValueToString(medlemsnode, MEDLEMSFELT_POSTNRBY);
            if (regnskabsmedlem.AdresseBy == null)
            {
                throw new Exception(HentBesked(regnskabsmedlem.ArkID, "Ingen valid by", MEDLEMSFELT_POSTNRBY, medlemsnode.InnerXml));
            }
            #endregion

            #region LOGGER ADVARSEL
            regnskabsmedlem.Navn = XmlNodeValueToString(medlemsnode, MEDLEMSFELT_NAVN);
            if (regnskabsmedlem.Navn == null)
            {
                KomponentManager.LoggingManager.LogAdvarsel(MethodInfo.GetCurrentMethod().DeclaringType.Name + "." + MethodInfo.GetCurrentMethod().Name, HentBesked(regnskabsmedlem.ArkID, "Inget valid navn", MEDLEMSFELT_NAVN));
            }

            regnskabsmedlem.EMailAdresse = XmlNodeValueToString(medlemsnode, MEDLEMSFELT_EMAIL);
            if (regnskabsmedlem.EMailAdresse == null)
            {
                KomponentManager.LoggingManager.LogAdvarsel(MethodInfo.GetCurrentMethod().DeclaringType.Name + "." + MethodInfo.GetCurrentMethod().Name, HentBesked(regnskabsmedlem.ArkID, "Ingen valid e-mail adresse", MEDLEMSFELT_EMAIL));
            }
            #endregion

            regnskabsmedlem.Foedselsdato = XmlNodeValueToNullableDateTime(medlemsnode, MEDLEMSFELT_BIRTH);
            regnskabsmedlem.Koen = XmlNodeValueToKoenEnum(medlemsnode, MEDLEMSFELT_KOEN);
            regnskabsmedlem.MobilNummer = XmlNodeValueToString(medlemsnode, MEDLEMSFELT_MOBIL);

            //TODO: Ignorerede felter
            //private const string MEDLEMSFELT_ALT_ID = "alt_id";
            //private const string MEDLEMSFELT_OFF_TLF = "off_tlf";
            //private const string MEDLEMSFELT_OFF_EMAIL = "off_email";
            //private const string MEDLEMSFELT_OFF_MOBIL = "off_mobil";
            //private const string MEDLEMSFELT_OFF_NAVN = "off_navn";
            //private const string MEDLEMSFELT_TLF = "tlf";

            return regnskabsmedlem;
        }
예제 #5
0
        private string Synkroniser_TestResultat_ReturnerNotater(
            int arkID,
            RegnskabsmedlemDTO regnskabsmedlem,
            LoggingManagerUnitTest loggingManager,
            bool medlemOgRegnskabsmeldemNavnSkalVaereEns,
            bool kendtRegnskabsmedlemOgRegnskabsmedlemNavnSkalVaereEns,
            MedlemsstatusEnum? medlemstatusHvisForskelligFraRegnskabsmedlemstatus = null)
        {
            loggingManager.Clear();
            (new MedlemmerManager()).SynkroniserRegnskabsmedlemmerOgMedlemmer(false);

            string notater = KomponentManager.LoggingManager.ToString();
            Assert.IsTrue(!String.IsNullOrEmpty(notater), notater);

            using (ArkDatabase db = new ArkDatabase())
            {
                Medlem medlem = db.Medlems.First(medlemItem => medlemItem.ArkID == arkID);
                Regnskabsmedlem kendtRegnskabsmedlem = db.Regnskabsmedlems.First(medlemItem => medlemItem.ArkID == arkID);

                if (medlemstatusHvisForskelligFraRegnskabsmedlemstatus.HasValue)
                {
                    Assert.AreEqual(medlemstatusHvisForskelligFraRegnskabsmedlemstatus.Value, medlem.Status);
                }
                else
                {
                    Assert.AreEqual(regnskabsmedlem.Status, medlem.Status);
                }

                if (medlemOgRegnskabsmeldemNavnSkalVaereEns)
                {
                    Assert.AreEqual(regnskabsmedlem.Navn, medlem.Navn);
                }
                else
                {
                    Assert.AreNotEqual(regnskabsmedlem.Navn, medlem.Navn);
                }

                Assert.AreEqual(regnskabsmedlem.Status, kendtRegnskabsmedlem.Status);
                if (kendtRegnskabsmedlemOgRegnskabsmedlemNavnSkalVaereEns)
                {
                    Assert.AreEqual(regnskabsmedlem.Navn, kendtRegnskabsmedlem.Navn);
                }
                else
                {
                    Assert.AreNotEqual(regnskabsmedlem.Navn, kendtRegnskabsmedlem.Navn);
                }
            }
            return notater;
        }