I am doing a refactoring for a method which is looking like :
private static DataTable getOrdersAll(string OrderID, string OrderLineNo = "")
{
}
i have changed it into like this :
private static List<BranchSales> getOrdersAll(string OrderID, string OrderLineNo = "")
so i changed from return DataTable into return List<BranchSales> so far is goood
my problem that this method has a reference and in the reference looking like : "Look what have you tried" ...i just post some lines from the method....
how can i change DataRow? should i do a new class with properties that presenting the Datarow ? i have got stuck here what should i do to change all DataTables and DataRows into a List<T>
=======Update the Question=============
I have posted the whole code
my problem now to change the method " private void FuellenStatus(string AuftragNr)"
for an explanation i will be so glad
thanks in advanced
What I have tried:
private static List<BranchSales> getOrdersAll(string OrderID, string OrderLineNo = "")
{
List<BranchSales> elements = new List<BranchSales>();
using (IDbConnection connection = SQL_DB.getSQL_Connection())
{
connection.Open();
DynamicParameters parameters = new DynamicParameters();
parameters.Add("@OrderID", OrderID);
elements = connection.Query<BranchSales>("spGetOrdersAll_Intrax_Test", parameters, commandTimeout: 180,commandType: CommandType.StoredProcedure).AsList();
}
return elements;
}
Thats what i have changed it .
"Reference of method" :
public static List<BranchSales> getOrdersAll(string OrderNo)
{
return getOrdersAll(OrderNo, string.Empty);
}
the method getOrderAll will be call in this method :
public DataTabel IntraxAuftrag;
private void FuellenStatus(string AuftragNr)
{
DataTable OffeneBestellung = SQL_DB.getOrdersAll(AuftragNr);
IntraxAuftrag.Columns.Clear();
string sAuftrag = string.Empty;
IntraxAuftrag.Columns.Add("Status");
IntraxAuftrag.Columns.Add("StatusColor");
IntraxAuftrag.Columns.Add("StatusKey");
foreach (DataTable dr in OffeneBestellung.Rows)
{
if (dr[InfoE_Mail_gesendet] == "true")
{
AnzeigeZahlungen(dr[CustomerNo]);
if (sAuftrag != dr.Auftrag)
{
IntraxAuftrag.Columns.Add(dr["Auftrag"].ToString());
sAuftrag = dr["Auftrag"].ToString();
}
DataRow row = GetRow(IntraxAuftrag, "BranchSaleID", "UNVISIBLE", sAuftrag);
row[dr["Auftrag"].ToString()] = dr["branchSaleID"].ToString();
try { IntraxAuftrag.Rows.Add(row); } catch { }
row = GetRow(IntraxAuftrag, "Sendungslink", "UNVISIBLE", sAuftrag);
row[dr["Auftrag"].ToString()] = dr["Sendungslink"].ToString();
try { IntraxAuftrag.Rows.Add(row); } catch { }
row = GetRow(IntraxAuftrag, "Auftrag", "ALLGEMEIN", sAuftrag);
row[dr["Auftrag"].ToString()] = dr["Auftrag"].ToString();
try { IntraxAuftrag.Rows.Add(row); } catch { }
row = GetRow(IntraxAuftrag, "Zahlungsart", "ALLGEMEIN", sAuftrag);
row[dr["Auftrag"].ToString()] = dr["Zahlungsart"].ToString();
try { IntraxAuftrag.Rows.Add(row); } catch { }
row = GetRow(IntraxAuftrag, "Artikel", "ALLGEMEIN", sAuftrag);
row[dr["Auftrag"].ToString()] = dr["itemNo"].ToString();
try { IntraxAuftrag.Rows.Add(row); } catch { }
row = GetRow(IntraxAuftrag, "Menge", "ALLGEMEIN", sAuftrag);
row[dr["Auftrag"].ToString()] = dr["quantity"].ToString();
try { IntraxAuftrag.Rows.Add(row); } catch { }
row = GetRow(IntraxAuftrag, "Filiale", "ALLGEMEIN", sAuftrag);
row[dr["Auftrag"].ToString()] = dr["branchCode"].ToString();
try { IntraxAuftrag.Rows.Add(row); } catch { }
row = GetRow(IntraxAuftrag, "Adresse", "ALLGEMEIN", sAuftrag);
row[dr["Auftrag"].ToString()] = dr["name"].ToString() + dr["street"].ToString() + dr["postcode"].ToString() + "-" + dr["city"].ToString();
try { IntraxAuftrag.Rows.Add(row); } catch { }
if (dr["cancellation"].ToString() == "False")
{
row = GetRow(IntraxAuftrag, "Laufzettel gedruckt", "INTERN", sAuftrag);
row[dr["Auftrag"].ToString()] = dr["Laufzettel_gedruckt_am"].ToString();
try { IntraxAuftrag.Rows.Add(row); } catch { }
row = GetRow(IntraxAuftrag, "bestätigt", "INTERN", sAuftrag);
row[dr["Auftrag"].ToString()] = dr["Bestellbest_Zeit"].ToString();
try { IntraxAuftrag.Rows.Add(row); } catch { }
row = GetRow(IntraxAuftrag, "bezahlt", "INTERN", sAuftrag);
row[dr["Auftrag"].ToString()] = dr["Zahlungeingegangen_zeit"].ToString();
try { IntraxAuftrag.Rows.Add(row); } catch { }
row = GetRow(IntraxAuftrag, "Rechnung", "INTERN", sAuftrag);
row[dr["Auftrag"].ToString()] = dr["Rechnungsdruck_Zeit"].ToString();
try { IntraxAuftrag.Rows.Add(row); } catch { }
row = GetRow(IntraxAuftrag, "Filialrechnung", "INTERN", sAuftrag);
row[dr["Auftrag"].ToString()] = dr["Rechnungsdatum"].ToString();
try { IntraxAuftrag.Rows.Add(row); } catch { }
row = GetRow(IntraxAuftrag, "Ver. beauftrag", "INTERN", sAuftrag);
row[dr["Auftrag"].ToString()] = dr["Versanddienstleider_Zeit"].ToString();
try { IntraxAuftrag.Rows.Add(row); } catch { }
row = GetRow(IntraxAuftrag, "versendet", "VERSAND", sAuftrag);
row[dr["Auftrag"].ToString()] = dr["Versandbestätigt_Zeit"].ToString();
try { IntraxAuftrag.Rows.Add(row); } catch { }
row = GetRow(IntraxAuftrag, "Tracking", "VERSAND", sAuftrag);
row[dr["Auftrag"].ToString()] = dr["Tracking_Zeit"].ToString();
try { IntraxAuftrag.Rows.Add(row); } catch { }
row = GetRow(IntraxAuftrag, "zugestellt/unterwegs", "KUNDE", sAuftrag);
DataTable dtDelivery = SQL_DB.GetDeliveryOrder(dr["branchSaleID"].ToString(), string.Empty);
if (dtDelivery.Rows.Count > 0)
{
row[dr["Auftrag"].ToString()] = dtDelivery.Rows[0]["StatusTrex"].ToString();
}
try { IntraxAuftrag.Rows.Add(row); } catch { }
if (dr["BranchShipment"].ToString() == "True")
{
DataTable dtAusFil = SQL_DB.getAuslieferungsFiliale(AuftragNr, Convert.ToInt32(dr["OrderLineNo"].ToString()));
if (dtAusFil.Rows.Count > 0)
{
row = GetRow(IntraxAuftrag, "Übergabe in Filiiale", "INTERN", sAuftrag);
row[dr["Auftrag"].ToString()] = dtAusFil.Rows[0]["branchCode"].ToString();
try { IntraxAuftrag.Rows.Add(row); } catch { }
row = GetRow(IntraxAuftrag, "Übergabe an Kunde", "KUNDE", sAuftrag);
row[dr["Auftrag"].ToString()] = dtAusFil.Rows[0]["BranchShipmentReceived_delivered_Date"].ToString();
try { IntraxAuftrag.Rows.Add(row); } catch { }
}
}
}
else
{
row = GetRow(IntraxAuftrag, "Status", "STORNIERT", sAuftrag);
row[dr["Auftrag"].ToString()] = "STORNIERT";
try { IntraxAuftrag.Rows.Add(row); } catch { }
}
IntraxAuftrag = ReadRetouren(dr["branchSaleID"].ToString(), dr["Auftrag"].ToString(), IntraxAuftrag);
}
}
}