Ich entwickle Windows Phone 7 Anwendung in Silverlight. Ich bin neu im Silverlight. Ich bin auch neu in LINQ to XML. In meiner Anwendung wählt der Benutzer das Datum & einige Transaktionsdetails in die Anwendung einreichen. Die Details werden in XML-Datei gespeichert. Ich bin mit der benutzerdefinierten Datumskontrolle in meiner Anwendung für die Auswahl Datum alsWie Abfrage aktuelle Woche und aktuellen Monat mithilfe von LINQ to XML?
private void DatePicker_ValueChanged(object sender, DateTimeValueChangedEventArgs e)
{
AppObj = Application.Current as App;
AppObj.date = (DateTime)EntryDate.Value;
}
folge dann der Wert von AppObj.date in der XML-Datei gespeichert wird. Manchmal verwende ich DateTime.Now, um das Datum in der XML-Datei zu speichern. Jetzt möchte ich den Bericht der übermittelten Transaktionsdetails generieren, indem ich über LINQ to XML abfrage. Ich möchte den Bericht für das heutige Datum, aktuelle Woche & aktuellen Monat generieren. Für den heutigen Datumsbericht verwende ich den folgenden Code
public class TransactionList : List<Transaction>
{
public void GetTransactionObjects(String strXMLFile, int Currency_ID, int TransactionType_ID)
{
XDocument doc = null;
XMLFileManager XMLDocObj = new XMLFileManager();
doc = XMLDocObj.LoadXMLFile(strXMLFile);
DateTime today = DateTime.Today;
var vTransaction = doc.Descendants("Transaction")
.Where(x => ((DateTime)x.Element("Current_Date")).Date == today)
.Where(x => x.Element("TransactionType_ID").Value == TransactionType_ID.ToString())
.Where(x => x.Element("Currency_ID").Value == Currency_ID.ToString())
.Select(x => new Transaction(x));
this.Clear();
AddRange(vTransaction);
}
}
Die Transaction-Klasse enthält den folgenden Konstruktor.
public Transaction(XElement xElement)
{
Transaction_ID = Convert.ToInt32(xElement.Element("Transaction_ID").Value.ToString());
TransactionType_ID = Convert.ToInt32(xElement.Element("TransactionType_ID").Value.ToString());
Alphabet_ID = Convert.ToInt32(xElement.Element("Alphabet_ID").Value.ToString());
ID = Convert.ToInt32(xElement.Element("ID").Value.ToString());
SubCategory_ID = Convert.ToInt32(xElement.Element("SubCategory_ID").Value.ToString());
Item_ID = Convert.ToInt32(xElement.Element("Item_ID").Value.ToString());
Currency_ID = Convert.ToInt32(xElement.Element("Currency_ID").Value.ToString());
InputTypeMethod_ID = Convert.ToInt32(xElement.Element("InputTypeMethod_ID").Value.ToString());
Principle = Convert.ToInt32(xElement.Element("InputTypeMethod_ID").Value.ToString());
Interest = Convert.ToInt32(xElement.Element("Interest").Value.ToString());
ROI = Convert.ToInt32(xElement.Element("InputTypeMethod_ID").Value.ToString());
Amount = Convert.ToInt32(xElement.Element("Amount").Value.ToString());
//Current_Date = Convert.ToDateTime(xElement.Element("Current_Date").Value.ToString());
Current_Date = ((DateTime)xElement.Element("Current_Date")).Date;
}
In der XML-Datei der Wert wird für Datum & Zeit gespeichert. Der gespeicherte Wert wird als
<Transactions>
<Transaction>
<Transaction_ID>0</Transaction_ID>
<TransactionType_ID>0</TransactionType_ID>
<Alphabet_ID>3</Alphabet_ID>
<ID>0</ID>
<SubCategory_ID>0</SubCategory_ID>
<Item_ID>0</Item_ID>
<Currency_ID>3</Currency_ID>
<InputTypeMethod_ID>0</InputTypeMethod_ID>
<Principle>0</Principle>
<Interest>0</Interest>
<ROI>0</ROI>
<Amount>5000</Amount>
<Current_Date>2010-12-31T18:08:23.433+05:30</Current_Date>
</Transaction>
</Transactions>
Blick auf die
Knoten folgt2010-12-31T18: 08: 23,433 + 05: 30
das Datumsformat ist yyyy-mm-dd.
Wie soll ich nun die folgende Abfrage schreiben, um alle übermittelten Transaktionsdetails für die aktuelle Woche sowie den aktuellen Monat zu erhalten?
Können Sie mir bitte einen Code oder einen Link zur Verfügung stellen, über den ich das oben genannte Problem lösen kann? Wenn ich irgendetwas falsch mache, dann führe mich bitte.