// For Search Result Window
        // GET: /Directors/DetailsView/5
        public ActionResult DetailsView(int? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            Actor actor = db.Actors.All().Include(d => d.Movies).FirstOrDefault(d => d.Id == id);
            if (actor == null)
            {
                return HttpNotFound();
            }

            var model = new ActorDetails()
            {
                FullName = actor.FirstName + " " + actor.LastName,
                Id = actor.Id,
                Age = actor.Age,
                Picture = actor.Picture,
                Movies = actor.Movies.Select(m => new MovieDetails()
                {
                    Title = m.Title,
                    CategoryName = m.Category.Name,
                    DetailsUrl = "/Movies/Details/" + m.Id,
                })
            };

            return PartialView("_ActorDetails", model);
        }
        public void DetailsViewShouldReturnCorrectActor()
        {
            var list = new List<Actor>();

            for (int i = 0; i < 10; i++)
            {
                list.Add(new Actor()
                {
                    Id = i,
                    FirstName = "Pesho",
                    LastName = "Peshev"
                });
            }

            var expected = new ActorDetails()
            {
                 FullName = "Pesho Peshev"
            };

            var movieRepoMock = new Mock<IRepository<Actor>>();
            movieRepoMock.Setup(x => x.All()).Returns(list.AsQueryable());

            var uowMock = new Mock<IUowData>();
            uowMock.Setup(x => x.Actors).Returns(movieRepoMock.Object);

            var controller = new ActorsController(uowMock.Object);

            var viewresult = controller.DetailsView(1) as PartialViewResult;
            Assert.IsNotNull(viewresult, "ViewResult is Null");
            var resModel = viewresult.Model;
            var model = viewresult.Model as ActorDetails;
            Assert.IsNotNull(model, "The model is Null");
            Assert.AreEqual(expected.FullName, model.FullName);
        }
Exemple #3
0
        protected void btngridviewadd_Click(object sender, EventArgs e)
        {
            DataClasses1DataContext dataContext = new DataClasses1DataContext();

            try
            {
                ActorDetails actor = new ActorDetails();

                var actors = (from d in dataContext.Actors
                              where d.Name.ToUpper().Trim() == txtActorName.Text.ToUpper().Trim()
                              select d);
                if (actors.Any())
                {
                    actor.ActorId   = actors.First().ActorId;
                    actor.ActorName = actors.First().Name;
                    actor.DOB       = actors.First().DOB;
                    actor.BIO       = actors.First().Bio;
                    actor.Sex       = actors.First().Sex;
                }

                if (ViewState["actorDetails"] != null)
                {
                    List <ActorDetails> list2 = ViewState["actorDetails"] as List <ActorDetails>;

                    //If actor already added to this movie so for the next time user can't select same actor/actress
                    foreach (var item in list2)
                    {
                        if (item.ActorId == actor.ActorId)
                        {
                            throw new Exception("Actor or Actress already added");
                        }
                    }
                }
                if (ViewState["actorDetails"] != null)
                {
                    list = (List <ActorDetails>)ViewState["actorDetails"];
                }
                list.Add(actor);
                ViewState["actorDetails"] = list;

                grActorList.DataSource = list;
                grActorList.DataBind();

                txtActorName.Text = "";
            }
            catch (Exception eX)
            {
                lblMsg.Text      = eX.Message;
                lblMsg.ForeColor = System.Drawing.Color.Red;
            }
        }