コード例 #1
0
        public ActionResult Edit(Publicacion p, FormCollection collection)
        {
            int idPublicacion = p.IdPublicacion;
            //Precios
            IList<Precio> listaPrecios = p.Precios;
            var repoPrecios = new PrecioRepositorio();
            foreach (var precio in listaPrecios)
            {
                precio.IdPublicacion = idPublicacion;
                bool update = repoPrecios.Update(precio);
            }

            //fin Precios
            //Servicios

            var misServicios = new List<Servicio>(p.Servicios);
            var repoPubSer = new PublicacionServicioRepositorio();
            var repoSer = new ServicioRepositorio();
            var listaPubServ = repoPubSer.GetAll();
            bool flag = false;
            bool flag2 = false;
            foreach (var misServicio in misServicios)
            {
                if (misServicio.IdServicio != 0)
                {
                    foreach (var publicacionServicio in listaPubServ)
                    {
                        if(publicacionServicio.IdPublicacion==idPublicacion)
                        {
                            if(publicacionServicio.IdServicio==misServicio.IdServicio)
                            {
                                flag = true;
                                break;
                            }
                        }
                    }
                    if(!flag)
                    {
                        var pB = new PublicacionServicio
                        {
                            IdPublicacion = idPublicacion,
                            IdServicio = misServicio.IdServicio

                        };
                        repoPubSer.Save(pB);
                    }
                    flag = false;
                }else
                {
                    foreach (var publicacionServicio in listaPubServ)
                    {
                        if (publicacionServicio.IdPublicacion == idPublicacion)
                        {
                            if (publicacionServicio.IdServicio==misServicio.FkIdServicio)
                            {
                                flag2 = true;
                                misServicio.IdServicio = publicacionServicio.IdServicio;
                                break;
                            }
                        }
                    }
                    if (flag2)
                    {
                        var pB = new PublicacionServicio
                        {
                            IdPublicacion = idPublicacion,
                            IdServicio = misServicio.IdServicio

                        };
                        repoPubSer.Delete(pB);
                    }
                    flag2 = false;

                }

            }
            Idioma i = p.Idioma[0];
            var repoIdioma = new IdiomaRepositorio();
            i.IdPublicacion = p.IdPublicacion;
            repoIdioma.Update(i);

            var repoPubli = new PublicacionRepositorio();
            var b = repoPubli.Update(p);
            Session["IdPublicacion"] = idPublicacion;
            return RedirectToAction("EditForPublicacion","Imagene", new {idPubli = idPublicacion});
        }