public ActionResult Create(FormCollection form) { int ano = int.Parse(form["ano"].ToString()); int mes = int.Parse(form["mes"].ToString()); DateTime inicio = new DateTime(ano, mes, 1); DateTime fin = new DateTime(ano, mes + 1, 1); try { var titulares = from t in db.Titulares.Where(p => p.fecha_registro >= inicio && p.fecha_registro <= fin) join f in db.Facturas on t.id_titular equals f.id_titular where f.fecha_factura_inicio != inicio select t; DBPrepagadaEntities db2 = new DBPrepagadaEntities(); using (db2) { foreach (var titular in titulares) { Facturas factura = new Facturas() { estado = "pendiente", fecha_factura = DateTime.Now.Date, fecha_factura_inicio = inicio, fecha_factura_fin = fin, valor_a_pagar = titular.Membresias.valor_mensual, id_titular = titular.id_titular, fecha_cancelado = inicio, pagado = 0 }; db2.Facturas.Add(factura); db2.SaveChanges(); foreach (var beneficiario in titular.Beneficiarios) { Facturas_Beneficiarios f_beneficiario = new Facturas_Beneficiarios() { id_beneficiario = beneficiario.id_beneficiario, id_factura = factura.id_factura, id_membresia = beneficiario.id_membresia, valor_a_pagar = beneficiario.Membresias.valor_mensual }; db2.Facturas_Beneficiarios.Add(f_beneficiario); db2.SaveChanges(); } } } } catch (Exception ex) { Console.WriteLine(ex.Message); } return(RedirectToAction("Index", new { fecha = inicio.ToString("yyyy-MM-dd") })); }