public ActionResult EditarPublicidad(PublicidadModel modelo)
        {
            if (ModelState.IsValid)
            {
                _publicidadRepository.Actualizar(modelo);

                return(RedirectToAction("Index"));
            }
            return(View(modelo));
        }
        public ActionResult CrearFactura(string idPartner, string mes)
        {
            var    listaPublicidad    = _publicidadRepository.ObtenerPublicidadPorIdPartner(idPartner);
            var    listafinal         = new List <PublicidadModel>();
            var    existeFactura      = false;
            string idFacturaExistente = null;

            foreach (var publi in listaPublicidad)
            {
                var mesFechaInicioPubliCtx = DateTime.Parse(publi.FechaInicio).Month.ToString();
                if (mesFechaInicioPubliCtx.Equals(mes))
                {
                    // Estamos en el mes correcto
                    //Añadimos producto a la lista
                    listafinal.Add(publi);

                    if (publi.IdFactura != null)
                    {
                        idFacturaExistente = publi.IdFactura;
                        existeFactura      = true;
                    }
                }
            }

            try
            {
                if (existeFactura)
                {
                    //Tenemos Factura la actualizamos
                    foreach (var publi in listafinal)
                    {
                        //Borramos los registros existentes

                        var registro =
                            _facturacionPublicidadRepository.ObtenerFacturaPorIdPublicidad(publi.Id.ToString());

                        if (registro != null)
                        {
                            _facturacionPublicidadRepository.Eliminar(registro);
                        }

                        //nos recoremos la lista para ponerle el id de la factura a al objeto publicidad
                        publi.IdFactura = idFacturaExistente;
                        var registroFactura = new FacturacionPublicidadModel()
                        {
                            Id            = Guid.NewGuid(),
                            IdFactura     = publi.IdFactura,
                            IdPartner     = idPartner,
                            FechaCreacion = DateTime.Today.ToLongDateString(),
                            IdPublicidad  = publi.Id.ToString()
                        };

                        //Insertamos los registros de la factura
                        _facturacionPublicidadRepository.Insertar(registroFactura);
                        //Actualizamos los registros de publicidad
                        _publicidadRepository.Actualizar(publi);
                    }
                    return(Json(new { success = true, responseText = "Correcta Creacion", idFactura = idFacturaExistente }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    //No tenemos Factura creamos una nueva
                    idFacturaExistente = Guid.NewGuid().ToString();

                    foreach (var publi in listafinal)
                    {
                        //nos recoremos la lista para ponerle el id de la factura a al objeto publicidad
                        publi.IdFactura = idFacturaExistente;
                        var registroFactura = new FacturacionPublicidadModel()
                        {
                            Id            = Guid.NewGuid(),
                            IdFactura     = publi.IdFactura,
                            IdPartner     = idPartner,
                            FechaCreacion = DateTime.Today.ToLongDateString(),
                            IdPublicidad  = publi.Id.ToString()
                        };

                        //Insertamos los registros de la factura
                        _facturacionPublicidadRepository.Insertar(registroFactura);
                        //Actualizamos los registros de publicidad
                        _publicidadRepository.Actualizar(publi);
                    }
                    return(Json(new { success = true, responseText = "Correcta Creacion", idFactura = idFacturaExistente }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception)
            {
                return(Json(new { success = false, responseText = "Error" },
                            JsonRequestBehavior.AllowGet));

                throw;
            }
        }