/// <summary> /// Imposto tutte le variabili per la generazione del report /// Eseguo il Binding sul Repeater /// </summary> public dsRapportino ImpostaRpt(string [] arOdl) { try { RichiestaIntervento _RichiestaIntervento = new RichiestaIntervento(userName); dsRapportino _ds = new dsRapportino(); foreach (string wrId in arOdl) { bool ciSonoCosti = false; DataRow MainDr = _ds.Tables["MainTable"].NewRow(); MainDr["WR_ID"] = Convert.ToInt32(wrId); DataSet _dsAppoggio1 = _RichiestaIntervento.GetSingleData(getWo(int.Parse(wrId))); //Aggiunge al dataset l riga con i dettagli dell'intervento DataRow drc = _dsAppoggio1.Tables[0].Rows[0]; MainDr["WO_ID"] = Convert.ToInt32(drc["VAR_WO_WO_ID"]); _ds.Tables["rapportoTecnicoIntervento"].ImportRow(drc); ClManCorrettiva ioDati = new ClManCorrettiva(); DataTable Dt = ioDati.GetListaManodopera(Convert.ToInt32(wrId)).Tables[0].Copy(); Dt.TableName = "ListaManodopera"; // DataColumn dcWrId = new DataColumn("WR_ID"); // Dt.Columns.Add(dcWrId); if (Dt.Rows.Count == 0) { //per inserire una riga DataRow o_Dr = _ds.Tables["ListaManodopera"].NewRow(); o_Dr["ID"] = "-1"; o_Dr["IdAddetto"] = 0; o_Dr["IdAddettoWR"] = 0; o_Dr["CognomeNome"] = DBNull.Value; o_Dr["Livello"] = "<b>TOTALE</b>"; o_Dr["PrezzoUnitario"] = DBNull.Value; o_Dr["OreLavorate"] = DBNull.Value; o_Dr["Totale"] = 0; o_Dr["DescrizioneIntervento"] = DBNull.Value; o_Dr["WR_ID"] = Convert.ToInt32(wrId); _ds.Tables["ListaManodopera"].Rows.Add(o_Dr); MainDr["HA_MANODOPERA"] = "-1"; } else { if (!Dt.Columns.Contains("WR_ID")) { DataColumn myDataColumn; myDataColumn = new DataColumn(); myDataColumn.DataType = System.Type.GetType("System.Int32"); myDataColumn.ColumnName = "WR_ID"; // Add the Column to the DataColumnCollection. Dt.Columns.Add(myDataColumn); } ciSonoCosti = true; MainDr["HA_MANODOPERA"] = "1"; foreach (DataRow dr in Dt.Rows) { dr["WR_ID"] = Convert.ToInt32(wrId); _ds.Tables["ListaManodopera"].ImportRow(dr); } } DataTable Dt2 = ioDati.GetListaMateriali(Convert.ToInt32(wrId)).Tables[0].Copy(); Dt2.TableName = "ListaMateriali"; // DataColumn dcWrId2 = new DataColumn("WR_ID"); // Dt2.Columns.Add(dcWrId2); if (Dt2.Rows.Count == 0) { //per inserire una riga DataRow o_Dr = _ds.Tables["ListaMateriali"].NewRow(); o_Dr["ID"] = "-1"; o_Dr["MATERIALE"] = DBNull.Value; o_Dr["PREZZO_UNITARIO"] = DBNull.Value; o_Dr["UNITAMISURA"] = ""; o_Dr["QUANTITA"] = 0; o_Dr["PREZZOTOTALE"] = 0; o_Dr["ID_MATERIALI"] = -1; o_Dr["WR_ID"] = Convert.ToInt32(wrId); _ds.Tables["ListaMateriali"].Rows.Add(o_Dr); MainDr["HA_MATERIALI"] = "-1"; } else { if (!Dt2.Columns.Contains("WR_ID")) { DataColumn myDataColumn; myDataColumn = new DataColumn(); myDataColumn.DataType = System.Type.GetType("System.Int32"); myDataColumn.ColumnName = "WR_ID"; // Add the Column to the DataColumnCollection. Dt2.Columns.Add(myDataColumn); } ciSonoCosti = true; MainDr["HA_MATERIALI"] = "1"; foreach (DataRow dr in Dt2.Rows) { dr["WR_ID"] = Convert.ToInt32(wrId); _ds.Tables["ListaMateriali"].ImportRow(dr); } } _ds.Tables["MainTable"].Rows.Add(MainDr); float totaleManodoperaF = 0; float totaleMaterialeF = 0; if (ciSonoCosti) { foreach (DataRow dr in _ds.Tables["ListaManodopera"].Rows) { if (Convert.ToInt32(dr["WR_ID"]) == Convert.ToInt32(wrId)) { totaleManodoperaF += float.Parse(Convert.ToString(dr["TOTALE"])); } } foreach (DataRow dr in _ds.Tables["ListaMateriali"].Rows) { if (Convert.ToInt32(dr["WR_ID"]) == Convert.ToInt32(wrId)) { totaleMaterialeF += float.Parse(Convert.ToString(dr["PREZZOTOTALE"])); } } DataRow o_Dr = _ds.Tables["TOTALI"].NewRow(); o_Dr["TotaleManodopera"] = totaleManodoperaF; o_Dr["TotaleMateriali"] = totaleMaterialeF; o_Dr["WR_ID"] = Convert.ToInt32(wrId); _ds.Tables["TOTALI"].Rows.Add(o_Dr); } else { DataRow o_Dr = _ds.Tables["TOTALI"].NewRow(); o_Dr["TotaleManodopera"] = -1; o_Dr["TotaleMateriali"] = -1; o_Dr["WR_ID"] = Convert.ToInt32(wrId); _ds.Tables["TOTALI"].Rows.Add(o_Dr); } } return(_ds); } catch (Exception exc) { return(null); } }