Esempio n. 1
0
        public static ChwinockEntities DeleteReport(ChwinockEntities db, Guid ReportID)
        {
            var targetReport = db.Reports.Single(r => r.ReportID == ReportID);

            // Delete ratings
            var ratingsToDelete = new List<Rating>();
            foreach (var r in targetReport.Ratings)
            {
                ratingsToDelete.Add(r);
            }
            foreach (var r in ratingsToDelete)
            {
                db.Ratings.DeleteObject(r);
            }

            // Delete comments
            var commentsToDelete = new List<Comment>();
            foreach (var c in targetReport.Comments)
            {
                commentsToDelete.Add(c);
            }
            foreach (var c in commentsToDelete)
            {
                db.Comments.DeleteObject(c);
            }

            // Delete photos
            db = DeletePhoto(db, targetReport.PhotoID);

            // Delete music attachments
            var songsToDelete = new List<Song>();
            foreach (var r in targetReport.Songs)
            {
                songsToDelete.Add(r);
            }
            foreach (var r in songsToDelete)
            {
                targetReport.Songs.Remove(r);
            }

            // Delete alcohol attachments
            var alcoholToDelete = new List<Alcohol>();
            foreach (var r in targetReport.Alcohols)
            {
                alcoholToDelete.Add(r);
            }
            foreach (var r in alcoholToDelete)
            {
                targetReport.Alcohols.Remove(r);
            }

            // Delete report
            db.DeleteObject(targetReport);

            return db;
        }