示例#1
0
        public void LeggTilProsjekt(int ProsjektId)
        {
            // Bruker data
            var Bruker = GetBrukerCv(GetAspNetBrukerID());

            // Sjekk for å se om det er registrert fra før i databasen
            var Medlemsjekk = from a in db.Medlem
                              where a.ProsjektProsjektId.Equals(ProsjektId) && a.Person_PersonId.Equals(Bruker.Person.PersonId)
                              select a;

            if (Medlemsjekk.Count() == 0)
            {
                // Prosjekt data
                var Data = from a in db.Prosjekt
                           where a.ProsjektId.Equals(ProsjektId)
                           select a;

                var Prosjekt = Data.FirstOrDefault();

                // Legg til brukeren som et medlem i valgt prosjekt
                Medlem NyttMedlem = new Medlem();
                NyttMedlem.Person        = Bruker.Person;
                NyttMedlem.Prosjekt      = Prosjekt;
                NyttMedlem.Rolle         = null;
                NyttMedlem.TekniskProfil = null;
                NyttMedlem.Start         = DateTime.Now;
                NyttMedlem.Slutt         = DateTime.Now;

                Prosjekt.Medlem.Add(NyttMedlem);

                db.SaveChanges();
            }
        }
        public void UpdateMedlem(Medlem medlem)
        {
            using (SqlConnection conn = CreateConnection())
            {
                try
                {
                    SqlCommand cmd = new SqlCommand("appSchema.Update_medlem", conn);
                    cmd.CommandType = CommandType.StoredProcedure;

                    cmd.Parameters.Add("@Medid", SqlDbType.Int, 4).Value      = medlem.Medid;
                    cmd.Parameters.Add("@FNamn", SqlDbType.VarChar, 30).Value = medlem.FNamn;
                    cmd.Parameters.Add("@ENamn", SqlDbType.VarChar, 30).Value = medlem.ENamn;
                    cmd.Parameters.Add("@Alder", SqlDbType.Int, 4).Value      = medlem.Alder;
                    cmd.Parameters.Add("@Bandid", SqlDbType.Int, 4).Value     = medlem.Bandid;
                    cmd.Parameters.Add("@Rollid", SqlDbType.Int, 4).Value     = medlem.Rollid;

                    conn.Open();

                    cmd.ExecuteNonQuery();
                }
                catch
                {
                    throw new ApplicationException("Ett fel inträffade när du skulle uppdatera kunden!");
                }
            }
        }
示例#3
0
 public static void IndsaetXNytMedlem(int X, MedlemsstatusEnum?forceretStatus = null)
 {
     using (ArkDatabase db = new ArkDatabase())
     {
         for (int i = 0; i < X; i++)
         {
             Medlem medlem = new Medlem()
             {
                 Adresse           = "Adresse" + _nytMedlemsNummer,
                 AdresseBy         = "By" + _nytMedlemsNummer,
                 AdressePostNummer = _nytMedlemsNummer.ToString(),
                 ArkID             = _nytMedlemsNummer,
                 EMailAdresse      = "EMail" + _nytMedlemsNummer,
                 Foedselsdato      = new DateTime(1977 + _nytMedlemsNummer, 1, 1),
                 Koen        = (_nytMedlemsNummer % 2 == 0 ? KoenEnum.Mand : KoenEnum.Kvinde),
                 MobilNummer = (22220000 + _nytMedlemsNummer).ToString(),
                 Navn        = "Navn" + _nytMedlemsNummer,
                 Status      = (forceretStatus.HasValue ? forceretStatus.Value : (MedlemsstatusEnum)((_nytMedlemsNummer % 3) + 2)),
                 Rostatistik = new Rostatistik()
             };
             _nytMedlemsNummer++;
             db.Medlems.Add(medlem);
         }
         db.SaveChanges();
     }
 }
        public void InsertMedlem(Medlem medlem)
        {
            using (SqlConnection conn = CreateConnection())
            {
                try
                {
                    SqlCommand cmd = new SqlCommand("appSchema.New_medlem", conn);
                    cmd.CommandType = CommandType.StoredProcedure;

                    cmd.Parameters.Add("@FNamn", SqlDbType.VarChar, 30).Value = medlem.FNamn;
                    cmd.Parameters.Add("@ENamn", SqlDbType.VarChar, 30).Value = medlem.ENamn;
                    cmd.Parameters.Add("@Alder", SqlDbType.Int, 4).Value      = medlem.Alder;
                    cmd.Parameters.Add("@Bandid", SqlDbType.Int, 4).Value     = medlem.Bandid;
                    cmd.Parameters.Add("@Rollid", SqlDbType.Int, 4).Value     = medlem.Rollid;

                    cmd.Parameters.Add("@Medid", SqlDbType.Int, 4).Direction = ParameterDirection.Output;

                    conn.Open();

                    cmd.ExecuteNonQuery();

                    medlem.Medid = (int)cmd.Parameters["@Medid"].Value;
                }
                catch
                {
                    throw new ApplicationException("Ett fel inträffade när du skulle lägga till en medlem!");
                }
            }
        }
示例#5
0
        public void BokaValdaBöcker()
        {
            //böckerna
            List <Bok> valdaBöcker = new List <Bok>();

            foreach (Bok bok in LedigaBöckerListBox.SelectedItems)
            {
                valdaBöcker.Add(bok);
            }
            //medlemmen
            Medlem valdMedlem = (Medlem)MedlemComboBox.SelectedItem;

            //startdatum
            DateTime valtStartDatum = BokningsDatumVäljare.Value;

            //ta med expedit


            //bokningsnummer
            string nyttBokningsnummer =

                //båda till bokning

                Bokning nyBokning = new Bokning();
            //räkna ner antalkopior
        }
示例#6
0
        public void OpdaterRostatistikTest()
        {
            //NB: DENNE TEST SLETTER ALT DATA I BASEN
            UnitTestHelper.InitierAlleKomponenterMedDefault();

            UnitTestHelper.SletAlt();

            Baad baad = UnitTestHelper.LavEnkeltBaad();
            UnitTestHelper.IndsaetXNytMedlem(1, MedlemsstatusEnum.Aktiv);
            Medlem medlem = UnitTestHelper.HentFoersteMedlem();
            DateTime detteAar = DateTime.UtcNow.Subtract(new TimeSpan(1, 0, 0, 0));
            DateTime sidsteAar = detteAar.Subtract(TimeSpan.FromDays(365));
            List<int> turlaengderDetteAar = new List<int>();
            List<int> turlaengderSidsteAar = new List<int>();
            Random r = new Random();
            for (int i = 0; i < 5; i++)
            {
                int turlaengde = r.Next(100);
                turlaengderDetteAar.Add(turlaengde);
                UnitTestHelper.OpretTurPaaBaadOgMedlem(medlem.ID, baad.ID, detteAar, turlaengde);
                turlaengde = r.Next(100);
                turlaengderSidsteAar.Add(turlaengde);
                UnitTestHelper.OpretTurPaaBaadOgMedlem(medlem.ID, baad.ID, sidsteAar, turlaengde);
            }

            MedlemBO medlemBO = new MedlemBO(medlem);
            medlemBO.OpdaterRostatistik();
            Assert.AreEqual(medlem.Rostatistik.KilometerDetteAar, turlaengderDetteAar.Sum());
            Assert.AreEqual(medlem.Rostatistik.KilometerSidsteAar, turlaengderSidsteAar.Sum());
        }
示例#7
0
        public void TryLogMedlemIndTest_MedlemEksistererMedStatusAktivRegnskabsmedlemHarStatusGammel()
        {
            //NB: DENNE TEST SLETTER Medlem, Regnskabsmedlem og Begivenhed data
            MedlemmerManager medlemmerManager = null;
            RegnskabsmedlemsManagerUnitTest regnskabsmedlemsManager = null;
            LoggingManagerUnitTest          loggingManager          = null;

            InitierStubLogMedlemIndTest(out loggingManager, out regnskabsmedlemsManager, out medlemmerManager);

            int antalNyeEntiteter = 5;

            IndsaetNRegnskabsmedlemmerIRegnskabsmedlemsManagerOgSynkroniser(regnskabsmedlemsManager, antalNyeEntiteter, MedlemsstatusEnum.Aktiv);

            int arkID = UnitTestHelper.HentFoersteMedlemsArkID();

            UnitTestHelper.OpdaterMedlemStatus(arkID, MedlemsstatusEnum.Aktiv);
            Medlem medlemViProeverAtLoggeInd = null;

            using (ArkDatabase db = new ArkDatabase())
            {
                medlemViProeverAtLoggeInd = db.Medlems.First(medlemItem => medlemItem.ArkID == arkID);
            }
            int medlemID = medlemViProeverAtLoggeInd.ID;

            RegnskabsmedlemDTO regnskabsmedlem = regnskabsmedlemsManager.Regnskabsmedlemmer.First(medlemItem => medlemItem.ArkID == arkID);

            regnskabsmedlem.Status = MedlemsstatusEnum.Gammel;

            string noter = TryLogMedlemInd_TestResultat_ReturnerNotater(arkID, medlemID, MedlemLogindStatusEnum.RegnskabsmedlemstatusGammel, medlemmerManager, loggingManager);
        }
 protected void RegisterButton_Click(object sender, EventArgs e)
 {
     if (Page.IsValid)
     {
         try
         {
             Medlem medlem = new Medlem {
                 FirstName = FirstName.Text, LastName = LastName.Text, PrimaryEmail = PrimaryEmail.Text
             };
             Service.createMedlem(medlem);
             Page.SetTempData("SuccessMessage", "Kontakten skapades.");
             Response.RedirectToRoute("MedlemPage", new { medlemid = medlem.MedlemId });
         }
         catch (ValidationException vx)
         {
             var validationResult = vx.Data["validationResult"] as List <ValidationResult>;
             validationResult.ForEach(r => ModelState.AddModelError(String.Empty, r.ErrorMessage));
             return;
         }
         catch (Exception ex)
         {
             ModelState.AddModelError(String.Empty, String.Format("Ett fel uppstod vid skapandet av medlemen. {0}", ex.Message));
         }
     }
 }
        /// <summary>
        /// Metoden skapar en ny bokning med en kund och ett antal böcker.
        /// Böckerna status ändras till otillgängliga ända tills dess att de returneras.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonAddBooking_Click(object sender, EventArgs e)
        {
            if (medlem == null)
            {
                labelLåntagareFail.Text = "Du måste välja användare!";
                return;
            }

            if (bokadeBöcker.Count == 0)
            {
                labelFailBok.Text = "Du måste välja en bok!";
                return;
            }

            foreach (var bok in bokadeBöcker)
            {
                main.LäggTillBokning(bok, medlem);
            }

            labelLåntagareFail.Text = "";
            labelFailBok.Text       = "";
            dataGridViewBooked.Rows.Clear();
            medlem = null;
            UppdateraInnehåll();
            textBoxLoaner.Text = "";
        }
示例#10
0
        public ActionResult DeleteConfirmed(int id)
        {
            Medlem medlem = db.Medlemmar.Find(id);

            db.Medlemmar.Remove(medlem);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#11
0
 public MedlemBO(Medlem data)
 {
     if (data == null)
     {
         throw new ArgumentNullException("data");
     }
     _data = data;
 }
示例#12
0
 public static void OpdaterMedlemStatus(int arkID, MedlemsstatusEnum nyStatus)
 {
     using (ArkDatabase db = new ArkDatabase())
     {
         Medlem medlem = db.Medlems.FirstOrDefault(medlemItem => medlemItem.ArkID == arkID);
         medlem.Status = nyStatus;
         db.SaveChanges();
     }
 }
示例#13
0
 public ActionResult Edit([Bind(Include = "MedlemsId,Förnamn,Efternamn")] Medlem medlem)
 {
     if (ModelState.IsValid)
     {
         db.Entry(medlem).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(medlem));
 }
示例#14
0
        public void FjernProsjekt(int ProsjektId)
        {
            // Bruker data
            var Bruker = GetBrukerCv(GetAspNetBrukerID());

            Medlem BrukerData = db.Medlem.Where(x => x.Person_PersonId.Equals(Bruker.Person.PersonId) && x.ProsjektProsjektId.Equals(ProsjektId)).FirstOrDefault();

            db.Medlem.Remove(BrukerData);
            db.SaveChanges();
        }
示例#15
0
        public static Medlem HentFoersteMedlem()
        {
            Medlem medlem = null;

            using (ArkDatabase db = new ArkDatabase())
            {
                List <Medlem> medlemmer = db.Medlems.Include("Rostatistik").ToList();
                medlem = medlemmer.First();
            }
            return(medlem);
        }
示例#16
0
        public ActionResult Create([Bind(Include = "MedlemsId,Förnamn,Efternamn")] Medlem medlem)
        {
            if (ModelState.IsValid)
            {
                db.Medlemmar.Add(medlem);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(medlem));
        }
示例#17
0
        private void buttonAddMember_Click(object sender, EventArgs e)
        {
            if (dataGridViewMember.SelectedRows.Count == 0)
            {
                return;
            }
            DataGridViewRow valdLåntagare = dataGridViewMember.SelectedRows[0];

            medlem = (Medlem)valdLåntagare.DataBoundItem;
            textBoxLoaner.DataBindings.Clear();
            textBoxLoaner.DataBindings.Add("Text", medlem, "FullNamn");
        }
示例#18
0
        public void createMedlem(Medlem medlem)
        {
            ICollection <ValidationResult> validationResult;

            if (!medlem.Validate(out validationResult))
            {
                var vx = new ValidationException("Objektet klarade inte valideringen.");
                vx.Data.Add("validationResult", validationResult);
                throw vx;
            }
            Medlem.AddMedlem(medlem);
        }
示例#19
0
        public static int HentFoersteMedlemsID()
        {
            int ID = 0;

            using (ArkDatabase db = new ArkDatabase())
            {
                List <Medlem> medlemmer = db.Medlems.ToList();
                Medlem        medlem    = medlemmer.First();
                ID = medlem.ID;
            }
            return(ID);
        }
示例#20
0
        // GET: Medlems/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Medlem medlem = db.Medlemmar.Find(id);

            if (medlem == null)
            {
                return(HttpNotFound());
            }
            return(View(medlem));
        }
示例#21
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);
        }
示例#22
0
 public void NewMedlemFormView_InsertItem(Medlem medlem)
 {
     if (ModelState.IsValid)
     {
         try
         {
             Service.SaveMedlem(medlem);
             Message = string.Format("Ny medlem ha lagts till!");
             Response.RedirectToRoute("MedlemDetails", new { id = medlem.Medid });
             Context.ApplicationInstance.CompleteRequest();
         }
         catch (Exception)
         {
             ModelState.AddModelError(string.Empty, "Ett fel inträffade när du försökte lägga till en ny medlem.");
         }
     }
 }
示例#23
0
        public void GenereraObjekt()
        {
            if ((BibliotekController.HämtaAllaMedlemmar().Count() < 1) && (BibliotekController.HämtaAllaBocker().Count() < 1))
            {
                //Medlemmar
                Medlem m1 = new Medlem("12", "Lars", "Kagge", "073019202", "*****@*****.**", null);
                Medlem m2 = new Medlem("13", "Kalle", "Larsson", "073119202", "*****@*****.**", null);
                Medlem m3 = new Medlem("14", "Klara", "Lagge", "073018202", "*****@*****.**", null);
                Medlem m4 = new Medlem("15", "Lila", "Nagge", "073010202", "*****@*****.**", null);
                Medlem m5 = new Medlem("16", "Hagge", "Kagge", "073119202", "*****@*****.**", null);

                IEnumerable <Medlem> medlemmar = new List <Medlem>()
                {
                    m1, m2, m3, m4, m5
                };

                foreach (Medlem medlem in medlemmar)
                {
                    BibliotekController.LäggTillMedlem(medlem);
                }


                //Böcker
                Bok b1 = new Bok("1788478126", "C# 8.0 and .NET Core 3.0", "Mark J. Price", 1);
                Bok b2 = new Bok("0134494164", "Clean Architecture", "Robert C. Martin", 2);;
                Bok b3 = new Bok("9780132350884", "Clean Code", "Robert C. Martin", 3);
                Bok b4 = new Bok("0137081073", "The Clean Coder", "Robert C. Martin", 4);
                Bok b5 = new Bok("1844132390", "Man's Search For Meaning", "Viktor E. Frankl", 5);
                Bok b6 = new Bok("9780722532935", "The Alchemist", "Paul Coelho", 6);
                Bok b7 = new Bok("9780316029186", "The Last Wish", "Andrzej Sapkowski", 7);
                Bok b8 = new Bok("9780316029186", "The Last Wish", "Andrzej Sapkowski", 8);

                IEnumerable <Bok> böcker = new List <Bok>()
                {
                    b1, b2, b3, b4, b5, b6, b7, b8
                };
                foreach (Bok bok in böcker)
                {
                    BibliotekController.LäggTillBok(bok);
                }
            }
        }
示例#24
0
        public Medlem GetMedlem(int id)
        {
            try
            {
                using (var conn = CreateConnection())
                {
                    Medlem medlem = new Medlem();

                    var cmd = new SqlCommand("appSchema.usp_GetMembers", conn);
                    cmd.CommandType = CommandType.StoredProcedure;

                    cmd.Parameters.Add("@MedlemID", SqlDbType.Int, 4).Value = id;

                    conn.Open();

                    using (var reader = cmd.ExecuteReader())
                    {
                        var namnIndex   = reader.GetOrdinal("Namn");
                        var adressIndex = reader.GetOrdinal("Adress");
                        var ortIndex    = reader.GetOrdinal("Ort");
                        var postnrIndex = reader.GetOrdinal("Postnr");

                        if (reader.Read())
                        {
                            medlem = new Medlem
                            {
                                Namn   = reader.GetString(namnIndex),
                                Adress = reader.GetString(adressIndex),
                                Ort    = reader.GetString(ortIndex),
                                Postnr = reader.GetInt32(postnrIndex)
                            };
                        }
                    }

                    return(medlem);
                }
            }
            catch (Exception)
            {
                throw new ApplicationException("Ett fel uppstod i samband med uppkopplingen mot databasen.");
            }
        }
示例#25
0
        public Start(BusinessManager businessManager)
        {
            //Laddar in saker i listorna
            InitializeComponent();


            BusinessManager = businessManager;


            Medlem   M = new Medlem(10, "Calle", 0708555789, "*****@*****.**", new List <Bokning>());
            Anställd A = new Anställd(10, "Lisa", "LOL", "expedit", new List <Bokning>());
            Bok      B = new Bok(1245, "How do?");


            BusinessManager.MedRepo.Medlemmar.Add(M);
            BusinessManager.AnstRepo.anställda.Add(A);
            BusinessManager.BokRepo.Böcker.Add(B);


            Uppdatera();
            ListboxBöcker.SelectionMode = SelectionMode.MultiExtended;
        }
示例#26
0
    public static Medlem GetMedlem(String line)
    {
        Medlem m = new Medlem();

        String[] split = line.Split(';');
        m.Navn = split[fornavn] + " " + split[efternavn];
        m.Årgang = split[afdeling];

        m.Email = split[email1];
        if (String.IsNullOrEmpty(m.Email))
            m.Email = split[email2];

        m.Telefon = split[tlf1];
        if (String.IsNullOrEmpty(m.Telefon))
            m.Telefon = split[tlf2];

        m.Telefon = m.Telefon.Replace(" ", "");
        m.Adresse = split[adresse];
        m.MemberId = split[medlemsNr];
        m.Fødselsdato = split[fødselsdato];
        m.Postnummer = split[postnummer];
        m.By = split[by];
        m.Rabat = split[rabat];

        if( m.Rabat != "" )
            m.Rabat = split[rabatText] + " (" + split[rabat] + " kr.)";

        Boolean b;

        if (split[kontingentfritagelse].ToLower() == "ja")
            m.Kontingentfritagelse = true;

        m.AllowEmail = false;

        if (split[smsEmail].ToLower() == "ja")
            m.AllowEmail = true;

        return m;
    }
示例#27
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;
 }
    private void SendMail(Medlem medlem)
    {
        SmtpClient client = new SmtpClient();

        String mail = txtTestMail.Text;

        if (String.IsNullOrEmpty(mail))
            mail = medlem.Email;

        if (mail == "")
            throw new ApplicationException("No email");

        medlem.Navn = medlem.Navn.Replace("ø", "oe");
        medlem.Navn = medlem.Navn.Replace("Ø", "Oe");

        medlem.Navn = medlem.Navn.Replace("æ", "ae");
        medlem.Navn = medlem.Navn.Replace("Æ", "Ae");

        medlem.Navn = medlem.Navn.Replace("å", "aa");
        medlem.Navn = medlem.Navn.Replace("Å", "Aa");

        MailMessage mm = new MailMessage(
            new MailAddress("noreply@nørup-sostack.dk", "Kauslunde fodbold"), new MailAddress(mail));

        mm.Subject = txtSubject.Text.Replace("{Navn}", medlem.Navn);
        mm.ReplyTo = new MailAddress("*****@*****.**");
        mm.Body = GetBody(medlem);
        mm.SubjectEncoding = Encoding.UTF8;
        mm.BodyEncoding = Encoding.UTF8;
        mm.IsBodyHtml = true;
        mm.Bcc.Add(new MailAddress("*****@*****.**"));
        client.Send(mm);
    }
        public void UpdateMedlem(Medlem medlem)
        {
            using (SqlConnection conn = CreateConnection())
            {
                try
                {
                    SqlCommand cmd = new SqlCommand("appSchema.Update_medlem", conn);
                    cmd.CommandType = CommandType.StoredProcedure;

                    cmd.Parameters.Add("@Medid", SqlDbType.Int, 4).Value = medlem.Medid;
                    cmd.Parameters.Add("@FNamn", SqlDbType.VarChar, 30).Value = medlem.FNamn;
                    cmd.Parameters.Add("@ENamn", SqlDbType.VarChar, 30).Value = medlem.ENamn;
                    cmd.Parameters.Add("@Alder", SqlDbType.Int, 4).Value = medlem.Alder;
                    cmd.Parameters.Add("@Bandid", SqlDbType.Int, 4).Value = medlem.Bandid;
                    cmd.Parameters.Add("@Rollid", SqlDbType.Int, 4).Value = medlem.Rollid;

                    conn.Open();

                    cmd.ExecuteNonQuery();
                }
                catch
                {
                    throw new ApplicationException("Ett fel inträffade när du skulle uppdatera kunden!");
                }
            }
        }
        public void InsertMedlem(Medlem medlem)
        {
            using (SqlConnection conn = CreateConnection())
            {
                try
                {
                    SqlCommand cmd = new SqlCommand("appSchema.New_medlem", conn);
                    cmd.CommandType = CommandType.StoredProcedure;

                    cmd.Parameters.Add("@FNamn", SqlDbType.VarChar, 30).Value = medlem.FNamn;
                    cmd.Parameters.Add("@ENamn", SqlDbType.VarChar, 30).Value = medlem.ENamn;
                    cmd.Parameters.Add("@Alder", SqlDbType.Int, 4).Value = medlem.Alder;
                    cmd.Parameters.Add("@Bandid", SqlDbType.Int, 4).Value = medlem.Bandid;
                    cmd.Parameters.Add("@Rollid", SqlDbType.Int, 4).Value = medlem.Rollid;

                    cmd.Parameters.Add("@Medid", SqlDbType.Int, 4).Direction = ParameterDirection.Output;

                    conn.Open();

                    cmd.ExecuteNonQuery();

                    medlem.Medid = (int)cmd.Parameters["@Medid"].Value;
                }
                catch
                {
                    throw new ApplicationException("Ett fel inträffade när du skulle lägga till en medlem!");
                }
            }
        }
示例#31
0
    String GetBody(Medlem medlem)
    {
        var navn = medlem.Navn;
        DateTime dt;
        DateTime.TryParse(medlem.Fødselsdato, out dt);
        var fødselsdato = dt.ToString();

        var adresse = medlem.Adresse;
        var postnummer = medlem.Postnummer;
        var by = medlem.By;
        var telefon = medlem.Telefon;
        var email = medlem.Email;

        if (txtName.Text != navn)
            navn = "<b>" + txtName.Text + "</b>";

        if (txtAddress.Text != adresse)
            adresse = "<b>" + txtAddress.Text + "</b>";

        if (txtZip.Text != postnummer)
            postnummer = "<b>" + txtZip.Text + "</b>";

        if (txtCity.Text != by)
            by = "<b>" + txtCity.Text + "</b>";

        if (txtPhone.Text != telefon)
            telefon = "<b>" + txtPhone.Text + "</b>";

        if (txtEmail.Text != email)
            email = "<b>" + txtEmail.Text + "</b>";

        if (cal.SelectedDate.ToString() != fødselsdato)
            fødselsdato = "<b>" + cal.SelectedDate.ToString() + "</b>";

        String ret = String.Format(mailFormat, medlem.Navn, medlem.MemberId,
            navn,
            fødselsdato,
            adresse,
            postnummer,
            by,
            telefon,
            email);

        ret = ret.Replace("\r\n", "<br/>");

        return ret;
    }
示例#32
0
    private void SendMail(Medlem medlem)
    {
        SmtpClient client = new SmtpClient();

        String mail = "*****@*****.**";

        //if (String.IsNullOrEmpty(mail))
        //    mail = medlem.Email;

        if (mail == "")
            throw new ApplicationException("No email");

        MailMessage mm = new MailMessage("*****@*****.**", mail, "Der er kommet en opdatering til informationerne for '" + medlem.Navn + "'", "");

        mm.Body = GetBody(medlem);
        mm.BodyEncoding = Encoding.UTF8;
        mm.IsBodyHtml = true;

        client.Send(mm);
    }
示例#33
0
 //Medlem
 public List <Medlem> getAllMedlems()
 {
     return(Medlem.GetAllMedlems());
 }
示例#34
0
 public Medlem getMedlem(int id)
 {
     return(Medlem.GetMedlem(id));
 }
示例#35
0
    String GetBody(Medlem medlem, Guid g)
    {
        Boolean dataOk =
            medlem.Fødselsdato != "" &&
            medlem.Adresse != "" &&
            medlem.Postnummer != "" &&
            medlem.By != "" &&
            medlem.Telefon != "" &&
            medlem.Email != "";

        String ret = String.Format(txtMessage.Text, medlem.Navn, medlem.Årgang, medlem.Navn,
            medlem.Fødselsdato,
            medlem.Adresse,
            medlem.Postnummer,
            medlem.By,
            medlem.Telefon,
            medlem.Email,
            Request.Url.Host, Request.Url.Port != 80 ? ":" + Request.Url.Port : "",
            Request.RawUrl.Replace("SendCheckInfoMails", "InfoOk"),
            medlem.MemberId,
            Request.RawUrl.Replace("SendCheckInfoMails", "InfoNotOk"),
            dataOk ? "block" : "none",
            dataOk ? "none" : "block",
            g);
        ret = ret.Replace("\r\n", "<br/>");
        return ret;
    }
示例#36
0
    private void SendMail(Medlem medlem)
    {
        SmtpClient client = new SmtpClient();

        String mail = txtTestMail.Text;

        if (String.IsNullOrEmpty(mail))
            mail = medlem.Email;

        if (mail == "")
            throw new ApplicationException("No email");

        MailMessage mm = new MailMessage(
            new MailAddress("noreply@nørup-sostack.dk", "Kauslunde fodbold"), new MailAddress(mail));

        mm.Subject = "Opdatering af informationer for '" + medlem.Navn + "'";

        Guid g = Guid.NewGuid();

        if (chkOnlyNotChecked.Checked)
        {
            DirectoryInfo di = new DirectoryInfo(Server.MapPath("~/App_Data/KIF/InfoChecks/"));
            var files = di.GetFiles(medlem.MemberId + "-*.txt");
            if( files.Count() != 1 )
                throw new ApplicationException("One and only one file must exists. " + medlem.MemberId);

            var file = files.First();

            int start = file.Name.IndexOf("-");
            int end = file.Name.IndexOf(".txt", start);

            if( start == -1 || end == -1 )
                throw new ApplicationException("Not right format for member: " + medlem.MemberId);

            start++;
            g = new Guid(file.Name.Substring(start, end-start));

        }
        mm.ReplyTo = new MailAddress("*****@*****.**");
        mm.Body = GetBody(medlem, g);
        mm.BodyEncoding = Encoding.UTF8;
        mm.IsBodyHtml = true;
        mm.Bcc.Add(new MailAddress("*****@*****.**"));

        if (!chkOnlyNotChecked.Checked)
            System.IO.File.WriteAllText(Server.MapPath("~/App_Data/KIF/InfoChecks/" + medlem.MemberId + "-" + g + ".txt"), "InfoCheck");

        client.Send(mm);
    }
示例#37
0
        public void SynkroniserRegnskabsmedlemmerOgMedlemmer(bool validerLaesteRegnskabsmedlemmer = true)
        {
            StringBuilder logBeskedBygger = new StringBuilder();

            //¤¤¤ Tegnforklaring
            //¤¤¤ Tekst som står efter '//¤¤¤' er en kommentar
            //¤¤¤ Tekst som står efter '//' skal konverteres til kode

            //¤¤¤ Tre entiteter er vigtige i denne sammenhæng:
            //¤¤¤ Regnskabsmedlem: Læst direkte i regnskabssystemet
            //¤¤¤ KendtRegnskabsmedlem: Persisteret data fra siste gang regnskabssystemet leverede et opdateret Regnskabsmedlem
            //¤¤¤ Medlem: Brugeren (aktiveret eller ej) af websitet.
            //¤¤¤
            //¤¤¤ Disse tre entiteter har datafelter til fælles som defineret i ARK.Website.Common.RegnskabsmedlemDTO
            //¤¤¤ At to entiteter er ens betyder at datafelterne alle har samme værdi

            //¤¤¤ Status er vigtig i denne sammenhæng (ARK.Website.Common.Enum.MedlemsstatusEnum)
            //¤¤¤ Værdi IkkeAktiveret: Bruger som kan tilgå logbog og kan ses på websitet, men som aldrig har været logget på websitet
            //¤¤¤ Værdi Aktiv: Bruger som kan tilgå logbog og website
            //¤¤¤ Værdi Inaktiv: Bruger som kan tilgå website men ikke skrive til logbog (kan ikke få lov at ro/padle)
            //¤¤¤ Værdi Gammel: Bruger som kan tilgå hverken website eller logbog, men som stadig figurerer i rostatistik og website historik

            List <RegnskabsmedlemDTO> regnskabsmedlemmer = new List <RegnskabsmedlemDTO>();

            try
            {
                regnskabsmedlemmer = KomponentManager.RegnskabsmedlemsManager.HentRegnskabsmedlemmer();
            }
            catch (Exception exception)
            {
                logBeskedBygger.AppendLine("Læsning af regnskabsmedlemmer fejlede: " + exception.ToString() + Environment.NewLine);
            }

            //¤¤¤ Valider regnskabsmedlemmer så forfejlede retursvar ikke fortsætter. Kunne eksempelvis være antallet af læste aktive regnskabsmedlemmer
            int  antalAktiveRegnskabsmedlemmer     = regnskabsmedlemmer.Count(medlemsItem => medlemsItem.Status == Common.Enum.MedlemsstatusEnum.Aktiv);
            bool erRegnskabsmedlemmerLaesningValid = true;

            if (validerLaesteRegnskabsmedlemmer)
            {
                ErRegnskabsmedlemmerLaesningValid(regnskabsmedlemmer);
            }
            logBeskedBygger.AppendLine("Regnskabsmedlemmer læst: [Valid læsning:" + erRegnskabsmedlemmerLaesningValid + ";Antal:" + regnskabsmedlemmer.Count + ";Medlemsstatus-Aktiv:" + antalAktiveRegnskabsmedlemmer + "]" + Environment.NewLine);

            StringBuilder opdateretMedlemsbesked = new StringBuilder();

            if (erRegnskabsmedlemmerLaesningValid)
            {
                using (ARK.Website.EntityFramework.Main.ArkDatabase db = new EntityFramework.Main.ArkDatabase())
                {
                    List <Medlem>          medlemmer = db.Medlems.ToList();
                    List <Regnskabsmedlem> kendteRegnskabsmedlemmer = db.Regnskabsmedlems.ToList();

                    foreach (RegnskabsmedlemDTO regnskabsmedlem in regnskabsmedlemmer)
                    {
                        bool erOpdateret = false;
                        opdateretMedlemsbesked.Clear();
                        int arkID = regnskabsmedlem.ArkID;
                        opdateretMedlemsbesked.AppendLine("Regnskabsmedlem ArkID = " + arkID);
                        try
                        {
                            Regnskabsmedlem kendtRegnskabsmedlem = kendteRegnskabsmedlemmer.FirstOrDefault(regnskabsmedlemItem => regnskabsmedlemItem.ArkID == arkID);
                            Medlem          medlem = medlemmer.FirstOrDefault(medlemItem => medlemItem.ArkID == arkID);

                            if (medlem == null || kendtRegnskabsmedlem == null)
                            {
                                if (medlem != null || kendtRegnskabsmedlem != null)
                                {
                                    throw new Exception("Fejl i modellen [ArkID=" + arkID + "]: Medlem = " + (medlem == null ? "Null" : "Not Null") + "; KendtRegnskabsmedlem = " + (kendtRegnskabsmedlem == null ? "Null" : "Not Null"));
                                }
                            }

                            if (medlem != null)
                            {
                                //¤¤¤ Endnu ikke aktiverede medlemmer holdes synkrone med regnskabssystemet
                                //¤¤¤ Gamle medlemmer, som kommmer tilbage i systemet, bliver behandlet som nye

                                MedlemsstatusEnum oprindeligMedlemsstatus = medlem.Status;
                                MedlemsstatusEnum oprindeligKendtRegnskabsmedlemsstatus = kendtRegnskabsmedlem.Status;
                                bool medlemsdataOverskrevet = false;
                                bool kendtRegnskabsmedlemsdataOverskrevet = false;
                                bool regnskabsmedlemDataEns = HarRegnskabsmedlemOgKendtRegnskabsmedlemSammeData(regnskabsmedlem, kendtRegnskabsmedlem);
                                if (!regnskabsmedlemDataEns)
                                {
                                    #region Opdatering af eksisterende Medlem og KendtRegnskabsmedlem data
                                    switch (regnskabsmedlem.Status)
                                    {
                                    case MedlemsstatusEnum.Aktiv:
                                    {
                                        switch (oprindeligMedlemsstatus)
                                        {
                                        case MedlemsstatusEnum.Aktiv:
                                        {
                                            //Håndteret af bruger logon
                                        } break;

                                        case MedlemsstatusEnum.Inaktiv:
                                        {
                                            //Status i Regnskabsmedlem - tabellen skal opdateres
                                            //Resten af ændringer i regnskabsmedlemsdata skal håndteres af bruger logon
                                            kendtRegnskabsmedlem.Status = regnskabsmedlem.Status;
                                            medlem.Status = regnskabsmedlem.Status;
                                        } break;

                                        case MedlemsstatusEnum.IkkeAktiveret:
                                        case MedlemsstatusEnum.Gammel:
                                        {
                                            OverskrivMedRegnskabsmedlemsdata(regnskabsmedlem, kendtRegnskabsmedlem);
                                            OverskrivMedRegnskabsmedlemsdata(regnskabsmedlem, medlem);
                                            medlem.Status = MedlemsstatusEnum.IkkeAktiveret;

                                            medlemsdataOverskrevet = true;
                                            kendtRegnskabsmedlemsdataOverskrevet = true;
                                        } break;

                                        default:
                                        {
                                            throw new NotSupportedException("Medlem.Status = " + oprindeligMedlemsstatus);
                                        }
                                        }
                                    } break;

                                    case MedlemsstatusEnum.Inaktiv:
                                    {
                                        switch (oprindeligMedlemsstatus)
                                        {
                                        case MedlemsstatusEnum.Inaktiv:
                                        {
                                            //Håndteret af bruger logon
                                        } break;

                                        case MedlemsstatusEnum.Aktiv:
                                        {
                                            //Status i Regnskabsmedlem - tabellen skal opdateres
                                            //Resten af ændringer i regnskabsmedlemsdata skal håndteres af bruger logon
                                            kendtRegnskabsmedlem.Status = regnskabsmedlem.Status;
                                            medlem.Status = regnskabsmedlem.Status;
                                        } break;

                                        case MedlemsstatusEnum.IkkeAktiveret:
                                        case MedlemsstatusEnum.Gammel:
                                        {
                                            OverskrivMedRegnskabsmedlemsdata(regnskabsmedlem, kendtRegnskabsmedlem);
                                            OverskrivMedRegnskabsmedlemsdata(regnskabsmedlem, medlem);
                                            medlem.Status = MedlemsstatusEnum.IkkeAktiveret;

                                            medlemsdataOverskrevet = true;
                                            kendtRegnskabsmedlemsdataOverskrevet = true;
                                        } break;

                                        default:
                                        {
                                            throw new NotSupportedException("Medlem.Status = " + oprindeligMedlemsstatus);
                                        }
                                        }
                                    } break;

                                    case MedlemsstatusEnum.Gammel:
                                    {
                                        switch (oprindeligMedlemsstatus)
                                        {
                                        case MedlemsstatusEnum.IkkeAktiveret:
                                        {
                                            OverskrivMedRegnskabsmedlemsdata(regnskabsmedlem, kendtRegnskabsmedlem);
                                            OverskrivMedRegnskabsmedlemsdata(regnskabsmedlem, medlem);

                                            medlemsdataOverskrevet = true;
                                            kendtRegnskabsmedlemsdataOverskrevet = true;
                                        } break;

                                        case MedlemsstatusEnum.Aktiv:
                                        case MedlemsstatusEnum.Inaktiv:
                                        case MedlemsstatusEnum.Gammel:
                                        {
                                            OverskrivMedRegnskabsmedlemsdata(regnskabsmedlem, kendtRegnskabsmedlem);
                                            medlem.Status = regnskabsmedlem.Status;

                                            kendtRegnskabsmedlemsdataOverskrevet = true;
                                        } break;

                                        default:
                                        {
                                            throw new NotSupportedException("Medlem.Status = " + oprindeligMedlemsstatus);
                                        }
                                        }
                                    } break;

                                    default:
                                    {
                                        throw new NotSupportedException("Regnskabsmedlem.Status = " + regnskabsmedlem.Status);
                                    }
                                    }
                                    #endregion
                                }

                                #region Logbesked generering
                                if (medlemsdataOverskrevet)
                                {
                                    opdateretMedlemsbesked.AppendLine("EKSISTERENDE MEDLEM OVERSKREVET FRA REGNSKABSSYSTEMET");
                                    erOpdateret = true;
                                }

                                if (medlem.Status != oprindeligMedlemsstatus)
                                {
                                    opdateretMedlemsbesked.AppendLine("MEDLEMSSTATUS ÆNDRET " + oprindeligMedlemsstatus + "=>" + medlem.Status);
                                    erOpdateret = true;
                                }

                                if (kendtRegnskabsmedlemsdataOverskrevet)
                                {
                                    opdateretMedlemsbesked.AppendLine("KENDT REGNSKABSMEDLEM OVERSKREVET FRA REGNSKABSSYSTEMET");
                                    erOpdateret = true;
                                }


                                if (kendtRegnskabsmedlem.Status != oprindeligKendtRegnskabsmedlemsstatus &&
                                    !kendtRegnskabsmedlemsdataOverskrevet)
                                {
                                    opdateretMedlemsbesked.AppendLine("KENDT REGNSKABSMEDLEM STATUS ÆNDRET " + oprindeligKendtRegnskabsmedlemsstatus + "=>" + kendtRegnskabsmedlem.Status);
                                    erOpdateret = true;
                                }
                                #endregion
                            }
                            else
                            {
                                #region Oprettelse af nyt Medlem og tilhørende KendtRegnskabsmedlem
                                medlem             = new Medlem();
                                medlem.Rostatistik = new Rostatistik();
                                db.Medlems.Add(medlem);

                                kendtRegnskabsmedlem = new Regnskabsmedlem();
                                db.Regnskabsmedlems.Add(kendtRegnskabsmedlem);

                                OverskrivMedRegnskabsmedlemsdata(regnskabsmedlem, medlem);
                                OverskrivMedRegnskabsmedlemsdata(regnskabsmedlem, kendtRegnskabsmedlem);

                                if (regnskabsmedlem.Status != MedlemsstatusEnum.Gammel)
                                {
                                    medlem.Status = MedlemsstatusEnum.IkkeAktiveret;
                                }
                                else
                                {
                                    medlem.Status = MedlemsstatusEnum.Gammel;
                                }
                                #endregion

                                erOpdateret = true;
                                opdateretMedlemsbesked.AppendLine("NYT MEDLEM - STATUS = " + medlem.Status);
                            }

                            if (erOpdateret)
                            {
                                logBeskedBygger.AppendLine(opdateretMedlemsbesked.ToString());
                            }
                            db.SaveChanges();
                        }
                        catch (Exception exception)
                        {
                            logBeskedBygger.AppendLine("Fejl under kørsel af medlem ArkID = " + arkID + Environment.NewLine + exception.ToString() + Environment.NewLine);
                        }
                    }

                    try
                    {
                        //¤¤¤ de medlemmer som ikke længere får returneret et tilhørende regnskabsmedlem overgår til status gammel.
                        foreach (Medlem medlem in medlemmer.Where(medlemItem => medlemItem.Status != MedlemsstatusEnum.Gammel))
                        {
                            int arkID = medlem.ArkID;
                            RegnskabsmedlemDTO regnskabsmedlem = regnskabsmedlemmer.FirstOrDefault(regnskabsmedlemItem => regnskabsmedlemItem.ArkID == arkID);
                            if (regnskabsmedlem == null)
                            {
                                MedlemsstatusEnum oprindeligMedlemsstatus = medlem.Status;
                                medlem.Status = MedlemsstatusEnum.Gammel;
                                opdateretMedlemsbesked.AppendLine("Regnskabsmedlem ArkID = " + arkID);
                                opdateretMedlemsbesked.AppendLine("Regnskabsmedlem ikke eksisterende");
                                opdateretMedlemsbesked.AppendLine("MEDLEMSSTATUS ÆNDRET " + oprindeligMedlemsstatus + "=>" + medlem.Status);
                            }
                        }
                        db.SaveChanges();
                    }
                    catch (Exception exception)
                    {
                        logBeskedBygger.AppendLine("Fejl ved ændring af medlemmer status Gammel ved manglende regnskabsmedlem" + Environment.NewLine + exception.ToString() + Environment.NewLine);
                    }
                }
            }

            KomponentManager.LoggingManager.LogBesked(SYNKRONISERING_REGNSKAB_OG_MEDLEMMER_NOEGLEORD, logBeskedBygger.ToString());
        }
 String GetBody(Medlem medlem)
 {
     String ret = String.Format(txtMessage.Text, medlem.Navn, Request.Url.Host, Request.Url.Port != 80 ? ":" + Request.Url.Port : "", Request.RawUrl.Replace("SendKontingentMails", "Kontingent"), medlem.MemberId, medlem.Årgang);
     ret = ret.Replace("\r\n", "<br/>");
     return ret;
 }
示例#39
0
        public void LäggTillMedlem()
        {
            Medlem nyMedlem = new Medlem("123456", "Mia", "Majsson", "0206369658", "*****@*****.**", null);

            bm.LäggTillMedlem(nyMedlem);
        }