public ActorCreationData Add(ActorCreationData actorCreationData)
        {
            using (var entityContext = new MovieDbContext())
            {
                Actor actorToDb = new Actor();

                SimpleMapper.PropertyMap(actorCreationData, actorToDb);

                entityContext.ActorSet.Add(actorToDb);
                entityContext.SaveChanges();

                if (actorCreationData.MovieIds != null)
                {
                    foreach (var movieId in actorCreationData.MovieIds)
                    {
                        entityContext.MovieActorMappingSet.Add(new MovieActorMapping()
                        {
                            ActorId = actorToDb.Id,
                            MovieId = movieId
                        });
                    }
                }
                entityContext.SaveChanges();
            }
            return(actorCreationData);
        }
        public ActorCreationData UpdateSec(ActorCreationData actorCreationData)
        {
            using (var entityContext = new MovieDbContext())
            {
                // peki existing null ise?
                var existingActor = (from x in entityContext.ActorSet where x.Id == actorCreationData.Id select x).FirstOrDefault();
                SimpleMapper.PropertyMap(actorCreationData, existingActor);

                var currentMovieActorMappings = entityContext.MovieActorMappingSet.Where(t => t.ActorId == actorCreationData.Id).ToList();

                if (actorCreationData.MovieIds == null)
                {
                    actorCreationData.MovieIds = new int[] {}
                }
                ;

                if (currentMovieActorMappings.Count > actorCreationData.MovieIds.Count())
                {
                    for (int i = 0; i < actorCreationData.MovieIds.Count(); i++)
                    {
                        currentMovieActorMappings[i].MovieId = actorCreationData.MovieIds[i];
                    }
                    //2
                    for (int i = actorCreationData.MovieIds.Count(); i < currentMovieActorMappings.Count; i++)
                    {
                        entityContext.MovieActorMappingSet.Remove(currentMovieActorMappings[i]);
                    }
                    entityContext.SaveChanges();
                }
                else
                {
                    int index = 0;
                    foreach (var currentGenreMap in currentMovieActorMappings)
                    {
                        currentGenreMap.MovieId = actorCreationData.MovieIds[index];
                        index++;
                    }

                    if (actorCreationData.MovieIds.Count() != currentMovieActorMappings.Count)
                    {
                        for (int i = index; i < actorCreationData.MovieIds.Count(); i++)
                        {
                            var newMovieActorMapping = new MovieActorMapping()
                            {
                                ActorId = actorCreationData.Id, MovieId = actorCreationData.MovieIds[i]
                            };
                            entityContext.MovieActorMappingSet.Add(newMovieActorMapping);
                        }
                    }
                    entityContext.SaveChanges();
                }
            }

            return(null);
        }
Exemple #3
0
 public ActionResult Edit(int?id)
 {
     if (id == null || id == 0)
     {
         return(View("Select"));
     }
     else
     {
         ActorCreationData actor = _actorService.GetSec((int)id);
         return(View(actor));
     }
 }
        public ActorCreationData GetSec(int actorId)
        {
            var actorCreationData = new ActorCreationData();

            using (var entityContext = new MovieDbContext())
            {
                var actor = entityContext.ActorSet.Find(actorId);
                SimpleMapper.PropertyMap(actor, actorCreationData);

                actorCreationData.MovieIds = entityContext.MovieActorMappingSet.Where(t => t.ActorId == actorId).Select(t => t.MovieId).ToArray();
            }

            return(actorCreationData);
        }
Exemple #5
0
        public ActionResult Edit(ActorCreationData actorUpdated)
        {
            actorUpdated.Validate();

            if (!actorUpdated.ValidationErrors.Any())
            {
                _actorService.UpdateSec(actorUpdated);
                return(View(actorUpdated));
            }
            else
            {
                ViewBag.ValidationErrors = actorUpdated.ValidationErrors.ToList();
                TempData["Status"]       = CrudNotification.ValidationError;
                return(View(actorUpdated));
            }
        }
Exemple #6
0
        public ActionResult Create(ActorCreationData actor)
        {
            actor.Validate();

            if (!actor.ValidationErrors.Any())
            {
                RunAndReleaseProxy(_proxyFactory.CreateProxy <IActorService>(), proxy => proxy.Add(actor));

                TempData["Status"] = CrudNotification.Success;
                TempData["Id"]     = actor.Id;

                return(View());
            }
            else
            {
                ViewBag.ValidationErrors = actor.ValidationErrors.ToList();
                TempData["Status"]       = CrudNotification.ValidationError;
                return(View());
            }
        }
Exemple #7
0
 public ActorCreationData UpdateSec(ActorCreationData entity)
 {
     return(Channel.UpdateSec(entity));
 }
Exemple #8
0
 public ActorCreationData Add(ActorCreationData entity)
 {
     return(Channel.Add(entity));
 }
Exemple #9
0
 public ActorCreationData UpdateSec(ActorCreationData entity)
 {
     return(_actorRepository.UpdateSec(entity));
 }
Exemple #10
0
 public ActorCreationData Add(ActorCreationData entity)
 {
     return(_actorRepository.Add(entity));
 }