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!"); } } }
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!"); } } }
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 }
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()); }
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 = ""; }
public ActionResult DeleteConfirmed(int id) { Medlem medlem = db.Medlemmar.Find(id); db.Medlemmar.Remove(medlem); db.SaveChanges(); return(RedirectToAction("Index")); }
public MedlemBO(Medlem data) { if (data == null) { throw new ArgumentNullException("data"); } _data = data; }
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(); } }
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)); }
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(); }
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); }
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)); }
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"); }
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); }
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); }
// 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)); }
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); }
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."); } } }
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); } } }
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."); } }
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; }
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; }
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); }
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; }
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); }
//Medlem public List <Medlem> getAllMedlems() { return(Medlem.GetAllMedlems()); }
public Medlem getMedlem(int id) { return(Medlem.GetMedlem(id)); }
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; }
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); }
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; }
public void LäggTillMedlem() { Medlem nyMedlem = new Medlem("123456", "Mia", "Majsson", "0206369658", "*****@*****.**", null); bm.LäggTillMedlem(nyMedlem); }