-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathContracts.xaml.cs
More file actions
151 lines (126 loc) · 4.6 KB
/
Contracts.xaml.cs
File metadata and controls
151 lines (126 loc) · 4.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace dbCon2
{
/// <summary>
/// Interaction logic for Contracts.xaml
/// </summary>
public partial class Contracts : Page
{
public List<ContractItem> Items = new List<ContractItem>();
//Number of selected row-for seve data
string idOfSelectedRow = "";
int numberOfSelectedRow;
public Contracts()
{
InitializeComponent();
RefreshContractItems();
CollectionViewSource itemCollectionViewSource;
itemCollectionViewSource = (CollectionViewSource)(FindResource("ItemContractsSource"));
itemCollectionViewSource.Source = Items;
}
//Refresh itemlist
private void RefreshContractItems()
{
DataAccessContracts dataAccessContracts = new DataAccessContracts();
Items = dataAccessContracts.GetContracts();
//empty last item with default values
ContractItem itemLast = new ContractItem();
itemLast.ContractItemSet("", "Priceing", LoginWindow.LoggedIn.UserNameDB
, DateTime.Today.ToString("yyyy-MM-dd"),
"", "", "", DateTime.Today.AddMonths(1).ToString("yyyy-MM-dd"), "");
Items.Add(itemLast);
ContractsDataGrind.ItemsSource = Items;
CheckSelection();
}
//End of row editing
private void ContractsDataGrind_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e)
{
SaveUpdate();
}
//selection changed event
private void ContractsDataGrind_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
CheckSelection();
}
//check datagrind selection
private void CheckSelection()
{
try
{
numberOfSelectedRow = ContractsDataGrind.SelectedIndex;
if (ContractsDataGrind.Columns[0].GetCellContent(ContractsDataGrind.Items[numberOfSelectedRow]) is TextBlock x)
{
idOfSelectedRow = x.Text;
}
}
catch
{
}
}
//save or update record
private void SaveUpdate()
{
DataAccessContracts dataAccessContracts = new DataAccessContracts();
try
{
dataAccessContracts.AddNewContract(
idOfSelectedRow,
Items[numberOfSelectedRow].Status,
Items[numberOfSelectedRow].Worker,
Convert.ToDateTime(Items[numberOfSelectedRow].Date).ToString("yyyy-MM-dd"),
Items[numberOfSelectedRow].Client,
Items[numberOfSelectedRow].Contact,
Items[numberOfSelectedRow].InvoiceStatus,
Convert.ToDateTime(Items[numberOfSelectedRow].ExpiryDate).ToString("yyyy-MM-dd"),
Items[numberOfSelectedRow].Other);
}
catch
{
MessageBox.Show("Update Error");
}
RefreshContractItems();
}
//Save date when close calendar
private void DataPicker2_CalendarClosed_1(object sender, RoutedEventArgs e)
{
CheckSelection();
if (idOfSelectedRow != "")
{
SaveUpdate();
}
}
//Save date when close calendar
private void DataPicker1_CalendarClosed(object sender, RoutedEventArgs e)
{
CheckSelection();
if (idOfSelectedRow != "")
{
SaveUpdate();
}
}
// Delete selected row
private void DeleteRowBUtton_Click(object sender, RoutedEventArgs e)
{
CheckSelection();
if(idOfSelectedRow != null && idOfSelectedRow !="")
{
DeleteContract dataAccessContracts = new DeleteContract();
dataAccessContracts.RemoveContract(idOfSelectedRow);
}
RefreshContractItems();
}
}
}