Ciao a tutti,
da ore sto impazzendo su un errore senza senso, provo a stampare una tabella in pdf usando Rotativa, preciso che le stesse funzioni le uso altrove e vanno bene qui mi chiama la prima funzione ma non chiama quella che fa la vera e propria stampa... ovviamente non restituisce nessun errore per cui le ho provate tutte ma non capisco perchè non la chiama, posto un po di codice
html
<text> |</text><input type="button" class="button-less" value="Scarica PDF" onclick="getValuePDF();"/>
<script>
var eventsUrl1 = '/ProgrammazioneAT/GeneratePDFAttivita';
function getValuePDF() {
var calendar = $("#calendar");
calendar.fullCalendar('removeEventSources');
calendar.fullCalendar('addEventSource', eventsUrl1 + '?filter=' + arrSelected);
}
</script>
controller
public ActionResult pdfAttivita(DateTime pstart, DateTime pend, string pfilter)
{
//Faccio la query per prendere tutti i committenti
SqlConnection connection = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["analisidb"].ConnectionString);
string queryString = queryString = "select Cod_Cliente,Rag_Sociale,Indirizzo,Localita,CAP from t_clienti";
SqlCommand command = new SqlCommand(queryString, connection);
var model = new List<V_Clienti>();
try
{
connection.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
var clienti = new V_Clienti();
clienti.ID = reader[0].ToString();
clienti.ragsociale = reader[1].ToString();
clienti.indirizzo = reader[2].ToString();
clienti.Localita = reader[3].ToString();
clienti.CAP = reader[4].ToString();
model.Add(clienti);
}
reader.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
var que0 = (from p in db.ProgrammazioneAT
join per in db.Personale
on p.OperatoreResponsabile equals per.IDPersonale
//where (p.DataInizio >= System.DateTime.Today) && (per.NomeUtente == User.Identity.Name || p.OperatoriProgAT.Any(x => x.nomeUtenteOperatore == User.Identity.Name))
where (p.DataInizio >= pstart) && (p.DataFine <= pend)
select new V_ProgrammazioneAT()
{
Attivita = p.Attivita,
Attivo = p.Attivo,
DataFine = p.DataFine,
DataInizio = p.DataInizio,
IDProgrammazioneAT = p.IDProgrammazioneAT,
Luogo = p.Luogo,
Note = p.Note,
NumTecnici = p.NumTecnici,
OperatoreResponsabile = per.Nome + " " + per.Cognome,
Modifica = p.Modifica,
Utente = p.Utente,
Committente = p.Committente.ToString(),
Colore = p.Colore
}).ToList();
if (User.Identity.Name.Equals("administrator") || User.Identity.Name.Equals("fgiglio") || User.Identity.Name.Equals("frgiglio"))
{
que0 = (from p in db.ProgrammazioneAT
join per in db.Personale
on p.OperatoreResponsabile equals per.IDPersonale
select new V_ProgrammazioneAT()
{
Attivita = p.Attivita,
Attivo = p.Attivo,
DataFine = p.DataFine,
DataInizio = p.DataInizio,
IDProgrammazioneAT = p.IDProgrammazioneAT,
Luogo = p.Luogo,
Note = p.Note,
NumTecnici = p.NumTecnici,
OperatoreResponsabile = per.Nome + " " + per.Cognome,
Modifica = p.Modifica,
Utente = p.Utente,
Committente = p.Committente.ToString(),
Colore = p.Colore
}).ToList();
}
var que = from p in que0
join c in model
on p.Committente equals c.ID
select new V_ProgrammazioneAT()
{
Attivita = p.Attivita,
Attivo = p.Attivo,
Committente = c.ragsociale,
DataFine = p.DataFine,
DataInizio = p.DataInizio,
IDProgrammazioneAT = p.IDProgrammazioneAT,
Luogo = p.Luogo,
Note = p.Note,
NumTecnici = p.NumTecnici,
OperatoreResponsabile = p.OperatoreResponsabile,
Modifica = p.Modifica,
Utente = p.Utente,
Colore = p.Colore
};
que = que.OrderBy(x => x.DataInizio);
return View(que.ToList());
}
public ActionResult GeneratePDFAttivita(DateTime start, DateTime end, string filter)
{
return new Rotativa.ActionAsPdf("pdfAttivita", new { pstart = start, pend = end, pfilter = filter })
{
FileName = "AttivitaProgrammate.pdf",
PageOrientation = Rotativa.Options.Orientation.Landscape,
PageSize = Rotativa.Options.Size.A4
};
}
Come si capisce dal codice js chiama "GeneratePDFAttivita" passando dei parametri e fin li tutto bene, poi Rotativa dice che posso chiamare l'altra funzione, quella che crea il modello html e lo stampa e fin qui ok, il problema è che questa maledetta pdfAttivita non viene chiamata! ma cosa c'è che non la fa partire?
Grazie