Ejemplo n.º 1
0
        public ActionResult Copy(ExtraCopyViewModel viewModel)
        {
            int id = viewModel.Extra.ExtraId;

            viewModel.Extra = db.Extras.Include(s => s.CategoriaExtra)
                              .SingleOrDefault(s => s.ExtraId == id);
            if (viewModel.Extra != null)
            {
                viewModel.Extra.SubTemaId = viewModel.SubTemaCopiarId;
                viewModel.Extra.Orden     = db.Extras.Count(extra => extra.CategoriaExtraId == viewModel.Extra.CategoriaExtraId && extra.SubTemaId == viewModel.Extra.SubTemaId) + 1;

                db.Extras.Add(viewModel.Extra);
                db.SaveChanges();

                //Meter en nuevos clientes
                var clientes = db.ClienteSubTemas.Where(cb => cb.SubTemaId == viewModel.SubTemaCopiarId);
                foreach (var clienteBloque in clientes)
                {
                    db.ClienteExtras.Add(new ClienteExtra()
                    {
                        ExtraId   = viewModel.Extra.ExtraId,
                        ClienteId = clienteBloque.ClienteId
                    });
                }
                db.SaveChanges();



                if (!string.IsNullOrEmpty(viewModel.Extra.Audio))
                {
                    string oldPathAndName = "~/media/upload/extras_audios/" + viewModel.Extra.Audio;
                    string newPathAndName = "~/media/upload/extras_audios/" + viewModel.Extra.ExtraId + ".mp3";

                    System.IO.File.Copy(Server.MapPath(oldPathAndName), Server.MapPath(newPathAndName));

                    viewModel.Extra.Audio           = viewModel.Extra.ExtraId + ".jpg";
                    db.Entry(viewModel.Extra).State = EntityState.Modified;
                    db.SaveChanges();
                }

                if (!string.IsNullOrEmpty(viewModel.Extra.Foto))
                {
                    string oldPathAndName = "~/media/upload/extras_imagenes/" + viewModel.Extra.Foto;
                    string newPathAndName = "~/media/upload/extras_imagenes/" + viewModel.Extra.ExtraId + ".mp3";

                    System.IO.File.Copy(Server.MapPath(oldPathAndName), Server.MapPath(newPathAndName));

                    viewModel.Extra.Foto            = viewModel.Extra.ExtraId + ".jpg";
                    db.Entry(viewModel.Extra).State = EntityState.Modified;
                    db.SaveChanges();
                }



                return(RedirectToAction("Index", "Bloques", new { id = viewModel.Extra.SubTemaId, pestanya = (int)PestanyasBloques.Extras }));
            }

            viewModel.InicializarDesplegables();
            return(View(viewModel));
        }
Ejemplo n.º 2
0
        // GET: Admin/Extras/Copy
        public ActionResult Copy(int id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var Extra = db.Extras.Include(s => s.CategoriaExtra).SingleOrDefault(s => s.ExtraId == id);

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

            ExtraCopyViewModel viewModel = new ExtraCopyViewModel();

            viewModel.Extra = Extra;
            viewModel.InicializarDesplegables();

            return(View(viewModel));
        }