public Projection Insert(CreateProjection value)
        {
            using (var tran = db.Database.BeginTransaction(System.Data.IsolationLevel.RepeatableRead))
            {
                var toInsert = new DbProjection()
                {
                    FilmId = value.FilmId,
                    RoomId = value.RoomId,
                    Start  = value.Start
                };
                db.Projections.Add(toInsert);

                db.SaveChanges();
                tran.Commit();

                return(new Model.Projection(toInsert.Id, toInsert.FilmId, toInsert.RoomId, toInsert.Start));
            }
        }
 private static Model.Projection ToModel(DbProjection value)
 {
     if (value.Film == null)
     {
         return(new Model.Projection(value.Id, value.FilmId, value.RoomId, value.Start));
     }
     else
     {
         return(new Model.Projection(
                    value.Id,
                    value.FilmId,
                    new Model.Film(
                        value.Film.Id,
                        value.Film.Title,
                        value.Film.Director,
                        value.Film.Description,
                        value.Film.Rating),
                    value.RoomId,
                    value.Start));
     }
 }