public void StampaModAssTecWithKM(string date, string sRespRic, bool bUrge, string sIDCli, bool bTipoAssTec , bool bTipoTaratur, bool bTipoConsulenza , bool bSedeCliente, bool bSedeRivenditore, bool bSedeLAboratorio, string sDescRichiesta , bool bcaricoCentroAss, bool bCaricoCliente, bool bcaricoRivenditore, bool bCaricoAltro, string sAltro , bool bClienteAccordoData, string dataAccordoAss, bool bClienteDeveEssereRichiamato, bool bClienteConoscePrezzi , bool bClienteGiaPresoAccordi, bool bClienteCiSonoTrattative, bool bClienteEInsolvente, bool bClienteHaInCorsoAzioni , string sResponsabileAzienda, string sKM, string sManOraria, bool bSconto, bool bAbbVisPer, bool bAbbComp, bool bOrariAM, bool bOrariPM, System.Web.UI.Page ActPage) { //Creo l'istanza del Report per scrivere cReport objcRpt = new cReport(rpt, rptPage); //imposto il margine mPOSdX = mMarginTop; mPOSdY = mMarginLeft; double SizeTxt = 2.6; double SizeTxtInfo = 2.4; double SizePen = 0.5; //modificato da monica 4/5/05 //preparazione Layout objcRpt.AddTextMM(15, 15, "Mod. PG05-7/3.00/01.03.2005", 2, Color.Black, true); objcRpt.AddTextMM(181, 15, "Pag. 1 di 1", 2, Color.Black, true); objcRpt.AddTextMM(44, 22, "MODULO CONFERMA ASSISTENZA TECNICA E/O TARATURA", 3, Color.Black, true); objcRpt.AddRectMM(15, 27, 180, -255, SizePen, Color.Black); objcRpt.AddLineaMM(102, 27, 0, -42, SizePen, Color.Black); objcRpt.AddLineaMM(15, 69, 180, 0, SizePen, Color.Black); //modificato da monica 4/5/05 //Rivenditore try { string sPath = System.Configuration.ConfigurationManager.AppSettings["PathImages"].ToString() + "Logo.jpg"; objcRpt.AddImmageMM(sPath, 20, 45, 15, 15); } catch (Exception exc) { Utility.AllertMessage(ActPage, exc.Message, "reportPdf"); } objcRpt.AddTextMM(42, 35, "GRION FABRIZIO", SizeTxt, Color.Black, true); objcRpt.AddTextMM(42, 39, "CENTRO ASSISTENZA TECNICA", SizeTxt, Color.Black, false); objcRpt.AddTextMM(42, 43, "TARATURA E CONTROLLO", SizeTxt, Color.Black, false); objcRpt.AddTextMM(44, 53, "Viale Grado, 12", SizeTxt, Color.Black, false); objcRpt.AddTextMM(44, 57, "33050 PAVIA DI UDINE(UD", SizeTxt, Color.Black, false); objcRpt.AddTextMM(44, 61, "Tel. 0432 655292", SizeTxt, Color.Black, false); objcRpt.AddTextMM(44, 65, "Fax 0432 655292", SizeTxt, Color.Black, false); //modificato da monica 4/5/05 //Header objcRpt.AddTextMM(104, 34, "Data:", SizeTxt, Color.Black, false); objcRpt.AddTextMM(134, 34, date, SizeTxt, Color.Black, false); objcRpt.AddTextMM(104, 48, "Responsabile della richiesta:", SizeTxt, Color.Black, false); objcRpt.AddTextMM(160, 47, sRespRic, SizeTxt, Color.Black, true); objcRpt.AddLineaMM(154, 48, 38, 0, SizePen, Color.Black); objcRpt.AddCheckBoxMM("URGENTE", bUrge, SizeTxt, Color.Black, false, 111, 62, 25); objcRpt.AddCheckBoxMM("NON URGENTE", !bUrge, SizeTxt, Color.Black, false, 151, 62, 30); //Dati Cliente objcRpt.AddTextMM(20, 78, "Cliente:", SizeTxt, Color.Black, false); objcRpt.AddLineaMM(38, 78, 150, 0, SizePen, Color.Black); objcRpt.AddTextMM(20, 86, "Indirizzo:", SizeTxt, Color.Black, false); objcRpt.AddLineaMM(38, 86, 150, 0, SizePen, Color.Black); objcRpt.AddLineaMM(38, 94, 110, 0, SizePen, Color.Black); //(Km. _________) objcRpt.AddTextMM(155, 94, "(Km ", SizeTxt, Color.Black, false); objcRpt.AddTextMM(164, 93.5, sKM, SizeTxt, Color.Black, true); objcRpt.AddLineaMM(164, 94, 22, 0, SizePen, Color.Black); objcRpt.AddTextMM(187, 94, ")", SizeTxt, Color.Black, false); objcRpt.AddTextMM(20, 102, "Telefono:", SizeTxt, Color.Black, false); objcRpt.AddLineaMM(38, 102, 50, 0, SizePen, Color.Black); objcRpt.AddTextMM(120, 102, "Fax:", SizeTxt, Color.Black, false); objcRpt.AddLineaMM(130, 102, 50, 0, SizePen, Color.Black); WriteIntestazioneClienteMMForModAss(sIDCli, objcRpt, 38, 77, 0, false); //modificato da monica 4/5/05 //persona di riferimnto objcRpt.AddTextMM(20, 109, "Persona di riferimento in azienda:", SizeTxt, Color.Black, false); objcRpt.AddTextMM(80, 109, sResponsabileAzienda, SizeTxt, Color.Black, false); objcRpt.AddLineaMM(77, 109, 110, 0, SizePen, Color.Black); //modificato da monica 4/5/05 //Tipo di richiesta objcRpt.AddTextMM(20, 117, "Tipo di richiesta:", SizeTxt, Color.Black, false); objcRpt.AddCheckBoxMM("Assistenza tecnica", bTipoAssTec, SizeTxt, Color.Black, false, 55, 117, 35); objcRpt.AddCheckBoxMM("Taratura", bTipoTaratur, SizeTxt, Color.Black, false, 104, 117, 19); objcRpt.AddCheckBoxMM("Consulenza/Dimostrazione", bTipoConsulenza, SizeTxt, Color.Black, false, 136, 117, 47); //monificato da monica 4/5/05 //Da eseguire presso objcRpt.AddTextMM(20, 125, "Da eseguire presso:", SizeTxt, Color.Black, false); objcRpt.AddCheckBoxMM("Sede del cliente", bSedeCliente, SizeTxt, Color.Black, false, 55, 125, 35); objcRpt.AddCheckBoxMM("Sede del rivenditore", bSedeRivenditore, SizeTxt, Color.Black, false, 104, 125, 38); objcRpt.AddCheckBoxMM("Laboratorio", bSedeLAboratorio, SizeTxt, Color.Black, false, 156, 125, 27); //monificato da monica 4/5/05 //Descrizione richiesta objcRpt.AddTextMM(20, 133, "Descrizione richiesta ( per tarature allegare alla presente elenco dispositivi da controllare):", SizeTxt, Color.Black, false); double dSpace = 138; int CharLenght = 100; for (int i = 0; i < 6; i++) { if (sDescRichiesta.Length > CharLenght) { objcRpt.AddTextMM(22, dSpace, ReturnStringDesc(ref sDescRichiesta, CharLenght), SizeTxt, Color.Black, false); } else { objcRpt.AddTextMM(22, dSpace, sDescRichiesta, SizeTxt, Color.Black, false); i = 100; } dSpace += 6; } objcRpt.AddLineaMM(20, 139, 170, 0, SizePen, Color.Black); objcRpt.AddLineaMM(20, 145, 170, 0, SizePen, Color.Black); objcRpt.AddLineaMM(20, 151, 170, 0, SizePen, Color.Black); objcRpt.AddLineaMM(20, 157, 170, 0, SizePen, Color.Black); objcRpt.AddLineaMM(20, 163, 170, 0, SizePen, Color.Black); objcRpt.AddLineaMM(20, 169, 170, 0, SizePen, Color.Black); //monificato da monica 4/5/05 //Intervento a carico di objcRpt.AddTextMM(20, 183, "Intervento a carico di:", SizeTxt, Color.Black, true); objcRpt.AddCheckBoxMM("Centro assistenza (in garanzia)", bcaricoCentroAss, SizeTxt, Color.Black, false, 61, 183, 57); objcRpt.AddCheckBoxMM("Cliente", bCaricoCliente, SizeTxt, Color.Black, false, 134, 183, 15); objcRpt.AddCheckBoxMM("Rivenditore", bcaricoRivenditore, SizeTxt, Color.Black, false, 61, 191, 23); objcRpt.AddCheckBoxMM("Altro", bCaricoAltro, SizeTxt, Color.Black, false, 105, 191, 13); objcRpt.AddLineaMM(124, 191, 40, 0, SizePen, Color.Black); objcRpt.AddTextMM(124, 191, sAltro, SizeTxt, Color.Black, false); //monificato da monica 4/5/05 //Dati Aggiuntivi richiesta objcRpt.AddTextMM(61, 199, "Cliente in Abbonamento:", SizeTxt, Color.Black, false); objcRpt.AddCheckBoxMM("Completo", bAbbVisPer, SizeTxt, Color.Black, false, 106, 199, 20); objcRpt.AddCheckBoxMM("Verifiche periodiche", bAbbComp, SizeTxt, Color.Black, false, 138, 199, 36); objcRpt.AddTextMM(20, 209, "Data di intervento prevista:", SizeTxt, Color.Black, true); if (bClienteAccordoData) objcRpt.AddTextMM(75, 209, dataAccordoAss, SizeTxt, Color.Black, true); else objcRpt.AddTextMM(75, 209, "( __/__/____ )", SizeTxt, Color.Black, true); objcRpt.AddTextMM(20, 213, "(salvo imprevisti e/o ritardi dovuti a forze di causa maggiore)", SizeTxtInfo, Color.Black, false); //modificato da monica 4/5/05 //Orario approssimativo objcRpt.AddCheckBoxMM("Mattina", bOrariAM, SizeTxt, Color.Black, false, 140, 209, 20); objcRpt.AddCheckBoxMM("Pomeriggio", bOrariPM, SizeTxt, Color.Black, false, 140, 214, 20); objcRpt.AddTextMM(20, 225, "Tariffe applicate:", SizeTxt, Color.Black, true); objcRpt.AddTextMM(64, 225, "Manodopera oraria (frazionabile in 1/2 ora)", SizeTxt, Color.Black, true); if (sManOraria == "NP") sManOraria = "45,00"; objcRpt.AddTextMM(140, 225, "€ " + sManOraria + " + IVA", SizeTxt, Color.Black, true); objcRpt.AddTextMM(64, 232, "Contributo spese di trasferimento", SizeTxt, Color.Black, true); objcRpt.AddTextMM(140, 232, "€ 20 + 0,50 Km + IVA *", SizeTxt, Color.Black, true); objcRpt.AddTextMM(64, 240, "*", SizeTxtInfo, Color.Black, false); objcRpt.AddTextMM(68, 240, "Fino ad un massimo di € 180,00 + IVA", SizeTxtInfo, Color.Black, false); objcRpt.AddTextMM(68, 244, "La distanza chilometrica e calcolata con l'ausilio di mappe stradali informatiche", SizeTxtInfo, Color.Black, false); objcRpt.AddTextMM(68, 248, "L'applicazione della tariffa non è subbordinata all'esito della riparazione", SizeTxtInfo, Color.Black, false); objcRpt.AddTextMM(68, 252, "Il contributo spese di trasferimento è applicato anche per gli interventi in garanzia", SizeTxtInfo, Color.Black, false); //Aggiunto da monica 4/5/05 //Note objcRpt.AddTextMM(20, 265, "Note:", SizeTxtInfo, Color.Black, false); objcRpt.AddLineaMM(38, 265, 150, 0, SizePen, Color.Black); objcRpt.AddLineaMM(38, 270, 150, 0, SizePen, Color.Black); objcRpt.AddLineaMM(38, 275, 150, 0, SizePen, Color.Black); }
public void StampaModAssTec(string date, string sRespRic, bool bUrge, string sIDCli, bool bTipoAssTec , bool bTipoTaratur, bool bTipoConsulenza, bool bTipoDimStru, bool bTipoConRpVeicolo , bool bSedeCliente, bool bSedeRivenditore, bool bSedeLAboratorio, string sDescRichiesta , bool bcaricoCentroAss, bool bCaricoCliente, bool bcaricoRivenditore, bool bCaricoAltro, string sAltro , bool bClienteAccordoData, string dataAccordoAss, bool bClienteDeveEssereRichiamato, bool bClienteConoscePrezzi , bool bClienteGiaPresoAccordi, bool bClienteCiSonoTrattative, bool bClienteEInsolvente, bool bClienteHaInCorsoAzioni , string sResponsabileAzienda) { //Creo l'istanza del Report per scrivere cReport objcRpt = new cReport(rpt, rptPage); //imposto il margine mPOSdX = mMarginTop; mPOSdY = mMarginLeft; double SizeTxt = 2.6; double SizePen = 0.5; //preparazione Layout objcRpt.AddTextMM(32, 15, "MODULO RICHIESTA ASSISTENZA TECNICA E/O TARATURA", 3, Color.Black, true); objcRpt.AddRectMM(15, 20, 180, -265, SizePen, Color.Black); objcRpt.AddLineaMM(102, 20, 0, -50, SizePen, Color.Black); objcRpt.AddLineaMM(15, 70, 180, 0, SizePen, Color.Black); //Rivenditore objcRpt.AddTextMM(18, 25, "Timbro del rivenditore:", SizeTxt - 0.2, Color.Black, false); objcRpt.AddTextMM(22, 35, "Grion Fabrizio", SizeTxt, Color.Black, false); objcRpt.AddTextMM(22, 40, "Centro Assistenza Tecnica", SizeTxt, Color.Black, false); objcRpt.AddTextMM(22, 45, "Taratura e Controllo", SizeTxt, Color.Black, false); objcRpt.AddTextMM(22, 50, "Viale Grado, 12 Lauzacco (UD) 33050", SizeTxt, Color.Black, false); objcRpt.AddTextMM(22, 55, "Tel. 0432 655292", SizeTxt, Color.Black, false); //Header objcRpt.AddTextMM(104, 28, "Data:", SizeTxt, Color.Black, false); objcRpt.AddTextMM(134, 28, date, SizeTxt, Color.Black, true); objcRpt.AddTextMM(104, 40, "Responsabile della richiesta:", SizeTxt, Color.Black, false); objcRpt.AddTextMM(160, 39, sRespRic, SizeTxt, Color.Black, true); objcRpt.AddLineaMM(154, 40, 40, 0, SizePen, Color.Black); objcRpt.AddCheckBoxMM("URGENTE(*)", bUrge, SizeTxt, Color.Black, false, 104, 54, 25); objcRpt.AddCheckBoxMM("NON URGENTE", !bUrge, SizeTxt, Color.Black, false, 144, 54, 30); objcRpt.AddTextMM(104, 63, "(* L'urgenza prevede una maggiorazione del 10% sui", SizeTxt, Color.Black, false); objcRpt.AddTextMM(104, 68, " Prezzi in vigore al momento della assistenza", SizeTxt, Color.Black, false); //Dati Cliente objcRpt.AddTextMM(20, 78, "Cliente:", SizeTxt, Color.Black, false); objcRpt.AddLineaMM(38, 78, 150, 0, SizePen, Color.Black); objcRpt.AddTextMM(20, 86, "Indirizzo:", SizeTxt, Color.Black, false); objcRpt.AddLineaMM(38, 86, 150, 0, SizePen, Color.Black); objcRpt.AddLineaMM(38, 94, 150, 0, SizePen, Color.Black); objcRpt.AddTextMM(20, 102, "Telefono:", SizeTxt, Color.Black, false); objcRpt.AddLineaMM(38, 102, 50, 0, SizePen, Color.Black); objcRpt.AddTextMM(120, 102, "Fax:", SizeTxt, Color.Black, false); objcRpt.AddLineaMM(138, 102, 50, 0, SizePen, Color.Black); WriteIntestazioneClienteMMForModAss(sIDCli, objcRpt, 38, 77, 0, false); //persona di riferimnto objcRpt.AddTextMM(20, 117, "Persona di riferimento in azienda:", SizeTxt, Color.Black, false); objcRpt.AddTextMM(80, 117, sResponsabileAzienda, SizeTxt, Color.Black, false); //Tipo di richiesta objcRpt.AddTextMM(20, 125, "Tipo di richiesta:", SizeTxt, Color.Black, false); objcRpt.AddCheckBoxMM("Assistenza tecnica", bTipoAssTec, SizeTxt, Color.Black, false, 55, 125, 44); objcRpt.AddCheckBoxMM("Taratura", bTipoTaratur, SizeTxt, Color.Black, false, 110, 125, 38); objcRpt.AddCheckBoxMM("Consulenza", bTipoConsulenza, SizeTxt, Color.Black, false, 156, 125, 25); objcRpt.AddCheckBoxMM("Dimostrazione strumenti", bTipoDimStru, SizeTxt, Color.Black, false, 55, 132, 44); objcRpt.AddCheckBoxMM("Consulenza rip. veicoli", bTipoConRpVeicolo, SizeTxt, Color.Black, false, 110, 132, 38); //Da eseguire presso objcRpt.AddTextMM(20, 142, "Da eseguire presso", SizeTxt, Color.Black, false); objcRpt.AddCheckBoxMM("Sede del cliente", bSedeCliente, SizeTxt, Color.Black, false, 55, 142, 44); objcRpt.AddCheckBoxMM("Sede del rivenditore", bSedeRivenditore, SizeTxt, Color.Black, false, 110, 142, 38); objcRpt.AddCheckBoxMM("Laboratorio", bSedeLAboratorio, SizeTxt, Color.Black, false, 156, 142, 25); //Descrizione richiesta objcRpt.AddTextMM(20, 150, "Descrizione richiesta ( per tarature allegare alla presente elenco dispositivi da controllare):", SizeTxt, Color.Black, false); double dSpace = 155; int CharLenght = 100; for (int i = 0; i < 6; i++) { if (sDescRichiesta.Length > CharLenght) { objcRpt.AddTextMM(22, dSpace, ReturnStringDesc(ref sDescRichiesta, CharLenght), SizeTxt, Color.Black, false); } else { objcRpt.AddTextMM(22, dSpace, sDescRichiesta, SizeTxt, Color.Black, false); i = 100; } dSpace += 6; } objcRpt.AddLineaMM(20, 156, 170, 0, SizePen, Color.Black); objcRpt.AddLineaMM(20, 162, 170, 0, SizePen, Color.Black); objcRpt.AddLineaMM(20, 168, 170, 0, SizePen, Color.Black); objcRpt.AddLineaMM(20, 174, 170, 0, SizePen, Color.Black); objcRpt.AddLineaMM(20, 180, 170, 0, SizePen, Color.Black); objcRpt.AddLineaMM(20, 186, 170, 0, SizePen, Color.Black); //Intervento a carico di objcRpt.AddTextMM(20, 200, "Intervento a carico di:", SizeTxt, Color.Black, true); objcRpt.AddCheckBoxMM("Centro assistenza (in garanzia)", bcaricoCentroAss, SizeTxt, Color.Black, false, 75, 200, 58); objcRpt.AddCheckBoxMM("Cliente", bCaricoCliente, SizeTxt, Color.Black, false, 150, 200, 20); objcRpt.AddCheckBoxMM("Rivenditore", bcaricoRivenditore, SizeTxt, Color.Black, false, 75, 210, 20); objcRpt.AddCheckBoxMM("Altro", bCaricoAltro, SizeTxt, Color.Black, false, 110, 210, 12); objcRpt.AddLineaMM(135, 210, 40, 0, SizePen, Color.Black); objcRpt.AddTextMM(135, 210, sAltro, SizeTxt, Color.Black, false); //Il Cliente objcRpt.AddTextMM(20, 220, "Il Cliente:", SizeTxt, Color.Black, true); objcRpt.AddCheckBoxMM("si è già accordato su una data d'intervento con il rivenditore", bClienteAccordoData, SizeTxt, Color.Black, false, 44, 220, 135); if (bClienteAccordoData) objcRpt.AddTextMM(150, 220, dataAccordoAss, SizeTxt, Color.Black, true); else objcRpt.AddTextMM(150, 220, "( __/__/____ )", SizeTxt, Color.Black, true); objcRpt.AddCheckBoxMM("deve essere richiamato per accordi con il centro di assistenza", bClienteDeveEssereRichiamato, SizeTxt, Color.Black, false, 44, 230, 135); objcRpt.AddCheckBoxMM("è già al corrente dei prezzi che il centro assistenza applica", bClienteConoscePrezzi, SizeTxt, Color.Black, false, 44, 240, 135); objcRpt.AddCheckBoxMM("ha già preso accordi circa i costi d'intervento con il rivenditore", bClienteGiaPresoAccordi, SizeTxt, Color.Black, false, 44, 250, 135); objcRpt.AddCheckBoxMM("ci sono trattative in corso per a sostituzione e/o aggiornamento", bClienteCiSonoTrattative, SizeTxt, Color.Black, false, 44, 260, 135); objcRpt.AddTextMM(44, 264, "dell'apparecchio su cu intervenire", SizeTxt, Color.Black, false); objcRpt.AddCheckBoxMM("è insolvente per motivi legati all'assistenza tecnica e che l'intervento", bClienteEInsolvente, SizeTxt, Color.Black, false, 44, 270, 135); objcRpt.AddTextMM(44, 274, "richiesto dovrebbe risolvere", SizeTxt, Color.Black, false); objcRpt.AddCheckBoxMM("ha in corso azioni legali, o ha intenzione di intraprendere,", bClienteHaInCorsoAzioni, SizeTxt, Color.Black, false, 44, 280, 135); objcRpt.AddTextMM(44, 284, "per motivi legati alla fornitura", SizeTxt, Color.Black, false); }
private void WriteIntestazioneClienteMMForModAss(string sIDcli, cReport objcRpt, double startX, double startY, double AddSizeToNormal, bool bViewInfo) { double sizeDati = 2.2 + AddSizeToNormal; double sizeDesc = 2 + AddSizeToNormal; double addSpazio = 0; if (AddSizeToNormal != 0) addSpazio = 15 * AddSizeToNormal; double Spazziatura = 8; Color colorDati = Color.Black; Color colorDesc = Color.Black; string strWhere = "SELECT * FROM clienti WHERE IDCliente = " + sIDcli; SqlCommand cmd = new SqlCommand(strWhere, sqlCn); SqlDataAdapter adap = new SqlDataAdapter(cmd); DataTable DT = new DataTable(); adap.Fill(DT); DataRow objDR = DT.Rows[0]; objcRpt.AddTextMM(startX, startY, objDR["RagioneSoc"].ToString(), sizeDati + 0.2, colorDati, false); //Indirizzo startY += Spazziatura; objcRpt.AddTextMM(startX, startY, objDR["indirizzo"].ToString(), sizeDati, colorDati, false); //Località startY += Spazziatura; double dTmp = objcRpt.AddTextMM(startX, startY, objDR["localita"].ToString(), sizeDati, colorDati, false); //Cap dTmp += objcRpt.AddTextMM(startX + dTmp + 10, startY, objDR["CAP"].ToString(), sizeDati, colorDati, false); //Provincia objcRpt.AddTextMM(startX + dTmp + 20, startY, "(" + objDR["Provincia"].ToString() + ")", sizeDati, colorDati, false); startY += Spazziatura; //Tel objcRpt.AddTextMM(startX, startY, objDR["Telefono"].ToString(), sizeDati, colorDati, false); //Fax objcRpt.AddTextMM(startX + 100, startY, objDR["FAX"].ToString(), sizeDati, colorDati, false); }
//public void VisualizzaWwwPDF(System.Web.UI.Page AspxPage, string sNomeFile) //{ // AspxPage.Response.Clear(); // AspxPage.Response.ContentType = "application/octet-stream"; // AspxPage.Response.AppendHeader("Content-Disposition", "attachment; filename=" + sNomeFile + "\""); // rpt.formatter.Create(rpt, AspxPage.Response.OutputStream); // AspxPage.Response.End(); //} public bool StampaDocumento(string sWhereDati, string CodiceStampa) { //Creo l'istanza del Report per scrivere cReport objcRpt = new cReport(rpt, rptPage); try { #region ricerco informazioni stampa //Recupero informazioni di Stampa string sqlWhere = "SELECT * FROM Stampa WHERE Codice='" + CodiceStampa + "'"; SqlCommand cmdStampa = new SqlCommand(sqlWhere, _sqlCn); SqlDataAdapter adapStampa = new SqlDataAdapter(cmdStampa); DataTable dtStampa = new DataTable(); adapStampa.Fill(dtStampa); //Recupero informazioni delle stampe righe sqlWhere = "SELECT * FROM StampaRighe WHERE Codice='" + CodiceStampa + "'"; SqlCommand cmdStampaRighe = new SqlCommand(sqlWhere, _sqlCn); SqlDataAdapter adapStampaRighe = new SqlDataAdapter(cmdStampaRighe); DataTable dtStampaRighe = new DataTable(); adapStampaRighe.Fill(dtStampaRighe); #endregion #region Stampa Documento foreach (DataRow dtRow in dtStampaRighe.Rows) { int iTipo = (int)dtRow["Tipo"]; double dStartX = (double)dtRow["StartX"]; double dStartY = (double)dtRow["StartY"]; double dEndX = (double)dtRow["EndX"]; double dEndY = (double)dtRow["EndY"]; double dLenghtY = (double)dtRow["Altezza"]; double dLenghtX = (double)dtRow["Lunghezza"]; double dSize = (double)dtRow["FontSize"]; string sValore = dtRow["Valore"].ToString(); Color BackColor = Color.FromName(dtRow["BackColor"].ToString()); bool bBold = (bool)dtRow["FontBold"]; switch (iTipo) { case 1: //Disegno LINEA objcRpt.AddLineaMM(dStartX, dStartY, dLenghtX, dLenghtY, dSize, BackColor); break; case 2: //Disegno Quadrato objcRpt.AddRectMM(dStartX, dStartY, dLenghtX, dLenghtY, dSize, BackColor); break; case 3: //Scrivo Testo objcRpt.AddTextMM(dStartX, dStartY, sValore, dSize, BackColor, bBold); break; case 4: //Diegno Immagine objcRpt.AddImmageMM(sValore, dStartX, dStartY, dLenghtX, dLenghtY); break; } } double sizeDesc = 2; Color colorDati = Color.Green; string s = "Automotive Service SRL test di stampa OK:" + DateTime.Now.ToLongDateString(); objcRpt.AddText(40, 10, s, sizeDesc, colorDati, false); #endregion } catch (Exception exc) { double sizeDesc = 2; Color colorDati = Color.Red; string s = "Errore durante la fase di stampa:\n" + exc.Message; objcRpt.AddText(40, 10, s, sizeDesc, colorDati, false); } return false; }
public Report StampaScadenzeCliente(int IDCliente) { _sTitolo = "Tabelle riepilogativa strumenti cliente"; rPosTop = rPosTop + 30; FontProp fp = new FontPropMM(fd, 1.9); FontProp fp_Header = new FontPropMM(fd, 1.9); //imposto le informazioni per HEADER della tabella fp_Header.bBold = true; fp_Header.color = HeaderForeColor; // create table using (TableLayoutManager tlm = new TableLayoutManager(fp_Header)) { tlm.rContainerHeightMM = rPosBottom - rPosTop; // set height of table //Imposto le informazioni di allineamento e di sfondo del HEADER tlm.headerCellDef.rAlignV = RepObj.rAlignCenter; // set vertical alignment of all header cells tlm.headerCellDef.bp_Back.color = HeaderBackColor; tlm.cellDef.pp_LineBottom = new PenProp(rpt, 0.05, Color.LightGray); //Creo l'eento per ogni nuova pagina tlm.eNewContainer += new TableLayoutManager.NewContainerEventHandler(Tlm_NewContainer); // Definizione delle colonne TableLayoutManager.Column col; col = new TableLayoutManager.ColumnMM(tlm, "Tipologia", 25); col.cellDef.textMode = TableLayoutManager.TextMode.MultiLine; col = new TableLayoutManager.ColumnMM(tlm, "Tipo", 20); col = new TableLayoutManager.ColumnMM(tlm, "Marca", 25); col = new TableLayoutManager.ColumnMM(tlm, "Modello", 25); col = new TableLayoutManager.ColumnMM(tlm, "Matricola", 25); col = new TableLayoutManager.ColumnMM(tlm, "Omologazione", 35); col = new TableLayoutManager.ColumnMM(tlm, "Pef", 10); col = new TableLayoutManager.ColumnMM(tlm, "Data scadenza", 17); col = new TableLayoutManager.ColumnMM(tlm, "Nuova data", 17); //Ritorna il dataset string strWhere = @"SELECT tblScadenze.DataScadenza, Clienti.RagioneSoc, Clienti.bElimina, Marche.Marca, Tipo.Tipo, tblScadenze.Tipologia, Clienti.IDCliente, tblScadenze.NumeroDiSerie, Strumenti.Nome, tblScadenze.Omologazione1, tblScadenze.PEF, Clienti.Localita, Clienti.Provincia, Clienti.Telefono, Clienti.Cap, Clienti.Indirizzo, Clienti.Fax, Clienti.Cellulare, Clienti.Mail, Clienti.kmDistanza, Clienti.Note FROM Tipo INNER JOIN Marche INNER JOIN Strumenti INNER JOIN Clienti INNER JOIN tblScadenze ON Clienti.IDCliente = tblScadenze.IDCliente ON Strumenti.idStrumenti = tblScadenze.IdStrumento ON Marche.IDMarca = Strumenti.IDMarca ON Tipo.IDTipo = Strumenti.IDTipo GROUP BY tblScadenze.DataScadenza, Clienti.RagioneSoc, Clienti.bElimina, Marche.Marca, Tipo.Tipo, tblScadenze.Tipologia, Clienti.bElimina, Clienti.IDCliente, tblScadenze.NumeroDiSerie, Strumenti.Nome, tblScadenze.Omologazione1, tblScadenze.PEF, Clienti.Localita, Clienti.Provincia, Clienti.Telefono, Clienti.Cap, Clienti.Indirizzo, Clienti.Fax, Clienti.Cellulare, Clienti.Mail, Clienti.kmDistanza, Clienti.Note HAVING (Clienti.IDCliente = @IDCliente) ORDER BY tblScadenze.Tipologia"; SqlCommand cmd = new SqlCommand(strWhere, _sqlCn); SqlParameter parIDCliente = new SqlParameter("@IDCliente", SqlDbType.Int); parIDCliente.Value = IDCliente; cmd.Parameters.Add(parIDCliente); SqlDataAdapter adap = new SqlDataAdapter(cmd); DataTable DT = new DataTable(); adap.Fill(DT); //Imposto intestazione cReport objReport = new cReport(rpt, rptPage); objReport.AddRectMM(5, 8, 199, -29, 0.1, Color.Black); objReport.AddTextMM(10, 15, "Ragione sociale:", 3, Color.Black, false); objReport.AddTextMM(45, 15, DT.Rows[0]["RagioneSoc"].ToString(), 3, Color.Black, true); objReport.AddTextMM(10, 25, "CAP:", 3, Color.Black, false); objReport.AddTextMM(22, 25, DT.Rows[0]["CAP"].ToString(), 3, Color.Black, true); objReport.AddTextMM(35, 25, "Località:", 3, Color.Black, false); objReport.AddTextMM(55, 25, DT.Rows[0]["Localita"].ToString(), 3, Color.Black, true); objReport.AddTextMM(100, 25, "Provincia:", 3, Color.Black, false); objReport.AddTextMM(130, 25, DT.Rows[0]["Provincia"].ToString(), 3, Color.Black, true); objReport.AddTextMM(10, 35, "Indirizzo:", 3, Color.Black, false); objReport.AddTextMM(30, 35, DT.Rows[0]["Indirizzo"].ToString(), 3, Color.Black, true); objReport.AddTextMM(80, 35, "Telefono:", 3, Color.Black, false); objReport.AddTextMM(100, 35, DT.Rows[0]["Telefono"].ToString(), 3, Color.Black, true); objReport.AddTextMM(150, 35, "Fax:", 3, Color.Black, false); objReport.AddTextMM(170, 35, DT.Rows[0]["Fax"].ToString(), 3, Color.Black, true); // read rows string ripTipologia = ""; string s = ""; for (int r = 0; r < DT.Rows.Count; r++) { tlm.NewRow(); if (ripTipologia == DT.Rows[r]["Tipologia"].ToString()) s = ""; else s = ripTipologia = DT.Rows[r]["Tipologia"].ToString(); tlm.Add(0, new RepString(fp, s)); tlm.Add(1, new RepString(fp, DT.Rows[r]["Tipo"].ToString())); tlm.Add(2, new RepString(fp, DT.Rows[r]["Marca"].ToString())); tlm.Add(3, new RepString(fp, DT.Rows[r]["Nome"].ToString())); tlm.Add(4, new RepString(fp, DT.Rows[r]["NumeroDiSerie"].ToString())); tlm.Add(5, new RepString(fp, DT.Rows[r]["Omologazione1"].ToString())); tlm.Add(6, new RepString(fp, DT.Rows[r]["Pef"].ToString())); string sDate = ((DateTime)DT.Rows[r]["DataScadenza"]).ToShortDateString(); tlm.Add(7, new RepString(fp, sDate)); } } // print page number and current date/time foreach (Root.Reports.Page page in rpt.enum_Page) { Double rY = rPosBottom + 1.5; page.AddLT_MM(rPosLeft, rY, new RepString(fp, DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString())); page.AddRT_MM(rPosRight, rY, new RepString(fp, page.iPageNo.ToString() + " / " + rpt.iPageCount.ToString())); } return rpt; }
public bool StampaDocumentoFile(string NomeFileStampa, string sqlWhere) { string sPathReport = ConfigurationManager.AppSettings["PathReport"].ToString(); NomeFileStampa = sPathReport + NomeFileStampa; //Creo l'istanza del Report per scrivere cReport objcRpt = new cReport(rpt, rptPage); #region Recupero Dati dal DB SqlCommand cmdStampa = new SqlCommand(sqlWhere, _sqlCn); SqlDataAdapter adapStampa = new SqlDataAdapter(cmdStampa); DataTable dtStampa = new DataTable(); adapStampa.Fill(dtStampa); DataRow drStampa = dtStampa.Rows[0]; #endregion StreamReader sr = new StreamReader(File.OpenRead(NomeFileStampa)); try { double dErrStartX = 50; double dErrStartY = 20; double dErrSize = 2; string sLinea; while ((sLinea = sr.ReadLine()) != null) { try { string[] arLinea = sLinea.Split("\t".ToCharArray()); double dStartX = 0; double dStartY = 0; double dLenghtX = 0; double dLenghtY = 0; double dSize = 0; string sValore = ""; Color BackColor = Color.Black; bool bBold = false; bool bValue = false; int iCharMax = 0; double dNextRow = 0; if (arLinea[0] == "Linea") { try { dStartX = double.Parse(arLinea[1]); dStartY = double.Parse(arLinea[2]); dLenghtX = double.Parse(arLinea[3]); dLenghtY = double.Parse(arLinea[4]); dSize = double.Parse(arLinea[5]); BackColor = Color.FromName(arLinea[6]); objcRpt.AddLineaMM(dStartX, dStartY, dLenghtX, dLenghtY, dSize, BackColor); } catch (Exception exc) { objcRpt.AddTextMM(dErrStartX, dErrStartY, sLinea + " - " + exc.Message, dErrSize, Color.Red, true); dErrStartY += 10; } } if (arLinea[0] == "Quad") { try { dStartX = double.Parse(arLinea[1]); dStartY = double.Parse(arLinea[2]); dLenghtX = double.Parse(arLinea[3]); dLenghtY = double.Parse(arLinea[4]); dSize = double.Parse(arLinea[5]); BackColor = Color.FromName(arLinea[6]); objcRpt.AddRectMM(dStartX, dStartY, dLenghtX, dLenghtY, dSize, BackColor); } catch (Exception exc) { objcRpt.AddTextMM(dErrStartX, dErrStartY, sLinea + " - " + exc.Message, dErrSize, Color.Red, true); dErrStartY += 10; } } if (arLinea[0] == "Testo") { try { dStartX = double.Parse(arLinea[1]); dStartY = double.Parse(arLinea[2]); dSize = double.Parse(arLinea[3]); sValore = arLinea[4]; sValore = sValore.Replace(" ", " "); BackColor = Color.FromName(arLinea[5]); bBold = bool.Parse(arLinea[6]); objcRpt.AddTextMM(dStartX, dStartY, sValore, dSize, BackColor, bBold); } catch (Exception exc) { objcRpt.AddTextMM(dErrStartX, dErrStartY, sLinea + " - " + exc.Message, dErrSize, Color.Red, true); dErrStartY += 10; } } if (arLinea[0] == "DataNow") { try { dStartX = double.Parse(arLinea[1]); dStartY = double.Parse(arLinea[2]); dSize = double.Parse(arLinea[3]); sValore = DateTime.Now.ToShortDateString(); BackColor = Color.FromName(arLinea[4]); bBold = bool.Parse(arLinea[5]); objcRpt.AddTextMM(dStartX, dStartY, sValore, dSize, BackColor, bBold); } catch (Exception exc) { objcRpt.AddTextMM(dErrStartX, dErrStartY, sLinea + " - " + exc.Message, dErrSize, Color.Red, true); dErrStartY += 10; } } if (arLinea[0] == "Dato" || arLinea[0] == "DatoDate") { try { dStartX = double.Parse(arLinea[1]); dStartY = double.Parse(arLinea[2]); dSize = double.Parse(arLinea[3]); sValore = drStampa[arLinea[4]].ToString(); if (arLinea[0] == "DatoDate") { DateTime dt = DateTime.MinValue; DateTime.TryParse(drStampa[arLinea[4]].ToString(),out dt); sValore = dt.ToShortDateString(); } BackColor = Color.FromName(arLinea[5]); bBold = bool.Parse(arLinea[6]); objcRpt.AddTextMM(dStartX, dStartY, sValore, dSize, BackColor, bBold); } catch (Exception exc) { objcRpt.AddTextMM(dErrStartX, dErrStartY, sLinea + " - " + exc.Message, dErrSize, Color.Red, true); dErrStartY += 10; } } if (arLinea[0] == "DatoNumber") { try { dStartX = double.Parse(arLinea[1]); dStartY = double.Parse(arLinea[2]); dSize = double.Parse(arLinea[3]); sValore = drStampa[arLinea[4]].ToString(); int iNumber = 2; string sFormat = "0.00"; try { iNumber = int.Parse(arLinea[7]); if (iNumber==0) sFormat = "0"; if (iNumber == 1) sFormat = "0.0"; if (iNumber == 2) sFormat = "0.00"; if (iNumber == 3) sFormat = "0.000"; } catch { } bool bWithEuro = false; try { bWithEuro = bool.Parse(arLinea[8]); if (bWithEuro == true) sFormat = "€ " + sFormat; } catch{} float f = 0; float.TryParse(sValore, out f); sValore = f.ToString(sFormat); BackColor = Color.FromName(arLinea[5]); bBold = bool.Parse(arLinea[6]); objcRpt.AddTextMM(dStartX, dStartY, sValore, dSize, BackColor, bBold); } catch (Exception exc) { objcRpt.AddTextMM(dErrStartX, dErrStartY, sLinea + " - " + exc.Message, dErrSize, Color.Red, true); dErrStartY += 10; } } if (arLinea[0] == "DatoBox") { try { dStartX = double.Parse(arLinea[1]); dStartY = double.Parse(arLinea[2]); dSize = double.Parse(arLinea[3]); sValore = drStampa[arLinea[4]].ToString(); BackColor = Color.FromName(arLinea[5]); bBold = bool.Parse(arLinea[6]); iCharMax = int.Parse(arLinea[7]); dNextRow = double.Parse(arLinea[8]); while (sValore.Length > 0) { if (iCharMax > sValore.Length) iCharMax = sValore.Length; string sRiga = sValore.Substring(0, iCharMax); sValore = sValore.Remove(0, iCharMax); objcRpt.AddTextMM(dStartX, dStartY, sRiga, dSize, BackColor, bBold); dStartY += dNextRow; } } catch (Exception exc) { objcRpt.AddTextMM(dErrStartX, dErrStartY, sLinea + " - " + exc.Message, dErrSize, Color.Red, true); dErrStartY += 10; } } if (arLinea[0] == "Img") { try { dStartX = double.Parse(arLinea[1]); dStartY = double.Parse(arLinea[2]); dLenghtX = double.Parse(arLinea[3]); dLenghtY = double.Parse(arLinea[4]); sValore = arLinea[5]; //Se il valore dell'immagine è NoSignature.jpg allora non la inserisco objcRpt.AddImmageMM(sValore, dStartX, dStartY, dLenghtX, dLenghtY); } catch (Exception exc) { objcRpt.AddTextMM(dErrStartX, dErrStartY, sLinea + " - " + exc.Message, dErrSize, Color.Red, true); dErrStartY += 10; } } if (arLinea[0] == "ImgDataSignature") { try { dStartX = double.Parse(arLinea[1]); dStartY = double.Parse(arLinea[2]); dLenghtX = double.Parse(arLinea[3]); dLenghtY = double.Parse(arLinea[4]); sValore = drStampa[arLinea[5]].ToString().Replace("~/DocWeb/", ""); //Se l'immagine è di nessuna uimmagine allora non faccio visualizzare nulla. if ("NoSignature.jpg" == sValore) { sValore = ""; } else { sValore = ConfigurationManager.AppSettings["PathDocs"].ToString() + sValore; objcRpt.AddImmageMM(sValore, dStartX, dStartY, dLenghtX, dLenghtY); } } catch (Exception exc) { objcRpt.AddTextMM(dErrStartX, dErrStartY, sLinea + " - " + exc.Message, dErrSize, Color.Red, true); dErrStartY += 10; } } if (arLinea[0] == "CheckBox") { try { dStartX = double.Parse(arLinea[1]); dStartY = double.Parse(arLinea[2]); dLenghtY = double.Parse(arLinea[3]); dSize = double.Parse(arLinea[4]); sValore = arLinea[5]; bValue = bool.Parse(arLinea[6]); bBold = bool.Parse(arLinea[7]); BackColor = Color.FromName(arLinea[8]); objcRpt.AddCheckBoxMM(sValore, bValue, dSize, BackColor, bBold, dStartX, dStartY, dLenghtY); } catch (Exception exc) { objcRpt.AddTextMM(dErrStartX, dErrStartY, sLinea + " - " + exc.Message, dErrSize, Color.Red, true); dErrStartY += 10; } } if (arLinea[0] == "CheckBoxData") { try { dStartX = double.Parse(arLinea[1]); dStartY = double.Parse(arLinea[2]); dLenghtY = double.Parse(arLinea[3]); dSize = double.Parse(arLinea[4]); sValore = arLinea[5]; bValue = (bool)drStampa[arLinea[6]]; bBold = bool.Parse(arLinea[7]); BackColor = Color.FromName(arLinea[8]); objcRpt.AddCheckBoxMM(sValore, bValue, dSize, BackColor, bBold, dStartX, dStartY, dLenghtY); } catch (Exception exc) { objcRpt.AddTextMM(dErrStartX, dErrStartY, sLinea + " - " + exc.Message, dErrSize, Color.Red, true); dErrStartY += 10; } } } catch (Exception exc) { objcRpt.AddTextMM(dErrStartX, dErrStartY, sLinea + " - " + exc.Message, dErrSize, Color.Red, true); dErrStartY += 10; } } //If Stampa Pianificazione if (Path.GetFileName(NomeFileStampa) == "ModuloRichiestaAssistenza.report") { StampaScadenzeClientePerPianificazione((int)drStampa["IDCli"]); } //If Stampa Rapportino if (Path.GetFileName(NomeFileStampa) == "ModuloRapportoTecnico.report") { StampaRigheRapportino((int)drStampa["IDRapportino"]); } } catch { } finally { sr.Close(); } return true; }