//        private async void Button_Search_Click(object sender, RoutedEventArgs e)
//        {
//            string query;

//            DataSet ds;
//            DataRow drow;
//            database_connection dc = new database_connection();
//            try
//            {
//                query = $@"select Id,
//ItemDescription
//,Quantity
//,Unit
//,CONVERT(VARCHAR(12), DateAcquired, 107) AS [Mon DD, YYYY]
//,Price
//,TotalCost
//,Remarks
//from ItemDetailss

//where Id like  '%{TextBox_Search.Text}%' or ItemDescription like '%{TextBox_Search.Text}%' or Unit  like '%{TextBox_Search.Text}%' or DateAcquired like '%{TextBox_Search.Text}%'";

//                Loading_User.Visibility = Visibility.Visible;
//                ds = await dc.Connection1Async(query);
//                Loading_User.Visibility = Visibility.Collapsed;

//                int count;
//                count = ds.Tables[0].Rows.Count;

//                if (count == 0)
//                {
//                    Loading_User.Visibility = Visibility.Visible;
//                    Icon.Kind = MahApps.Metro.IconPacks.PackIconMaterialKind.AlertCircleOutline;
//                    TextBlock_Message.Text = "Search does not exists".ToUpper();
//                    TextBox_TransactionId.Clear();
//                    TextBox_ItemDescription.Clear();
//                    TextBox_Quantity.Clear();
//                    TextBox_Unit.Clear();

//                    TextBox_Price.Clear();
//                    TextBox_TotalCost.Clear();


//                    refresh();

//                }
//                else
//                {
//                    drow = ds.Tables[0].Rows[0];
//                    TextBox_TransactionId.Text = drow.ItemArray.GetValue(0).ToString();
//                    TextBox_ItemDescription.Text = drow.ItemArray.GetValue(1).ToString();
//                    TextBox_Quantity.Text = drow.ItemArray.GetValue(2).ToString();
//                    TextBox_Unit.Text = drow.ItemArray.GetValue(3).ToString();
//                    date = drow.ItemArray.GetValue(4).ToString();
//                    TextBox_Price.Text = drow.ItemArray.GetValue(5).ToString();
//                    TextBox_TotalCost.Text = drow.ItemArray.GetValue(6).ToString();


//                }

//                int ctr, total;
//                total = ds.Tables[0].Rows.Count;

//                itemdetailss.Clear();

//                for (ctr = 0; ctr < total; ctr++)
//                {
//                    drow = ds.Tables[0].Rows[ctr];
//                    itemdetailss.Add(new ItemDetailss
//                    {
//                        TransactionId = drow.ItemArray.GetValue(0).ToString()
//                        ,
//                        ItemDescription = drow.ItemArray.GetValue(1).ToString()
//                        ,
//                        ItemQuantity = int.Parse(drow.ItemArray.GetValue(2).ToString())
//                        ,
//                        ItemUnit = drow.ItemArray.GetValue(3).ToString()
//                        ,
//                        DateAcquired = drow.ItemArray.GetValue(4).ToString()
//                        ,
//                        Price = double.Parse(drow.ItemArray.GetValue(5).ToString())
//                        ,
//                        TotalCost = double.Parse(drow.ItemArray.GetValue(6).ToString())
//                       ,
//                        Remarks = drow.ItemArray.GetValue(7).ToString()
//                    });

//                }
//            }
//            catch (Exception ex)
//            {
//                Loading_User.Visibility = Visibility.Visible;
//                Icon.Kind = MahApps.Metro.IconPacks.PackIconMaterialKind.MessageAlert;
//                TextBlock_Message.Text = ex.Message.ToUpper();
//            }

//        }

        private void Button_Add_Click(object sender, RoutedEventArgs e)
        {
            TextBox_TransactionId.Clear();
            TextBox_ItemDescription.Clear();
            TextBox_Price.Clear();
            TextBox_Quantity.Clear();
            TextBox_Search.Clear();
            TextBox_Unit.Clear();
            TextBox_TotalCost.Clear();
            status = statusAdminContent.Add;
        }
        private void DataGrid_ItemDetails_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (DataGrid_ItemDetailss.SelectedItem == null)
            {
                return;
            }
            var selectedDetails = DataGrid_ItemDetailss.SelectedItem as ItemDetailss;

            TextBox_TransactionId.Text   = selectedDetails.TransactionId;
            TextBox_ItemDescription.Text = selectedDetails.ItemDescription;
            TextBox_Quantity.Text        = Convert.ToString(selectedDetails.ItemQuantity);
            TextBox_Unit.Text            = selectedDetails.ItemUnit;
            date                   = selectedDetails.DateAcquired;
            remarks                = selectedDetails.Remarks;
            TextBox_Price.Text     = Convert.ToString(selectedDetails.Price);
            TextBox_TotalCost.Text = Convert.ToString(selectedDetails.TotalCost);

            status = statusAdminContent.select;
        }
        private void Button_Delete_Click(object sender, RoutedEventArgs e)
        {
            dc = new database_connection();
            if (status == statusAdminContent.select)
            {
                string query;
                try
                {
                    query = $@"Delete from ItemDetailss Where Id='{ TextBox_TransactionId.Text} ' ";
                    dc.Connection2(query);
                    query = $@"Delete from RemarksMessage where Id='{TextBox_TransactionId.Text}'";
                    dc.Connection2(query);

                    TextBox_TransactionId.Clear();
                    TextBox_ItemDescription.Clear();
                    TextBox_Price.Clear();
                    TextBox_Quantity.Clear();
                    TextBox_Search.Clear();
                    TextBox_Unit.Clear();
                    TextBox_TotalCost.Clear();

                    status = statusAdminContent.delete;
                    Loading_User.Visibility = Visibility.Visible;
                    Icon.Kind = MahApps.Metro.IconPacks.PackIconMaterialKind.DeleteRestore;
                    TextBlock_Message.Text = "deleted Records".ToUpper();
                }
                catch (Exception ex)
                {
                    Loading_User.Visibility = Visibility.Visible;
                    Icon.Kind = MahApps.Metro.IconPacks.PackIconMaterialKind.MessageAlert;
                    TextBlock_Message.Text = ex.Message.ToUpper();
                }
            }
            else
            {
                Loading_User.Visibility = Visibility.Visible;
                Icon.Kind = MahApps.Metro.IconPacks.PackIconMaterialKind.MessageAlert;
                TextBlock_Message.Text = "Please Click the Records you want to delete".ToUpper();
            }
        }
        private void Button_Clear_Click(object sender, RoutedEventArgs e)
        {
            string query;

            if (status == statusAdminContent.select)
            {
                try
                {
                    query = $@"Update ItemDetailss Set Remarks = '' Where Id = '{TextBox_TransactionId.Text}'";

                    dc.Connection2(query);



                    query = $@"Delete from RemarksMessage where Id = '{TextBox_TransactionId.Text}' ";

                    dc.Connection2(query);


                    status = statusAdminContent.clear;
                    Loading_User.Visibility = Visibility.Visible;
                    Icon.Kind = MahApps.Metro.IconPacks.PackIconMaterialKind.FormatClear;
                    TextBlock_Message.Text = "Cleared Remarks".ToUpper();
                }
                catch (Exception ex)
                {
                    Loading_User.Visibility = Visibility.Visible;
                    Icon.Kind = MahApps.Metro.IconPacks.PackIconMaterialKind.MessageAlert;
                    TextBlock_Message.Text = ex.Message.ToUpper();
                }
            }
            else
            {
                Loading_User.Visibility = Visibility.Visible;
                Icon.Kind = MahApps.Metro.IconPacks.PackIconMaterialKind.MessageAlert;
                TextBlock_Message.Text = "Please Click the Records you want to clear".ToUpper();
            }
        }
        private void Button_Update_Click(object sender, RoutedEventArgs e)
        {
            dc = new database_connection();
            string query;
            int    a;
            string datee = DateTime.Now.ToString("MM/dd/yyyy");

            if (status == statusAdminContent.select)
            {
                try
                {
                    query = $@"Insert Into BeginningInventory([Id]
      ,[ItemDescription]
      ,[Quantity]
      ,[Unit]
      ,[Price]
      ,[TotalCost]
      ,[Monthh]
      ,[Yearr]
      ,[DateAcquired])
values ('{TextBox_TransactionId.Text}'
,'{TextBox_ItemDescription.Text}'
,'{TextBox_Quantity.Text}'
,'{TextBox_Unit.Text}'
,'{TextBox_Price.Text}'
,'{TextBox_TotalCost.Text}'
,'{month}'
,'{year}'
,'{datee}')";
                    dc.Connection2(query);

                    a = int.Parse(TextBox_Quantity.Text) * int.Parse(TextBox_Price.Text);
                    TextBox_TotalCost.Text = a.ToString();

                    query = $@"Update ItemDetailss 
Set ItemDescription ='{TextBox_ItemDescription.Text}'
,Quantity = '{TextBox_Quantity.Text}'
,Unit = '{TextBox_Unit.Text}'
,DateAcquired = '{date}'
,Price = '{TextBox_Price.Text}'
,TotalCost = '{TextBox_TotalCost.Text}'
,Remarks = ''
Where Id = '{TextBox_TransactionId.Text}'";

                    dc.Connection2(query);
                    status = statusAdminContent.Update;
                    Loading_User.Visibility = Visibility.Visible;
                    Icon.Kind = MahApps.Metro.IconPacks.PackIconMaterialKind.Update;
                    TextBlock_Message.Text = "Update".ToUpper();
                }
                catch (Exception ex)
                {
                    Loading_User.Visibility = Visibility.Visible;
                    Icon.Kind = MahApps.Metro.IconPacks.PackIconMaterialKind.MessageAlert;
                    TextBlock_Message.Text = ex.Message.ToUpper();
                    refresh();
                }
            }
            else
            {
                Loading_User.Visibility = Visibility.Visible;
                Icon.Kind = MahApps.Metro.IconPacks.PackIconMaterialKind.MessageAlert;
                TextBlock_Message.Text = "Please Click the Records you want to update".ToUpper();
            }
        }
        private async void Button_Save_Click(object sender, RoutedEventArgs e)
        {
            DataSet ds;

            try
            {
                if (status == statusAdminContent.Add)
                {
                    if (TextBox_ItemDescription.Text == "" | TextBox_Quantity.Text == "" | TextBox_Unit.Text == "" | TextBox_Price.Text == "" | int.Parse(TextBox_Price.Text) <= 0 | int.Parse(TextBox_Quantity.Text) <= 0)
                    {
                        Loading_User.Visibility = Visibility.Visible;
                        Icon.Kind = MahApps.Metro.IconPacks.PackIconMaterialKind.AccountCheck;
                        TextBlock_Message.Text = "Complete the Information".ToUpper();
                    }
                    else
                    {
                        Loading_User.Visibility = Visibility.Visible;
                        Icon.Kind = MahApps.Metro.IconPacks.PackIconMaterialKind.ContentSave;
                        TextBlock_Message.Text = "saved records".ToUpper();
                        string query;
                        dc = new database_connection();
                        string s_new_number = await GetNewReferenceNumber();

                        query = $@"
insert into ItemDetailss (Id,ItemDescription
,Quantity
,Unit
,DateAcquired
,Price
,TotalCost
)

values('{s_new_number}'
,'{TextBox_ItemDescription.Text}'
,'{TextBox_Quantity.Text}'
,'{TextBox_Unit.Text}'
,'{date}'
,'{TextBox_Price.Text}'
,'{TextBox_TotalCost.Text}'

)";

                        ds = await dc.Connection1Async(query);

                        query = $@"Insert into 
BeginningInventory
(Monthh
,Yearr
,Id
,ItemDescription
,Quantity
,Unit
,Price
,TotalCost
,DateAcquired
) 
Values ('{month}'
,'{year}'
,'{s_new_number}'
,'{TextBox_ItemDescription.Text}'
,'{TextBox_Quantity.Text}'
,'{TextBox_Unit.Text}'
,'{TextBox_Price.Text}'
,'{TextBox_TotalCost.Text}'
,'{date}')
";

                        dc.Connection2(query);

                        TextBox_TransactionId.Text = s_new_number;

                        status = statusAdminContent.Save;
                    }
                }
                else
                {
                    Loading_User.Visibility = Visibility.Visible;
                    Icon.Kind = MahApps.Metro.IconPacks.PackIconMaterialKind.NewBox;
                    TextBlock_Message.Text = "Please click new button".ToUpper();
                }
            }
            catch (Exception ex)
            {
                Loading_User.Visibility = Visibility.Visible;
                Icon.Kind = MahApps.Metro.IconPacks.PackIconMaterialKind.Alert;
                TextBlock_Message.Text = ex.Message.ToUpper();
            }
        }