public TVShowCastMember(int tvShowId, TVShow tvShow, int castMemberId, CastMember castMember)
 {
     this.TVShowId     = tvShowId;
     this.TvShow       = tvShow;
     this.CastMemberId = castMemberId;
     this.CastMember   = castMember;
 }
Ejemplo n.º 2
0
 private void UpdateCastMember(CastMemberEntity dbCastMemberEntity, CastMember castMember)
 {
     dbCastMemberEntity.Birthday   = castMember.Birthday;
     dbCastMemberEntity.Name       = castMember.Name;
     dbCastMemberEntity.ModifiedAt = DateTime.UtcNow;
     _dbContext.Update(dbCastMemberEntity);
 }
Ejemplo n.º 3
0
        private static List <CastMember> ParseCastMembers(JToken jToken)
        {
            List <CastMember> cast = new List <CastMember>();
            var jsonArray          = (JArray)jToken;

            if (jsonArray == null)
            {
                return(cast);
            }

            foreach (var castMember in jsonArray)
            {
                CastMember member = new CastMember();
                member.Name = (string)castMember["name"];

                var characters = (JArray)castMember["characters"];
                if (characters != null)
                {
                    foreach (var character in characters)
                    {
                        member.Characters.Add((string)character);
                    }
                }

                cast.Add(member);
            }

            return(cast);
        }
Ejemplo n.º 4
0
        public Movie Create(
            string title,
            int year,
            Country country,
            CastMember director,
            float rating,
            Genre genre,
            IList <CastMember> actors)
        {
            if (this.Find(title) != null)
            {
                throw new Exception();
            }

            var movie = new Movie
            {
                Title    = title,
                Year     = year,
                Country  = country,
                Director = director,
                Rating   = rating,
                Genre    = genre,
                Actors   = actors
            };

            this.dbContext.Movies.Add(movie);

            return(movie);
        }
Ejemplo n.º 5
0
        private void PopulateTestDatabase(DbContextOptions <TvShowContext> options, int numberOfTvShowsToPopulate, int numberOfCastMembersPerTvShow = 0)
        {
            using (var context = new TvShowContext(options))
            {
                for (int iTvShow = 1; iTvShow <= numberOfTvShowsToPopulate; iTvShow++)
                {
                    var tvShow = new TvShow()
                    {
                        Id = iTvShow, Name = "Tv Show" + iTvShow
                    };
                    var cast = new List <CastMember>();
                    for (int iCast = 1; iCast <= numberOfCastMembersPerTvShow; iCast++)
                    {
                        var id     = Int32.Parse(iTvShow.ToString() + iCast.ToString());
                        var member = new CastMember()
                        {
                            Id       = id,
                            Name     = "Cast " + iCast,
                            Birthday = DateTime.Now.AddYears(-((numberOfCastMembersPerTvShow - iCast) * 10)),
                            TvShow   = tvShow
                        };
                        context.CastMembers.Add(member);
                        cast.Add(member);
                    }
                    tvShow.Cast = cast;
                    context.TvShows.Add(tvShow);
                }

                context.SaveChanges();
            }
        }
        private static IEnumerable <CastMember> GetCast(Movie movie)
        {
            List <CastMember> cast = new List <CastMember>();

            while (true)
            {
                IEnumerable <string> options = movie.Cast.Select(l => l.Name);
                int selection = MenuHelper.GetMenuSelection(options, false, true);

                if (selection == -1)
                {
                    break;
                }

                CastMember member = movie.Cast.ElementAt(selection);

                if (cast.Contains(member))
                {
                    Console.Clear();
                    Console.WriteLine($"{member.Name} has already been added");
                }
                else
                {
                    cast.Add(member);
                    Console.Clear();
                    Console.WriteLine($"{member.Name} added to schedule");
                }
            }

            return(cast);
        }
        public ActionResult DeleteConfirmed(int?id)
        {
            CastMember castMember = db.CastMembers.Find(id);

            // Before the cast member is removed.  Set the associated User CastMemberUserId to 0 if a User was assigned.
            if (castMember.CastMemberPersonID != null)
            {
                db.Users.Find(castMember.CastMemberPersonID).CastMemberUserID = 0;
            }

            // Before cast memeber is removed, search for associated parts and set Person_CastMemberId to NULL
            foreach (var i in db.Parts.Where(p => p.Person.CastMemberID == id))
            {
                i.Person = null;
            }

            db.CastMembers.Remove(castMember);

            // PROBABLY NOT NEEDED

            // Remove the ModelState Error when the cast member is deleted.  Now the user associated with this
            // Deleted Cast Member can be assigned without creating an error.
            //string username = db.Users.Where(x => x.CastMemberUserID == id).First().UserName;
            //if (ModelState.ContainsKey(username))
            //    ModelState[username].Errors.Clear();

            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        private static string GetCastJob(CastMember castMember)
        {
            var jobBuilder = new StringBuilder("Cast: ");

            jobBuilder.Append(castMember.Role.Trim());

            if (castMember.Voice)
            {
                jobBuilder.Append(" (voice)");
            }

            if (castMember.Uncredited)
            {
                jobBuilder.Append(" (uncredited)");
            }

            if (!string.IsNullOrWhiteSpace(castMember.CreditedAs))
            {
                jobBuilder.Append(" (as ");
                jobBuilder.Append(castMember.CreditedAs.Trim());
                jobBuilder.Append(")");
            }

            return(jobBuilder.ToString());
        }
        // GET: CastMembers/Details/5
        public ActionResult Details(int?id)
        {
            ViewData["dbUsers"] = new SelectList(db.Users.ToList(), "Id", "UserName");

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CastMember castMember = db.CastMembers.Find(id);

            if (castMember == null)
            {
                return(HttpNotFound());
            }
            //Passes The Username of the currently selected cast member to the model
            if (castMember.CastMemberPersonID != null)
            {
                ViewBag.CurrentUser = db.Users.Find(castMember.CastMemberPersonID).UserName;
            }

            if (Request.IsAuthenticated)
            {
                var             userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));
                ApplicationUser currentUser = userManager.FindById(User.Identity.GetUserId());

                if (currentUser != null && currentUser.FavoriteCastMembers != null)
                {
                    // Break the string down into a list and send to view
                    ViewBag.FavCastIds = currentUser.FavoriteCastMembers.Split(',').ToList();
                }
            }

            return(View(castMember));
        }
Ejemplo n.º 10
0
        public ActionResult Edit([Bind(Include = "ID, Name, YearJoined, MainRole, Bio, Photo, CurrentMember, Character, CastYearLeft, DebutYear")] CastMember castMember, HttpPostedFileBase postedFile)
        {
            if (postedFile == null)
            {
                var castM = db.CastMembers.AsNoTracking().First(cast => castMember.ID == cast.ID);
                castMember.Photo = castM.Photo;
            }
            else
            {
                byte[] bytes;
                using (BinaryReader br = new BinaryReader(postedFile.InputStream))
                {
                    bytes = br.ReadBytes(postedFile.ContentLength);
                }
                castMember.Photo = bytes;
            }

            if (ModelState.IsValid)
            {
                db.Entry(castMember).State = EntityState.Modified;
                db.SaveChanges();
                return RedirectToAction("Index");
            }
            return View(castMember);
        }
        public ActionResult Create(IEnumerable <string> selectedProductions, [Bind(Include = "CastMemberID,Name,YearJoined,ProductionTitles,MainRole,Bio,CurrentMember,Character,CastYearLeft,DebutYear, File")] CastMember castMember)
        {
            if (ModelState.IsValid)
            {
                if (selectedProductions == null)             //Production ListBox Null Protection; needs improvement.
                {
                    return(RedirectToAction("Create"));
                }

                castMember.SelectedProductions = selectedProductions;        //Save Production selection to model.
                foreach (string selection in castMember.SelectedProductions) //Then populate CastMember.Productions
                {
                    int selectionInt = Int32.Parse(selection);
                    castMember.Productions.Add(db.Productions.Where(p => p.ProductionId == selectionInt).SingleOrDefault());
                }

                castMember.Photo = FileToBytes(castMember.File);           //Convert Uploaded photo file to Byte[]

                db.CastMembers.Add(castMember);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(castMember));
        }
        // GET: CastMembers/Edit/5
        public ActionResult Edit(int?id)
        {
            // STORY REQUIREMENT: The Edit function should check if the User has been modified(i.e. if the User has been added,
            // removed, or changed) and set or reset the User(or Users) value for the appropriate CastMemberId.

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            CastMember castMember = db.CastMembers.Find(id);

            if (castMember == null)
            {
                return(HttpNotFound());
            }

            // Check if the user associated with this CastMember is deleted.  If so, reset value to null.
            // If the user is already null, don't look for matching ids and don't update the database.
            if (castMember.CastMemberPersonID != null && db.Users.Where(x => x.Id == castMember.CastMemberPersonID).Count() <= 0)
            {
                Debug.WriteLine("\n\n\nDELETED USER DETECTED, Reset Username to N / A\n\n\n");
                castMember.CastMemberPersonID = null;

                db.Entry(castMember).State = EntityState.Modified;
                db.SaveChanges();
            }
            // ***still need to get existing value to display as a default in drop-down list***
            ViewData["dbUsers"] = new SelectList(db.Users.ToList(), "Id", "UserName", castMember.CastMemberPersonID);

            return(View(castMember));
        }
        public ActionResult Edit(IEnumerable <string> selectedProductions, CastMember castMember)
        {
            if (ModelState.IsValid)
            {
                // Photo Upload
                if (castMember.File != null)
                {
                    castMember.Photo = FileToBytes(castMember.File);
                }

                db.Entry(castMember).State = EntityState.Modified;    //Save non-Nav properties to db before altering Nav properties.
                db.SaveChanges();

                if (selectedProductions == null)
                {
                    castMember.SelectedProductions = GetSelectedProductions(castMember.CastMemberId);
                }                                                                                                                           //Production ListBox Null maintains original selections.
                var productions = db.Productions.ToHashSet <Production>();                                                                  //Create Productions List
                castMember = db.CastMembers.Include(x => x.Productions).FirstOrDefault(x => x.CastMemberId == castMember.CastMemberId);     //Repopulate castMember from db. Needed for EF change-tracking
                castMember.Productions.Clear();                                                                                             //Clear old Producitons
                foreach (string selection in castMember.SelectedProductions)                                                                //Add new Production for each selection
                {
                    int selectionInt = Int32.Parse(selection);
                    castMember.Productions.Add(productions.Where(p => p.ProductionId == selectionInt).SingleOrDefault());
                }
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(castMember));
        }
 public static CastMemberDTO ToDto(this CastMember model)
 {
     return(new CastMemberDTO(
                model.Id,
                model.Name,
                model.Birthday.GetValueOrDefault().Date.ToString("dd-MM-yyyy")));
 }
        public ActionResult DeleteConfirmed(int id)
        {
            CastMember castMember = db.CastMembers.Find(id);

            db.CastMembers.Remove(castMember);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        // GET: Prod/CastMembers/Create
        public ActionResult Create()
        {
            CastMember castMember = new CastMember();

            castMember.ProductionsListItems = GetProductionList();


            return(View(castMember));
        }
        public ActionResult Create([Bind(Include = "CastMemberID,Name,YearJoined,MainRole,Bio,PhotoId,CurrentMember,CastMemberPersonId,AssociateArtist,EnsembleMember,CastYearLeft,DebutYear")] CastMember castMember, HttpPostedFileBase file)
        {
            ModelState.Remove("CastMemberPersonID");

            //Extract the Guid as type String from user's selected User (from SelectList)
            string userId = Request.Form["dbUsers"].ToString();

            // ModelState error to ensure that A user cannot be assigned to multiple cast members.
            // If the CastMemberUserID IS assigned for this user, that means that this user is assigned
            // to another Cast Member: add the ModelState error.
            if (!string.IsNullOrEmpty(userId) && db.Users.Find(userId).CastMemberUserID != 0)
            {
                ModelState.AddModelError("CastMemberPersonID", $"{db.Users.Find(userId).UserName} already has a cast member profile");
            }

            if (ModelState.IsValid)
            {
                if (file != null && file.ContentLength > 0)
                {
                    castMember.PhotoId = PhotoController.CreatePhoto(file, castMember.Name); // Call CreatePhoto method from Photocontroller and assign return value (int photo.PhotoId) to castMember.PhotoId
                }


                //ViewData["dbUsers"] = new SelectList(db.Users.ToList(), "Id", "UserName");

                if (!string.IsNullOrEmpty(userId))
                {
                    castMember.CastMemberPersonID = db.Users.Find(userId).Id;
                }
                //ModelState.Remove("PhotoId");
                db.CastMembers.Add(castMember);
                db.SaveChanges();

                // If a user was selected, update the CastMemberUserID column in the User table with CastMemberPersonID.
                if (!string.IsNullOrEmpty(userId))
                {
                    // Find the selected user.
                    var selectedUser = db.Users.Find(userId);

                    // Update the User's Cast Member Id column with castMemberId
                    selectedUser.CastMemberUserID = castMember.CastMemberID;

                    // Save the changes
                    db.Entry(selectedUser).State = EntityState.Modified;
                    db.SaveChanges();
                }

                return(RedirectToAction("Index"));
            }
            else  // This viewdata is required for the create view
            {
                ViewData["dbUsers"] = new SelectList(db.Users.ToList(), "Id", "UserName");
            }

            return(View(castMember));
        }
        public List <string> GetProductionTitles(CastMember castMember)   //Overload for CastMemberProducitons
        {
            var productionTitles = new List <string>();

            foreach (Production production in castMember.Productions)
            {
                productionTitles.Add(production.Title);
            }
            return(productionTitles);
        }
Ejemplo n.º 19
0
    public void OnEliminate(GameObject castMember)
    {
        InsultManager.Instance.OnAuditionEnded();
        CastMember cm = currentAudition.GetComponent <CastMember>();

        cm.OnFinalSpeech(finalSpeechTime);
        cm.OnFadeOut(fadeOutTime);
        characterProfile.SetActive(false);
        timeSinceAuditionEnded = 0.0f;
    }
Ejemplo n.º 20
0
        public IActionResult OnGet(int castMemberId)
        {
            CastMember = movieSiteContext.CastMembers.Where(x => x.CastMemberId == castMemberId).FirstOrDefault();
            if (CastMember == null)
            {
                return(Redirect("/"));
            }

            Movies = movieSiteContext.MovieCastMembers.Where(x => x.CastMemberId == castMemberId).Select(x => x.Movie).ToList();
            return(Page());
        }
        /// <summary>
        /// Gets the cast members of a single Show
        /// </summary>
        /// <param name="showId">The ID of the show</param>
        /// <returns>A List of CastMembers</returns>
        public List <CastMember> GetCastMembers(int showId)
        {
            var castMembers = new List <CastMember>();

            this.restClient.BaseUrl = new System.Uri(baseUrl + "/shows/" + showId.ToString(CultureInfo.InvariantCulture) + "/cast");

            var request = new RestRequest(Method.GET);

            request.AddHeader("User-Agent", userAgent);
            request.AddHeader("Cache-Control", "no-cache");

            IRestResponse response = this.restClient.Execute(request);

            switch ((int)response.StatusCode)
            {
            case 404:
                return(null);

            case 429:
                throw new DataSourceOverloadException();

            case 200:
                // do nothing
                break;

            default:
                // better error handling required here
                return(null);
            }

            var castResponse = JsonConvert.DeserializeObject <IEnumerable <CastResponse> >(response.Content);

            foreach (var c in castResponse)
            {
                var member = new CastMember();
                member.Id   = Convert.ToInt32(c.Person["id"].ToString(), CultureInfo.InvariantCulture);
                member.Name = c.Person["name"].ToString();

                if (c.Person["birthday"] != null)
                {
                    var      birthDate = c.Person["birthday"].ToString();
                    DateTime parsedDate;

                    if (DateTime.TryParseExact(birthDate, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out parsedDate))
                    {
                        member.Birthdate = parsedDate;
                    }
                }

                castMembers.Add(member);
            }

            return(castMembers);
        }
        //Overload for pre-saved CastMember Production selections
        public IEnumerable <string> GetSelectedProductions(int id)
        {
            List <string> selectedProductions = new List <string>();
            CastMember    castMember          = db.CastMembers.Include(x => x.Productions).FirstOrDefault(x => x.CastMemberId == id);

            foreach (Production production in castMember.Productions)
            {
                selectedProductions.Add(production.ProductionId.ToString());
            }
            return(selectedProductions);
        }
Ejemplo n.º 23
0
 public ActionResult Edit([Bind(Include = "CastMemberId,ActorId,VideoId")] CastMember castMember)
 {
     if (ModelState.IsValid)
     {
         db.Entry(castMember).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ActorId = new SelectList(db.Actors, "ActorId", "ActorFirstName", castMember.ActorId);
     ViewBag.VideoId = new SelectList(db.Videos, "VideoId", "Title", castMember.VideoId);
     return(View(castMember));
 }
Ejemplo n.º 24
0
            public static CastMember FromElement(XElement e)
            {
                var u = new CastMember
                {
                    display_name = e.Attribute("display_name").Value,
                    id           = e.Attribute("id").Value,
                    role         = e.Attribute("role").Value,
                    username     = e.Attribute("username").Value
                };

                return(u);
            }
Ejemplo n.º 25
0
 // GET: Prod/CastMembers/Details/5
 public ActionResult Details(int? id)
 {
     if (id == null)
     {
         return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
     }
     CastMember castMember = db.CastMembers.Find(id); /*This was added by me to ensure errors would keep users on the wepage and not cause a fatal crash.*/
     if (castMember == null)
     {
         return HttpNotFound();
     }
     return View(castMember);
Ejemplo n.º 26
0
 public ActionResult Edit([Bind(Include = "CastMemberId,DVDId,ArtistId")] CastMember castMember)
 {
     if (ModelState.IsValid)
     {
         db.Entry(castMember).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ArtistId = new SelectList(db.Artists, "ArtistId", "FirstName", castMember.ArtistId);
     ViewBag.DVDId    = new SelectList(db.DVDDetails, "DVDId", "Title", castMember.DVDId);
     return(View(castMember));
 }
Ejemplo n.º 27
0
        public ActionResult Create([Bind(Include = "Id,DVDId,ActorId")] CastMember castMember)
        {
            if (ModelState.IsValid)
            {
                db.CastMembers.Add(castMember);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.ActorId = new SelectList(db.Actors, "ActorId", "FirstName", castMember.ActorId);
            ViewBag.DVDId   = new SelectList(db.DVDDetails, "DVDId", "Title", castMember.DVDId);
            return(View(castMember));
        }
Ejemplo n.º 28
0
        public ActionResult Create([Bind(Include = "CastMemberID,Name,YearJoined,MainRole,Bio,CurrentMember,Character,CastYearLeft,DebutYear, File")] CastMember castMember)
        {
            if (ModelState.IsValid)
            {
                castMember.Photo = FileToBytes(castMember.File);

                db.CastMembers.Add(castMember);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(castMember));
        }
        private static AlexaResponse GetPerson(string showName, string personQuery, CastMember person)
        {
            var cardTitle = $"{personQuery.ToCamelCase()} in {showName}";

            if (person == null)
            {
                return(new AlexaResponse($"Sorry, I was unable to find an actor called '{personQuery}' starring in {showName}", cardTitle));
            }

            var outputSpeechText = $"{person.Person.Name} played {person.Character.Name} in {showName}.";

            return(new AlexaResponse(outputSpeechText, cardTitle));
        }
Ejemplo n.º 30
0
        public async Task TestDefaultAction()
        {
            // arrange
            var s1 = new Show {
                Id = 42, Name = "HitchHikers Guide to the Galaxy"
            };
            var m = new CastMember {
                Id = 1, Name = "Ford Prefect", Birthdate = new DateTime(1500, 1, 1)
            };

            s1.ShowCastMembers.Add(new ShowCastMember {
                Show = s1, CastMember = m
            });
            m = new CastMember {
                Id = 2, Name = "Arthur Dent", Birthdate = new DateTime(1960, 12, 31)
            };
            s1.ShowCastMembers.Add(new ShowCastMember {
                Show = s1, CastMember = m
            });
            this.context.Shows.Add(s1);

            var s2 = new Show {
                Id = 12, Name = "Some other show"
            };

            m = new CastMember {
                Id = 5, Name = "Someone", Birthdate = new DateTime(1980, 12, 31)
            };
            s2.ShowCastMembers.Add(new ShowCastMember {
                Show = s2, CastMember = m
            });
            this.context.Shows.Add(s2);
            this.context.SaveChanges();

            // note that the tvmazeservice and logger are not used in this action
            var controller = new ScrapeController(showService: this.showService, tvMazeService: null, logger: null);

            // act
            var response = await controller.Index().ConfigureAwait(false);

            // assert
            response.Should().BeAssignableTo <ViewResult>(because: "this should always return a View.");

            var viewResponse = (ViewResult)response;

            viewResponse.Model.Should().BeAssignableTo <int>();
            viewResponse.Model.Should().Be(42, because: "that was the highest ID specified.");

            this.showRepoLogger.WarnCount.Should().Be(0);
            this.showRepoLogger.ErrorCount.Should().Be(0);
        }