예제 #1
0
        /// <summary>
        /// Ändert den aktuellen Status eines <see cref="DependentSubject"/>s.
        /// </summary>
        /// <param name="dependentSubjectId">ID des <see cref="DependentSubject"/>.</param>
        /// <param name="newState">Neuer Status.</param>
        /// <param name="comment">Kommentar zur Statusänderung (optional).</param>
        /// <returns>Informationen zum asynchronen Vorgang.</returns>
        public async Task UpdateDependentSubjectStateAsync(int dependentSubjectId, DependentSubjectState newState, string comment = "")
        {
            var stateEntries = DatabaseContext.ChangeDependentSubjectStateEntries;
            var entry        = CreateState(dependentSubjectId, newState, comment);
            await stateEntries.AddAsync(entry);

            await DatabaseContext.SaveChangesAsync();
        }
예제 #2
0
 /// <summary>
 /// Fabrikmethode zum Erzeugen einer <see cref="ChangeDependentSubjectStateEntry"/>-Instanz.
 /// </summary>
 /// <param name="dependentSubjectId">ID des <see cref="DependentSubject"/>s, dem der Eintrag zugeordnet werden soll.</param>
 /// <param name="state">Initialer Status des Änderungseintrags.</param>
 /// <param name="comment">Kommentar zum Änderungseintrag (optional).</param>
 /// <returns>Erzeugte <see cref="ChangeDependentSubjectStateEntry"/>-Instanz.</returns>
 protected virtual ChangeDependentSubjectStateEntry CreateState(int dependentSubjectId, DependentSubjectState state, string comment = "") => new ChangeDependentSubjectStateEntry()
 {
     DependentSubjectId = dependentSubjectId,
     CurrentState       = state,
     DateTime           = DateTime.Now,
     Comment            = comment
 };