private static void AddToDateBase(SqlConnection connection, DataItem item) { using ( SqlCommand cmd = new SqlCommand( "INSERT INTO [TTN] (TTN, DateTime, CityRecipientDescription, RecipientDescription, " + " RecipientAddressDescription, RecipientContactPhone, Weight, Cost, CostOnSite, StateName," + " PrintedDescription, APIKey) VALUES (@TTN, @DateTime, @CityRecipientDescription, @RecipientDescription, " + "@RecipientAddressDescription, @RecipientContactPhone, @Weight, @Cost, @CostOnSite, @StateName," + "@PrintedDescription, @APIKey)", connection)) { cmd.Parameters.AddWithValue("@TTN", item.IntDocNumber); cmd.Parameters.AddWithValue("@DateTime", item.DateTime); cmd.Parameters.AddWithValue("@CityRecipientDescription", item.CityRecipientDescription); cmd.Parameters.AddWithValue("@RecipientDescription", item.RecipientDescription); cmd.Parameters.AddWithValue("@RecipientAddressDescription", item.RecipientAddressDescription); cmd.Parameters.AddWithValue("@RecipientContactPhone", item.RecipientContactPhone); cmd.Parameters.AddWithValue("@Weight", item.Weight); cmd.Parameters.AddWithValue("@Cost", item.Cost); cmd.Parameters.AddWithValue("@CostOnSite", item.CostOnSite); cmd.Parameters.AddWithValue("@StateName", item.StateName); cmd.Parameters.AddWithValue("@PrintedDescription", item.PrintedDescription); cmd.Parameters.AddWithValue("@APIKey", _APIKey); cmd.ExecuteNonQuery(); } }
static void Main(string[] args) { Console.OutputEncoding = Encoding.GetEncoding("Cyrillic"); DateTime left = DateTime.Parse("01.01.2015"); DateTime right = DateTime.Today; string connectionString = ConfigurationManager.ConnectionStrings["connectToTTN"].ConnectionString; using (SqlConnection connection = new SqlConnection(connectionString)) using ( SqlCommand cmd = new SqlCommand("SELECT * FROM [TTN] WHERE DateTime BETWEEN @left AND @right ",connection)) { connection.Open(); cmd.Parameters.AddWithValue("@left", left); cmd.Parameters.AddWithValue("@right", right); using (var reader = cmd.ExecuteReader()) { if (reader.HasRows) while (reader.Read()) { var DataItem = new DataItem(); DataItem.IntDocNumber = reader.GetString(0); DataItem.DateTime = reader.GetDateTime(1); DataItem.CityRecipientDescription = reader.GetString(2); DataItem.RecipientDescription = reader.GetString(3); DataItem.RecipientAddress = reader.GetString(4); DataItem.RecipientContactPhone = reader.GetString(5); Console.WriteLine(reader.GetDouble(6)); DataItem.Weight = reader.GetDouble(6); DataItem.Cost = reader.GetDouble(7); DataItem.CostOnSite = reader.GetDouble(8); DataItem.StateName = reader.GetString(9); DataItem.PrintedDescription = reader.GetString(10); } } } Console.ReadLine(); }
/// <summary> /// Initialize properties of this instanse /// </summary> /// <param name="xmlDoc">Response xmlDocument</param> public void LoadResponseXmlDocument(XmlDocument xmlDoc) { var query = from XmlNode x in xmlDoc.DocumentElement.ChildNodes select x; foreach (var root in query) { switch (root.Name) { case "success": Boolean.TryParse(root.InnerText, out _success); break; case "data": _hasData = root.HasChildNodes; break; case "errors": if (!_success) { var errorQuery = from XmlNode x in root.ChildNodes where x.Name == "item" select x.InnerText; var strb = new StringBuilder(); foreach (string error in errorQuery) { strb.Append(error + "\n"); } _error = strb.ToString(); } break; } } if (!_hasData) return; var dataNode = xmlDoc.DocumentElement.SelectSingleNode("data"); foreach (XmlNode item in dataNode.ChildNodes) { var dateItem = new DataItem(); dateItem.LoadXml(item); _items.Add(dateItem); } }
private void AddToDateBase(SqlConnection connection, DataItem item) { using ( SqlCommand cmd = new SqlCommand( "INSERT INTO [TTN] (TTN, DateTime, CityRecipientDescription, RecipientDescription, " + "RecipientAddressDescription, RecipientContactPhone, Weight, Cost, CostOnSite, StateName," + " PrintedDescription, APIKey) VALUES (@TTN, @DateTime, @CityRecipientDescription, @RecipientDescription, " + "@RecipientAddressDescription, @RecipientContactPhone, @Weight, @Cost, @CostOnSite, @StateName," + "@PrintedDescription, @APIKey)", connection)) { cmd.Parameters.AddWithValue("@TTN", item.IntDocNumber); cmd.Parameters.AddWithValue("@DateTime", item.DateTime); cmd.Parameters.AddWithValue("@CityRecipientDescription", item.CityRecipientDescription); cmd.Parameters.AddWithValue("@RecipientDescription", item.RecipientDescription); cmd.Parameters.AddWithValue("@RecipientAddressDescription", item.RecipientAddressDescription); cmd.Parameters.AddWithValue("@RecipientContactPhone", item.RecipientContactPhone); cmd.Parameters.AddWithValue("@Weight", item.Weight); cmd.Parameters.AddWithValue("@Cost", item.Cost); cmd.Parameters.AddWithValue("@CostOnSite", item.CostOnSite); cmd.Parameters.AddWithValue("@StateName", item.StateName); cmd.Parameters.AddWithValue("@PrintedDescription", item.PrintedDescription); cmd.Parameters.AddWithValue("@APIKey", _apiKey); try { cmd.ExecuteNonQuery(); } catch (SqlException) { cmd.CommandText = "UPDATE [TTN] SET DateTime = @DateTime, CityRecipientDescription = @CityRecipientDescription," + " RecipientDescription = @RecipientDescription, RecipientAddressDescription = @RecipientAddressDescription, " + "RecipientContactPhone = @RecipientContactPhone, Weight = @Weight, Cost = @Cost, CostOnSite = @CostOnSite, StateName = @StateName," + " PrintedDescription = @PrintedDescription, APIKey = @APIKey WHERE TTN = @TTN"; cmd.ExecuteNonQuery(); } } }
private async void Btn_selectDataOK_OnClick(object sender, RoutedEventArgs e) { DG_doc.Items.Clear(); DateTime left = DatePickerLeft.SelectedDate ?? DateTime.Today; DateTime right = DatePickerRight.SelectedDate ?? DateTime.Today; using (SqlConnection connection = new SqlConnection(_connectionString)) using ( SqlCommand cmd = new SqlCommand("SELECT * FROM [TTN] WHERE DateTime BETWEEN @left AND @right ", connection)) { await connection.OpenAsync(); cmd.Parameters.AddWithValue("@left", left); cmd.Parameters.AddWithValue("@right", right); using (var reader = await cmd.ExecuteReaderAsync()) { if (reader.HasRows) while (reader.Read()) { var dataItem = new DataItem(); dataItem.IntDocNumber = reader.GetString(0).Trim(); dataItem.DateTime = reader.GetDateTime(1); dataItem.CityRecipientDescription = reader.GetString(2).Trim(); dataItem.RecipientDescription = reader.GetString(3).Trim(); dataItem.RecipientAddressDescription = reader.GetString(4).Trim(); dataItem.RecipientContactPhone = reader.GetString(5).Trim(); dataItem.Weight = reader.GetDouble(6); dataItem.Cost = reader.GetDouble(7); dataItem.CostOnSite = reader.GetDouble(8); dataItem.StateName = reader.GetString(9).Trim(); dataItem.PrintedDescription = reader.GetString(10).Trim(); AddItemsToDataGrid(dataItem, _filter); } } } }
/// <summary> /// getDocumentList give Created stateName /// documentTracking give just in time stateName /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void Track_OnClick(object sender, RoutedEventArgs e) { var selectedItems = DG_doc.SelectedItems.Cast<DataItem>().ToList(); var methodPrepetries = CreateXmlListPropertiesForDocumentsTracking(selectedItems); OpenLoader("InternetDocument", "documentsTracking", methodPrepetries); using (SqlConnection connection = new SqlConnection(_connectionString)) { await connection.OpenAsync(); int i = 0; foreach (XmlNode item in methodPrepetries[0].ChildNodes) { using (SqlCommand cmd = new SqlCommand("SELECT * FROM [TTN] WHERE (TTN = @TTN)", connection)) { cmd.Parameters.AddWithValue("@TTN", item.InnerText); using (var reader = await cmd.ExecuteReaderAsync()) { if (reader.HasRows) while (await reader.ReadAsync()) { var dataItem = new DataItem(); dataItem.IntDocNumber = reader.GetString(0).Trim(); dataItem.DateTime = reader.GetDateTime(1); dataItem.CityRecipientDescription = reader.GetString(2).Trim(); dataItem.RecipientDescription = reader.GetString(3).Trim(); dataItem.RecipientAddressDescription = reader.GetString(4).Trim(); dataItem.RecipientContactPhone = reader.GetString(5).Trim(); dataItem.Weight = reader.GetDouble(6); dataItem.Cost = reader.GetDouble(7); dataItem.CostOnSite = reader.GetDouble(8); dataItem.StateName = reader.GetString(9).Trim(); dataItem.PrintedDescription = reader.GetString(10).Trim(); var index = DG_doc.Items.IndexOf(selectedItems[i]); DG_doc.Items[index] = dataItem; i++; } } } } } }
private static bool CompareTwoItems(DataItem self, DataItem to) { if (self == null) return false; if (to == null) return true; var type = self.GetType(); var countOfEquals = 0; var query = new List<object>(); foreach ( var pi in type.GetProperties(BindingFlags.Public | BindingFlags.DeclaredOnly | BindingFlags.Instance)) { var selfValue = type.GetProperty(pi.Name).GetValue(self, null); var toValue = type.GetProperty(pi.Name).GetValue(to, null); if (selfValue == null || toValue == null) continue; var isDefault = toValue.Equals(GetDefault(pi.PropertyType)); if (!isDefault) countOfEquals++; if (selfValue.Equals(toValue) && !isDefault) { query.Add(selfValue); } } return query.Count() == countOfEquals; }
private void AddItemsToDataGrid(DataItem item, DataItem filterItem) { if (!CompareTwoItems(item, filterItem)) return; if (_stateFilter.Contains(item.StateName)) return; var thisValue = item; AsyncChangeControlState(DG_doc, () => DG_doc.Items.Add(thisValue)); }
private void AddItemsToDataGrid(List<DataItem> items, DataItem filterItem) { foreach (var item in items) { AddItemsToDataGrid(item, filterItem); } }
private void AddItemsToDataGrid(Document document, DataItem filterItem) { if (!document.Success || !document.HasData) return; AddItemsToDataGrid(document.Items, filterItem); }
private void AddItemsToDataGrid(List<Document> docs, DataItem filterItem) { foreach (var doc in docs) { AddItemsToDataGrid(doc, filterItem); } }