Exemplo n.º 1
0
 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();
     }
 }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        /// <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);
            }

        }
Exemplo n.º 4
0
 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);
     }
 }
Exemplo n.º 10
0
        private void AddItemsToDataGrid(Document document, DataItem filterItem)
        {
            if (!document.Success || !document.HasData)
                return;

            AddItemsToDataGrid(document.Items, filterItem);
        }
Exemplo n.º 11
0
 private void AddItemsToDataGrid(List<Document> docs, DataItem filterItem)
 {
     foreach (var doc in docs)
     {
         AddItemsToDataGrid(doc, filterItem);
     }
 }