public TVShowCastMember(int tvShowId, TVShow tvShow, int castMemberId, CastMember castMember) { this.TVShowId = tvShowId; this.TvShow = tvShow; this.CastMemberId = castMemberId; this.CastMember = castMember; }
private void UpdateCastMember(CastMemberEntity dbCastMemberEntity, CastMember castMember) { dbCastMemberEntity.Birthday = castMember.Birthday; dbCastMemberEntity.Name = castMember.Name; dbCastMemberEntity.ModifiedAt = DateTime.UtcNow; _dbContext.Update(dbCastMemberEntity); }
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); }
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); }
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)); }
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); }
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; }
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); }
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)); }
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); }
// 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);
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)); }
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)); }
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)); }
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); }