/// <summary>
        /// Adding new report into database.
        /// </summary>
        /// <param name="newReport">New report entity.</param>
        /// <returns>ID for created report.</returns>
        public int AddReport(SavedReport newReport)
        {
            using (PhotoCollectionDatabaseEntities context = new PhotoCollectionDatabaseEntities(_connectionString))
            {
                newReport.ID = context.Tags.NextId(p => p.ID);

                context.SavedReports.AddObject(newReport);
                context.SaveChanges();

                return newReport.ID;
            }
        }
예제 #2
0
        private void FixupSavedReport(SavedReport previousValue, bool skipKeys = false)
        {
            if (IsDeserializing)
            {
                return;
            }

            if (previousValue != null && previousValue.ReportsHistories.Contains(this))
            {
                previousValue.ReportsHistories.Remove(this);
            }

            if (SavedReport != null)
            {
                if (!SavedReport.ReportsHistories.Contains(this))
                {
                    SavedReport.ReportsHistories.Add(this);
                }

                SavedReportID = SavedReport.ID;
            }
            else if (!skipKeys)
            {
                SavedReportID = null;
            }

            if (ChangeTracker.ChangeTrackingEnabled)
            {
                if (ChangeTracker.OriginalValues.ContainsKey("SavedReport") &&
                    (ChangeTracker.OriginalValues["SavedReport"] == SavedReport))
                {
                    ChangeTracker.OriginalValues.Remove("SavedReport");
                }
                else
                {
                    ChangeTracker.RecordOriginalValue("SavedReport", previousValue);
                }
                if (SavedReport != null && !SavedReport.ChangeTracker.ChangeTrackingEnabled)
                {
                    SavedReport.StartTracking();
                }
            }
        }
        private void FixupSavedReport(SavedReport previousValue, bool skipKeys = false)
        {
            if (IsDeserializing)
            {
                return;
            }

            if (previousValue != null && previousValue.ReportsHistories.Contains(this))
            {
                previousValue.ReportsHistories.Remove(this);
            }

            if (SavedReport != null)
            {
                if (!SavedReport.ReportsHistories.Contains(this))
                {
                    SavedReport.ReportsHistories.Add(this);
                }

                SavedReportID = SavedReport.ID;
            }
            else if (!skipKeys)
            {
                SavedReportID = null;
            }

            if (ChangeTracker.ChangeTrackingEnabled)
            {
                if (ChangeTracker.OriginalValues.ContainsKey("SavedReport")
                    && (ChangeTracker.OriginalValues["SavedReport"] == SavedReport))
                {
                    ChangeTracker.OriginalValues.Remove("SavedReport");
                }
                else
                {
                    ChangeTracker.RecordOriginalValue("SavedReport", previousValue);
                }
                if (SavedReport != null && !SavedReport.ChangeTracker.ChangeTrackingEnabled)
                {
                    SavedReport.StartTracking();
                }
            }
        }