コード例 #1
0
        /// <summary>
        /// Gibt alle Filter zurück
        /// </summary>
        /// <param name="filterID">Nach welcher Filter ID gefiltert werden soll</param>
        /// <param name="table">Nach welcher Tabelle gefiltert werden soll</param>
        /// <returns>Liste aller Filter in der Datenbank</returns>
        public static IEnumerable <Filter> GetFilters(int?filterID = null, int?filterSetID = null, int?formletterPatternID = null, string table = null)
        {
            using (TafelModelContainer db = new TafelModelContainer())
            {
                var filters = db.Filters
                              .Include("FilterSet")
                              .AsQueryable();

                if (filterID.HasValue)
                {
                    filters = filters.Where(f => f.FilterID == filterID.Value);
                }

                if (filterSetID.HasValue)
                {
                    filters = filters.Where(f => f.FilterSet.FilterSetID == filterSetID.Value);
                }

                if (!string.IsNullOrEmpty(table))
                {
                    filters = filters.Where(f => f.Table == table);
                }

                if (formletterPatternID.HasValue)
                {
                    filters = filters.Where(f => f.FilterSet.FormletterPattern.FormletterPatternID == formletterPatternID.Value);
                }

                return(filters.ToList());
            }
        }
コード例 #2
0
ファイル: Note.Partial.cs プロジェクト: ramteid/KoeTaf
 /// <summary>
 /// Aktualisiert die kompletten Notizen
 /// </summary>
 private static void RefreshNoteList()
 {
     using (TafelModelContainer db = new TafelModelContainer())
     {
         _Notes = db.Notes.ToList();
     }
 }
コード例 #3
0
        /// <summary>
        /// Gibt eine Liste von Einkommen zurück
        /// </summary>
        /// <param name="revenueID">Filterung nach Einkommen ID</param>
        /// <param name="personID">Filterung nach einer Person</param>
        /// <param name="startDate">Filterung nach Startdatum</param>
        /// <param name="endDate">Filterung nach Enddatum</param>
        /// <returns>Liste mit allen in der Datenbank gespeicherten Einkommen</returns>
        public static IEnumerable <Revenue> GetRevenues(int?revenueID = null, int?personID = null, DateTime?startDate = null, DateTime?endDate = null)
        {
            using (TafelModelContainer db = new TafelModelContainer())
            {
                var revenues = db.Revenues
                               .Include("RevenueType")
                               .Include("Person")
                               .AsQueryable();

                if (revenueID.HasValue)
                {
                    revenues = revenues.Where(r => r.RevenueID == revenueID.Value);
                }

                if (personID.HasValue)
                {
                    revenues = revenues.Where(r => r.Person.PersonID == personID.Value);
                }

                if (startDate.HasValue)
                {
                    revenues = revenues.Where(r => r.StartDate >= startDate.Value);
                }

                if (endDate.HasValue)
                {
                    revenues = revenues.Where(r => r.EndDate.HasValue && r.EndDate.Value <= endDate.Value);
                }

                return(revenues.ToList());
            }
        }
コード例 #4
0
ファイル: Person.Partial.cs プロジェクト: ramteid/KoeTaf
        /// <summary>
        /// Gibt eine Liste von Personen in der Datenbank zurück
        /// </summary>
        /// <param name="personID">Filterung nach Personen ID</param>
        /// <param name="userAccountID">Filterung nach einem Benutzerkonto</param>
        /// <returns>Liste aller Personen</returns>
        public static IEnumerable <Person> GetPersons(int?personID = null, int?userAccountID = null)
        {
            using (TafelModelContainer db = new TafelModelContainer())
            {
                var persons = db.Persons
                              .Include("Child")
                              .Include("Title")
                              .Include("UserAccount")
                              .Include("FamilyState")
                              .Include("Booking")
                              .AsQueryable();

                if (personID.HasValue)
                {
                    persons = persons.Where(p => p.PersonID == personID.Value);
                }

                if (userAccountID.HasValue)
                {
                    persons = persons.Where(p => p.UserAccount != null && p.UserAccount.UserAccountID == userAccountID.Value);
                }

                // Erst mit ToList() wird SQL Command ausgeführt!
                return(persons
                       .OrderBy(p => p.TableNo)
                       .OrderBy(p => p.Group)
                       .ToList());
            }
        }
コード例 #5
0
ファイル: Team.Partial.cs プロジェクト: ramteid/KoeTaf
        /// <summary>
        /// Fügt ein neues Teammitglied der Datenbank hinzu
        /// </summary>
        /// <param name="firstname">Vorname</param>
        /// <param name="lastname">Nachnamen</param>
        /// <param name="street">Strasse</param>
        /// <param name="zipcode">Postleitzahl</param>
        /// <param name="city">Stadt</param>
        /// <param name="mobileNo">Handynummer</param>
        /// <param name="phoneNo">Telefonnummer</param>
        /// <param name="commercialPhoneNo">Telefonnummer Arbeit</param>
        /// <returns>Die ID des Eintrags in der Datenbank</returns>
        public static int Add(int titleID, int teamFunctionID, string firstname, string lastname, string street, int zipcode, string city, DateTime dateOfBirth, string mobileNo = null, string phoneNo = null, string email = null, bool isFormLetterAllowed = false)
        {
            using (TafelModelContainer db = new TafelModelContainer())
            {
                var title        = db.Titles.Single(t => t.TitleID == titleID);
                var teamFunction = db.TeamFunctions.Single(t => t.TeamFunctionID == teamFunctionID);

                Team team = new Team()
                {
                    FirstName           = firstname,
                    LastName            = lastname,
                    IsActive            = true,
                    Street              = street,
                    ZipCode             = zipcode,
                    City                = city,
                    MobileNo            = mobileNo,
                    DateOfBirth         = dateOfBirth,
                    IsFormLetterAllowed = isFormLetterAllowed,
                    PhoneNo             = phoneNo,
                    Title               = title,
                    TeamFunction        = teamFunction,
                    Email               = email,
                };

                db.Teams.AddObject(team);
                db.SaveChanges();

                return(team.TeamID);
            }
        }
コード例 #6
0
ファイル: CashClosure.cs プロジェクト: ramteid/KoeTaf
        /// <summary>
        /// Gibt die Summe der Ein- oder Ausgabe zurück
        /// </summary>
        /// <param name="isRevenue">Ob es sich um eine Ein- oder Ausgabe handelt</param>
        /// <param name="type">Gegenwart oder Vergangenheit</param>
        /// <returns>Die Summe der Beträge</returns>
        public static double GetSum(bool isRevenue, YearType type = YearType.Current)
        {
            var date = DateTime.Now;

            if (type == YearType.Past)
            {
                date = date.AddYears(-1);
            }

            var startDate = new DateTime(date.Year, 1, 1);
            var endDate   = new DateTime(date.Year, 12, 31);

            using (var db = new TafelModelContainer())
            {
                var cashClosures = db.CashClosures
                                   .Where(cc => cc.ClosureDate >= startDate &&
                                          cc.ClosureDate <= endDate);
                if (cashClosures.Any())
                {
                    if (isRevenue)
                    {
                        return(cashClosures.Sum(cc => cc.Revenue));
                    }
                    else
                    {
                        return(cashClosures.Sum(cc => cc.Expense));
                    }
                }
                return(0);
            }
        }
コード例 #7
0
        /// <summary>
        /// Fügt einen neuen Kassenabschlussbeleg der Datenbank hinzu
        /// </summary>
        /// <param name="cashClosureID">Kassenabschluss ID</param>
        /// <param name="printDone">Wurde gedruckt</param>
        /// <param name="printUserAccountID">Druckuser</param>
        /// <param name="printDate">Druckdatum</param>
        /// <param name="done">Erledigt</param>
        /// <param name="doneDate">Erledigungsdatum</param>
        /// <param name="doneUserAccountID">Erledigungs User</param>
        /// <param name="revenues">Einnahmen</param>
        /// <param name="expenses">Ausgaben</param>
        /// <param name="sum">Summe</param>
        /// <returns>Die ID des Eintrags in der Datenbank</returns>
        public static int Add(int cashClosureID, bool printDone, DateTime?printDate, bool done,
                              DateTime?doneDate, int?printUserAccountID = null, int?doneUserAccountID = null)
        {
            using (TafelModelContainer db = new TafelModelContainer())
            {
                var cashClosureReport = new CashClosureReport
                {
                    CashClosure = db.CashClosures.Single(cc => cc.CashClosureID == cashClosureID),
                    PrintDone   = printDone,
                    PrintDate   = printDate,
                    Done        = done,
                    DoneDate    = doneDate,
                };

                if (printUserAccountID.HasValue)
                {
                    cashClosureReport.PrintUserAccount = db.UserAccounts.Single(ua => ua.UserAccountID == printUserAccountID.Value);
                }

                if (doneUserAccountID.HasValue)
                {
                    cashClosureReport.DoneUserAccount = db.UserAccounts.Single(ua => ua.UserAccountID == doneUserAccountID.Value);
                }

                db.CashClosureReports.AddObject(cashClosureReport);
                db.SaveChanges();

                return(cashClosureReport.CashClosureReportID);
            }
        }
コード例 #8
0
ファイル: Sponsor.Partial.cs プロジェクト: ramteid/KoeTaf
 /// <summary>
 /// Schaltet zwischen verschiedenen Aktivierungsstati einens Sponsors um
 /// </summary>
 /// <param name="sponsorId"></param>
 /// <param name="state"></param>
 private static void ToogleActivateState(int sponsorId, bool state)
 {
     using (TafelModelContainer db = new TafelModelContainer())
     {
         var sponsor = db.Sponsors.Single(s => s.SponsorID == sponsorId);
         sponsor.IsActive = state;
         db.SaveChanges();
     }
 }
コード例 #9
0
 /// <summary>
 /// Methode zum löschen eines bestehenden Kindes
 /// </summary>
 /// <param name="childID">ID des Kinds in der Datenbank</param>
 public static void Delete(int childID)
 {
     using (TafelModelContainer db = new TafelModelContainer())
     {
         Child child = db.Children.Single(c => c.ChildID == childID);
         db.Children.DeleteObject(child);
         db.SaveChanges();
     }
 }
コード例 #10
0
ファイル: UserAccount.Partial.cs プロジェクト: ramteid/KoeTaf
 /// <summary>
 /// Author: Patrick Vogt
 /// Wechselt zwischen aktivierten und deaktivierten Benutzerkonto
 /// </summary>
 /// <param name="userAccountID">Die benötigte Benutzerkonten-ID</param>
 /// <param name="activate">Benutzerkonto aktivieren oder deaktivieren</param>
 private static void ToggleActivateState(int userAccountID, bool activate)
 {
     using (TafelModelContainer db = new TafelModelContainer())
     {
         var userAccount = db.UserAccounts.Single(u => u.UserAccountID == userAccountID);
         userAccount.IsActive = activate;
         db.SaveChanges();
     }
 }
コード例 #11
0
ファイル: Person.Partial.cs プロジェクト: ramteid/KoeTaf
        /// <summary>
        /// Aktualisiert eine Person in der Datenbank
        /// </summary>
        /// <param name="personID">Die Personen ID in der Datenbank</param>
        /// <param name="titleID">Die ID des Titels</param>
        /// <param name="familyStateId">Die ID des Familienstatus</param>
        /// <param name="firstName">Vorname</param>
        /// <param name="lastName">Nachname</param>
        /// <param name="street">Strasse</param>
        /// <param name="nationality">Nationalität</param>
        /// <param name="dateOfBirth">Geburtsdatum</param>
        /// <param name="group">Die zugeordnete Gruppe</param>
        /// <param name="zipCode">Die Postleitzahl</param>
        /// <param name="city">Stadt</param>
        /// <param name="validityStart">Gültigkeits Startdatum</param>
        /// <param name="validityEnd">Gültigkeits Enddatum</param>
        /// <param name="teamId">Die ID eines Teammitglieds, welcher die Person hinzugefügt werden soll</param>
        /// <param name="countryOfBirth">Geburtsland</param>
        /// <param name="email">Emailadresse</param>
        /// <param name="mobileNo">Handynummer</param>
        /// <param name="phone">Telefonnummer</param>
        /// <param name="maritalFirstName">Verheiratete Person Vorname</param>
        /// <param name="maritalLastName">Verheiratete Person Nachname</param>
        /// <param name="maritalNationality">Verheiratete Person Nationalität</param>
        /// <param name="maritalBirthday">Verheiratete Person Geburtsdatum</param>
        /// <param name="maritalCountryOfBirth">Verheiratete Person Geburtsland</param>
        /// <param name="maritalPhone">Verheiratete Person Telefonnummer</param>
        /// <param name="maritalMobile">Verheiratete Person Handynummer</param>
        /// <param name="maritalEmail">Verheiratete Person Emailadresse</param>
        /// <param name="martialTitleID">Verheiratete Person Title ID</param>
        /// <param name="comment">Kommentar</param>
        /// <param name="tableNo">Tafel Nummer</param>
        public static void Update(int personID, int titleID, int familyStateID, int?userAccountID, string firstname, string lastname,
                                  int zipCode, string city, string street, string nationality, int?tableNo, string phone, string mobileNo,
                                  string comment, string countryOfBirth, DateTime dateOfBirth, string email, int group,
                                  DateTime validityStart, DateTime validityEnd, DateTime?maritalBirthday, string maritalFirstname,
                                  string maritalLastname, string maritalNationality, DateTime?lastPurchase = null,
                                  string maritalCountryOfBirth = null, string maritalPhone = null, string maritalMobile = null,
                                  string maritalEmail          = null, int?maritalTitleID  = null)
        {
            using (TafelModelContainer db = new TafelModelContainer())
            {
                var person = db.Persons.Single(p => p.PersonID == personID);

                person.LastPurchase          = lastPurchase;
                person.FirstName             = firstname;
                person.LastName              = lastname;
                person.LastModified          = DateTime.Now;
                person.City                  = city;
                person.ZipCode               = zipCode;
                person.TableNo               = tableNo;
                person.Title                 = db.Titles.Single(t => t.TitleID == titleID);
                person.Street                = street;
                person.Phone                 = phone;
                person.Comment               = comment;
                person.CountryOfBirth        = countryOfBirth;
                person.DateOfBirth           = dateOfBirth;
                person.Email                 = email;
                person.FamilyState           = db.FamilyStates.Single(fs => fs.FamilyStateID == familyStateID);
                person.Group                 = group;
                person.MaritalBirthday       = maritalBirthday;
                person.MaritalFirstName      = maritalFirstname;
                person.MaritalLastName       = maritalLastname;
                person.MaritalNationality    = maritalNationality;
                person.MaritalCountryOfBirth = maritalCountryOfBirth;
                person.MaritalPhone          = maritalPhone;
                person.MaritalMobile         = maritalMobile;
                person.MaritalEmail          = maritalEmail;

                if (maritalTitleID.HasValue)
                {
                    person.MaritalTitle = db.Titles.Single(t => t.TitleID == maritalTitleID.Value);
                }

                person.MobileNo    = mobileNo;
                person.Nationality = nationality;

                if (userAccountID.HasValue)
                {
                    person.UserAccount = db.UserAccounts.Single(u => u.UserAccountID == userAccountID.Value);
                }

                person.ValidityStart = validityStart;
                person.ValidityEnd   = validityEnd;

                db.SaveChanges();
            }
        }
コード例 #12
0
        /// <summary>
        /// Löscht einen bestehenden Einkommen Eintrag aus der Datenbank
        /// </summary>
        /// <param name="revenueID">Die ID des Eintrags in der Datenbank</param>
        public static void Delete(int revenueID)
        {
            using (TafelModelContainer db = new TafelModelContainer())
            {
                var revenue = db.Revenues.Single(r => r.RevenueID == revenueID);

                db.Revenues.DeleteObject(revenue);
                db.SaveChanges();
            }
        }
コード例 #13
0
        /// <summary>
        /// Löscht einen bestehenden Eintrag in der Datenbank
        /// </summary>
        /// <param name="columnAssignmentID"></param>
        public static void Delete(int columnAssignmentID)
        {
            using (TafelModelContainer db = new TafelModelContainer())
            {
                var columnAssignment = db.ColumnAssignments.Single(ca => ca.ColumnAssignmentID == columnAssignmentID);

                db.ColumnAssignments.DeleteObject(columnAssignment);
                db.SaveChanges();
            }
        }
コード例 #14
0
ファイル: CashClosure.cs プロジェクト: ramteid/KoeTaf
        /// <summary>
        /// Löscht einen bestehenden Eintrag aus der Datenbank
        /// </summary>
        /// <param name="cashClosureID">Die benötigte Kassenabschluss ID</param>
        public static void Delete(int cashClosureID)
        {
            using (TafelModelContainer db = new TafelModelContainer())
            {
                var cashClosure = db.CashClosures.Single(cc => cc.CashClosureID == cashClosureID);

                db.CashClosures.DeleteObject(cashClosure);
                db.SaveChanges();
            }
        }
コード例 #15
0
ファイル: Booking.Partial.cs プロジェクト: ramteid/KoeTaf
        /// <summary>
        /// Löscht einen bestehenden Eintrag aus der Datenbank
        /// </summary>
        /// <param name="bookingId">Die ID des Eintrags in der Datenbank</param>
        public static void Delete(int bookingID)
        {
            using (TafelModelContainer db = new TafelModelContainer())
            {
                var booking = db.Bookings.Single(a => a.BookingID == bookingID);

                db.Bookings.DeleteObject(booking);
                db.SaveChanges();
            }
        }
コード例 #16
0
ファイル: UserAccount.Partial.cs プロジェクト: ramteid/KoeTaf
        /// <summary>
        /// Löscht einen bestehenden Eintrag aus der Datenbank
        /// </summary>
        /// <param name="userAccountID">Die benötigte BenutzerkontenID</param>
        public static void Delete(int userAccountID)
        {
            using (TafelModelContainer db = new TafelModelContainer())
            {
                var userAccount = db.UserAccounts.Single(u => u.UserAccountID == userAccountID);

                db.UserAccounts.DeleteObject(userAccount);
                db.SaveChanges();
            }
        }
コード例 #17
0
        /// <summary>
        /// Löscht einen bestehenden Eintrag aus der Datenbank
        /// </summary>
        /// <param name="cashClosureReceiptID"></param>
        public static void Delete(int cashClosureReceiptID)
        {
            using (TafelModelContainer db = new TafelModelContainer())
            {
                var receipt = db.CashClosureReceipts.Single(ccr => ccr.CashClosureReceiptID == cashClosureReceiptID);

                db.CashClosureReceipts.DeleteObject(receipt);
                db.SaveChanges();
            }
        }
コード例 #18
0
ファイル: Account.Partial.cs プロジェクト: ramteid/KoeTaf
        /// <summary>
        /// Funktion zum löschen eines vorhandenen Kontos
        /// </summary>
        /// <param name="accountID">Datenbank ID des Accounts</param>
        public static void Delete(int accountID)
        {
            using (TafelModelContainer db = new TafelModelContainer())
            {
                var account = db.Accounts.Single(a => a.AccountID == accountID);

                db.Accounts.DeleteObject(account);
                db.SaveChanges();
            }
        }
コード例 #19
0
        /// <summary>
        /// Methode zum löschen eines Eintrags in der Datenbank
        /// </summary>
        /// <param name="filterSetID"></param>
        public static void Delete(int filterSetID)
        {
            using (TafelModelContainer db = new TafelModelContainer())
            {
                var filterSet = db.FilterSets.Single(fs => fs.FilterSetID == filterSetID);

                db.FilterSets.DeleteObject(filterSet);
                db.SaveChanges();
            }
        }
コード例 #20
0
 /// <summary>
 /// Aktualisiert alle Teamfunktionen
 /// </summary>
 private static void RefreshTeamFunctionList()
 {
     if (_TeamFunctions == null)
     {
         using (TafelModelContainer db = new TafelModelContainer())
         {
             _TeamFunctions = db.TeamFunctions.ToList();
         }
     }
 }
コード例 #21
0
        /// <summary>
        /// Methode zum löschen eines Eintrags in der Datenbank
        /// </summary>
        /// <param name="formletterPatternID">Die ID des Serienbrief Musters</param>
        public static void Delete(int formletterPatternID)
        {
            using (TafelModelContainer db = new TafelModelContainer())
            {
                var formletterPattern = db.FormletterPatterns.Single(fp => fp.FormletterPatternID == formletterPatternID);

                db.FormletterPatterns.DeleteObject(formletterPattern);
                db.SaveChanges();
            }
        }
コード例 #22
0
ファイル: Team.Partial.cs プロジェクト: ramteid/KoeTaf
        /// <summary>
        /// Schaltet zwischen verschiedenen Aktivierungsstati eines Teammitglieds um
        /// </summary>
        /// <param name="teamId">Die benötigte ID des Teammitglieds</param>
        /// <param name="activate">Teammitglied Aktívieren oder Deaktivieren</param>
        private static void ToggleActivateState(int teamId, bool activate)
        {
            using (TafelModelContainer db = new TafelModelContainer())
            {
                var team = db.Teams.Single(t => t.TeamID == teamId);
                team.IsActive = activate;

                db.SaveChanges();
                db.AcceptAllChanges();
            }
        }
コード例 #23
0
ファイル: Title.Partial.cs プロジェクト: ramteid/KoeTaf
 /// <summary>
 /// Methode zum holen der Titel -> Singleton Pattern um häufiges konnektieren zur Datenbank zu vermeiden
 /// </summary>
 /// <returns></returns>
 private static IEnumerable <Title> GetTitleList()
 {
     if (_Titles == null)
     {
         using (TafelModelContainer db = new TafelModelContainer())
         {
             _Titles = db.Titles.ToList();
         }
     }
     return(_Titles);
 }
コード例 #24
0
ファイル: FamilyState.Partial.cs プロジェクト: ramteid/KoeTaf
 /// <summary>
 /// Statische Methode zum einmaligen Laden aller Familienstati
 /// </summary>
 /// <returns>Liste der Familienstati</returns>
 private static IEnumerable <FamilyState> GetFamilyStateList()
 {
     if (_FamilyStates == null)
     {
         using (TafelModelContainer db = new TafelModelContainer())
         {
             _FamilyStates = db.FamilyStates.ToList();
         }
     }
     return(_FamilyStates);
 }
コード例 #25
0
ファイル: FundingType.Partial.cs プロジェクト: ramteid/KoeTaf
 /// <summary>
 /// Statische Klasse um mehrfaches Laden aus der Datenbank zu verhindern
 /// </summary>
 /// <returns></returns>
 private static IEnumerable <FundingType> GetFundingTypeList()
 {
     if (_FundingTypes == null)
     {
         using (TafelModelContainer db = new TafelModelContainer())
         {
             _FundingTypes = db.FundingTypes.ToList();
         }
     }
     return(_FundingTypes);
 }
コード例 #26
0
 /// <summary>
 /// Statische Methode zum holen von Einkommensarten -> Singleton Pattern um Datenbank nicht permanent zu konnektieren
 /// </summary>
 /// <returns></returns>
 private static IEnumerable <RevenueType> GetRevenueTypeList()
 {
     if (_RevenueTypes == null)
     {
         using (TafelModelContainer db = new TafelModelContainer())
         {
             _RevenueTypes = db.RevenueTypes.ToList();
         }
     }
     return(_RevenueTypes);
 }
コード例 #27
0
ファイル: Note.Partial.cs プロジェクト: ramteid/KoeTaf
        /// <summary>
        /// Löscht eine Notiz
        /// </summary>
        /// <param name="noteID">Die zu löschende Notiz ID</param>
        public static void Delete(int noteID)
        {
            using (TafelModelContainer db = new TafelModelContainer())
            {
                var note = db.Notes.Single(n => n.NoteID == noteID);

                db.Notes.DeleteObject(note);
                db.SaveChanges();
            }

            RefreshNoteList();
        }
コード例 #28
0
ファイル: Person.Partial.cs プロジェクト: ramteid/KoeTaf
        /// <summary>
        /// Fügt eine neue Person der Datenbank hinzu
        /// </summary>
        /// <param name="titleID">Die ID des Titels</param>
        /// <param name="familyStateId">Die ID des Familienstatus</param>
        /// <param name="firstName">Vorname</param>
        /// <param name="lastName">Nachname</param>
        /// <param name="street">Strasse</param>
        /// <param name="nationality">Nationalität</param>
        /// <param name="dateOfBirth">Geburtsdatum</param>
        /// <param name="group">Die zugeordnete Gruppe</param>
        /// <param name="zipCode">Die Postleitzahl</param>
        /// <param name="city">Stadt</param>
        /// <param name="validityStart">Gültigkeits Startdatum</param>
        /// <param name="validityEnd">Gültigkeits Enddatum</param>
        /// <param name="teamId">Die ID eines Teammitglieds, welcher die Person hinzugefügt werden soll</param>
        /// <param name="countryOfBirth">Geburtsland</param>
        /// <param name="email">Emailadresse</param>
        /// <param name="mobileNo">Handynummer</param>
        /// <param name="phone">Telefonnummer</param>
        /// <param name="maritalFirstName">Verheiratete Person Vorname</param>
        /// <param name="maritalLastName">Verheiratete Person Nachname</param>
        /// <param name="maritalNationality">Verheiratete Person Nationalität</param>
        /// <param name="maritalBirthday">Verheiratete Person Geburtsdatum</param>
        /// <param name="maritalCountryOfBirth">Verheiratete Person Geburtsland</param>
        /// <param name="maritalPhone">Verheiratete Person Telefonnummer</param>
        /// <param name="maritalMobile">Verheiratete Person Handynummer</param>
        /// <param name="maritalEmail">Verheiratete Person Emailadresse</param>
        /// <param name="martialTitleID">Verheiratete Person Title ID</param>
        /// <param name="comment">Kommentar</param>
        /// <param name="tableNo">Tafel Nummer</param>
        /// <returns>Die ID des Eintrags in der Datenbank</returns>
        public static int Add(int titleID, int familyStateId, string firstName, string lastName, string street, string nationality,
                              DateTime dateOfBirth, int group, int zipCode, string city, DateTime validityStart, DateTime validityEnd,
                              int?userAccountID        = null, string countryOfBirth        = null, string email = null, string mobileNo = null, string phone = null,
                              string maritalFirstName  = null, string maritalLastName       = null, string maritalNationality = null,
                              DateTime?maritalBirthday = null, string maritalCountryOfBirth = null, string maritalPhone       = null,
                              string maritalMobile     = null, string maritalEmail          = null, int?martialTitleID = null,
                              string comment           = null, int?tableNo = null)
        {
            using (TafelModelContainer db = new TafelModelContainer())
            {
                var person = new Person()
                {
                    City                  = city,
                    Comment               = comment,
                    CountryOfBirth        = countryOfBirth,
                    CreationDate          = DateTime.Now,
                    DateOfBirth           = dateOfBirth,
                    Email                 = email,
                    FamilyState           = db.FamilyStates.Single(fs => fs.FamilyStateID == familyStateId),
                    FirstName             = firstName,
                    Group                 = group,
                    IsActive              = true,
                    LastModified          = null,
                    LastName              = lastName,
                    LastPurchase          = null,
                    MaritalBirthday       = maritalBirthday,
                    MaritalFirstName      = maritalFirstName,
                    MaritalLastName       = maritalLastName,
                    MaritalNationality    = maritalNationality,
                    MaritalCountryOfBirth = maritalCountryOfBirth,
                    MaritalPhone          = maritalPhone,
                    MaritalMobile         = maritalMobile,
                    MaritalEmail          = maritalEmail,
                    MaritalTitle          = (martialTitleID.HasValue) ? db.Titles.Single(mt => mt.TitleID == martialTitleID.Value) : null,
                    MobileNo              = mobileNo,
                    Nationality           = nationality,
                    Phone                 = phone,
                    Street                = street,
                    TableNo               = tableNo,
                    Title                 = db.Titles.Single(t => t.TitleID == titleID),
                    ValidityEnd           = validityEnd,
                    ValidityStart         = validityStart,
                    ZipCode               = zipCode,
                    UserAccount           = (userAccountID.HasValue) ? db.UserAccounts.SingleOrDefault(u => u.UserAccountID == userAccountID.Value) : null,
                };

                db.Persons.AddObject(person);
                db.SaveChanges();

                return(person.PersonID);
            }
        }
コード例 #29
0
ファイル: Note.Partial.cs プロジェクト: ramteid/KoeTaf
        /// <summary>
        /// Aktualisiert eine bestehende Notiz
        /// </summary>
        /// <param name="noteID">Notiz ID</param>
        /// <param name="name">Name der Notiz</param>
        /// <param name="description">Beschreibung der Notiz</param>
        public static void Update(int noteID, string name, string description)
        {
            using (TafelModelContainer db = new TafelModelContainer())
            {
                var note = db.Notes.Single(n => n.NoteID == noteID);
                note.Name        = name;
                note.Description = description;

                db.SaveChanges();

                RefreshNoteList();
            }
        }
コード例 #30
0
        /// <summary>
        /// Methode zum aktualisieren eines Kinds
        /// </summary>
        /// <param name="childId">Die benötigte Kind ID</param>
        /// <param name="firstname">Vorname</param>
        /// <param name="lastname">Nachname</param>
        /// <param name="dateOfBirth">Geburtsdatum</param>
        /// <param name="isFemale">Wert ob es sich um ein Junge oder Mädchen handelt</param>
        public static void Update(int childId, string firstname = null, string lastname = null, DateTime?dateOfBirth = null, bool?isFemale = null)
        {
            using (TafelModelContainer db = new TafelModelContainer())
            {
                Child child = db.Children.Single(c => c.ChildID == childId);
                child.FirstName    = firstname;
                child.LastName     = lastname;
                child.DateOfBirth  = dateOfBirth.Value;
                child.IsFemale     = isFemale.Value;
                child.LastModified = DateTime.Now;

                db.SaveChanges();
            }
        }
コード例 #31
0
ファイル: DatabaseUtils.cs プロジェクト: ramteid/KoeTaf
        /// <summary>
        /// Gibt eine Liste aller Tabellen und Spalten der aktuellen Datenbank zurück
        /// </summary>
        /// <returns></returns>
        public static IList<DatabaseTable> GetCurrentDatabaseTables()
        {
            // Url: http://www.mycsharp.de/wbb2/thread.php?threadid=26610
            using (TafelModelContainer db = new TafelModelContainer())
            {
                IList<DatabaseTable> tableList = new List<DatabaseTable>();

                var tables = db.ExecuteStoreQuery<string>("SELECT table_name FROM INFORMATION_SCHEMA.TABLES");
                foreach (var name in tables)
                {
                    string sqlCmd = string.Format("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '{0}'", name);
                    var columns = db.ExecuteStoreQuery<string>(sqlCmd);
                    tableList.Add(new DatabaseTable
                    {
                        Name = name,
                        Columns = columns.ToList()
                    });
                }

                return tableList;
            }
        }