Commit 1195fda5 authored by M3156's avatar M3156
Browse files

code comments

parent 255ef0a9
......@@ -16,9 +16,6 @@ using System.Windows.Shapes;
namespace iTool
{
/// <summary>
/// Interaction logic for AddAToolWindow.xaml
/// </summary>
public partial class AddAToolWindow : Window
{
#region PROPERTIES
......@@ -53,7 +50,7 @@ namespace iTool
txtDescription.Text = "";
txtBrowseToolImage.Text = "";
imgAddTool.Source = new BitmapImage(new Uri(@"F:\iTool\iTool\iTool\images\no_picture_tool.png", UriKind.RelativeOrAbsolute));
}
} // Tyhjentää kaikki kentät ja komboboksit
#endregion
#region EVENTHANDLERS
......@@ -61,7 +58,7 @@ namespace iTool
{
try
{
OpenFileDialog dlg = new OpenFileDialog();
OpenFileDialog dlg = new OpenFileDialog(); //OpenFileDialog olio
dlg.Title = "Select a tool image";
dlg.InitialDirectory = "c:\\";
dlg.Filter = "All supported graphics |*.jpg;*.jpeg;*.png|All files (*.*)|*.*";
......@@ -71,17 +68,19 @@ namespace iTool
{
txtBrowseToolImage.Text = dlg.FileName;
}
if (string.IsNullOrEmpty(txtBrowseToolImage.Text))
if (string.IsNullOrEmpty(txtBrowseToolImage.Text)) //jos kuvaa ei ole valittu
{
dlg.FileName = "images/no_picture_tool.png";
}
imgAddTool.Stretch = Stretch.Fill;
Uri u = new Uri(dlg.FileName, UriKind.RelativeOrAbsolute);
imgAddTool.Source = new BitmapImage(new Uri(dlg.FileName, UriKind.RelativeOrAbsolute));
string i = imgAddTool.Source.ToString().Split('/')[imgAddTool.Source.ToString().Split('/').Length - 1];
imgAddTool.Source = new BitmapImage(new Uri(dlg.FileName, UriKind.RelativeOrAbsolute)); // näyttää valitun kuvan
string i = imgAddTool.Source.ToString().Split('/')[imgAddTool.Source.ToString().Split('/').Length - 1]; //kuvatiedoston nimi
//path = $@"F:\iTool\iTool\iTool\images\{i}";
path = $@"images\{i}";
path = $@"images\{i}"; //polku kuvatiedostoon
//Metodi, joka lisää numeron kuvatiedostonimen alkuun, jos samanniminen kuvatiedosto on jop olemassa 'images' kansiossa
if (File.Exists(path))
{
int x = 0;
......@@ -99,7 +98,7 @@ namespace iTool
imgFile = path.Split('\\')[path.Split('\\').Length - 1];
}
// relaatiivinen polku images kansioon
// relaatiivinen polku kuvatiedostoon
relativePath = $"{Directory.GetParent(Environment.CurrentDirectory).Parent.FullName}\\{path}";
// polku valituun kuvatiedostoon
......@@ -116,6 +115,7 @@ namespace iTool
{
try
{
//TARKISTETAAN ONKO KAIKKI KENTÄT TÄYTETTY OIKEIN
if (txtToolName.Text.Length == 0)
{
lblToolError.Content = "Enter a tool name";
......@@ -143,16 +143,19 @@ namespace iTool
}
else
{
int cID = DB.GetToolCategoryID(cbToolCategories.SelectedValue.ToString());
DB.AddAToolToMysql(txtToolName.Text, cID, txtDescription.Text, Active.UserID, cbToolCondition.SelectedValue.ToString(), float.Parse(txtPrice.Text), imgFile);
int cID = DB.GetToolCategoryID(cbToolCategories.SelectedValue.ToString()); //MÄÄRITETÄÄN VALITUN TYÖKALUKATEGORIAN ID
DB.AddAToolToMysql(txtToolName.Text, cID, txtDescription.Text, Active.UserID, cbToolCondition.SelectedValue.ToString(), float.Parse(txtPrice.Text), imgFile); //LISÄTÄÄN TYÖKALU TIETOKANTAAN
lblToolError.Content = "You have successfully added a tool for rent!";
Active.profile.dgMyTools.ItemsSource = DB.GetOwnedToolsFromMysql();
Active.profile.dgMyTools.ItemsSource = DB.GetOwnedToolsFromMysql(); //PÄIVITETÄÄN OMIEN TYÖKALUJEN LISTAN
//KOPIOIDAAN KUVATIEDOSTO 'images' KANSIOON
if (!string.IsNullOrEmpty(txtBrowseToolImage.Text))
{
System.IO.File.Copy(dirPath, relativePath, true);
File.SetAttributes(relativePath, FileAttributes.Normal);
}
//RESETOIDAAN KAIKKI KENTÄT
Reset();
}
}
......@@ -164,6 +167,7 @@ namespace iTool
private void Window_KeyUp(object sender, KeyEventArgs e)
{
//AVATAAN PIILOTETTU 'AddRandomTools' IKKUNA
if(e.Key == Key.F1)
{
AddRandomTools addRandomTools = new AddRandomTools();
......
......@@ -14,9 +14,6 @@ using System.Windows.Shapes;
namespace iTool
{
/// <summary>
/// Interaction logic for AddRandomTools.xaml
/// </summary>
public partial class AddRandomTools : Window
{
#region METHODS
......@@ -29,6 +26,7 @@ namespace iTool
{
try
{
//GENEROIDAAN SATUNNAISIA TYÖKALUJA
List<int> userIDs = DB.GetUserIDsFromMysql();
List<string> conditions = new List<string>() { "Poor", "Ok", "Good", "Pristine" };
List<string> categories = new List<string>() { "Hionta", "Hitsauskoneet", "Juottaminen", "Käsityökalut", "Leikkaustyökalut", "Leikkuuterät", "Mittavälineet", "Paineilma", "Poranterät", "Työkalujen säilyttäminen", "Työpajan varustus", "Työstökoneet", "Sähkötyökalut" };
......@@ -59,6 +57,7 @@ namespace iTool
static string LoremIpsum(int minWords, int maxWords, int minSentences, int maxSentences, int numParagraphs)
{
//GENEROIDAAN LOREM IPSUM TYÖKALU DESCRIPTIONIA VARTEN
try
{
var words = new[] { "lorem", "ipsum", "dolor", "sit", "amet", "consectetuer", "adipiscing", "elit", "sed", "diam", "nonummy", "nibh", "euismod", "tincidunt", "ut", "laoreet", "dolore", "magna", "aliquam", "erat" };
......@@ -72,7 +71,6 @@ namespace iTool
for (int p = 0; p < numParagraphs; p++)
{
//result.Append("<p>");
for (int s = 0; s < numSentences; s++)
{
for (int w = 0; w < numWords; w++)
......@@ -82,7 +80,6 @@ namespace iTool
}
result.Append(". ");
}
//result.Append("</p>");
}
return result.ToString();
......
......@@ -22,8 +22,6 @@ namespace iTool
public string Address { get; set; }
public string PaymentMethod { get; set; }
public string PictureURL { get; set; }
//public List<Tool> ToolCollection = new List<Tool>();
}
public class Tool
......@@ -61,7 +59,7 @@ namespace iTool
public string Text { get; set; }
public int ToolID { get; set; }
public int userID { get; set; }
public int? CommentParentID { get; set; }
public int? CommentParentID { get; set; } //NULLABLE, KOSKA KENTTÄ VOI OLLA NULL
}
public class Transaction
......
......@@ -20,9 +20,9 @@ namespace iTool
public partial class CommentWindow : Window
{
#region PROPERTIES
private List<Comment> comments;
private List<Comment> comments; //APUMUUTTUJA SITÄ VARTEN ETTEI TARVIS AVATA MYSQL YHTEYS KUN HAETAAN UUDEN KOMMENTIN
private List<User> users;
private int? selectedComment = null;
private int? selectedComment = null; //VALITUN KOMMENTIN ID
#endregion
#region METHODS
......@@ -34,8 +34,8 @@ namespace iTool
private void IniMyStuuf()
{
users = DB.GetAllUsersFromMysql();
comments = DB.GetCommentsFromMysql(Active.ToolID);
users = DB.GetAllUsersFromMysql(); //HAETAAN KAIKKI KÄYTTÄJÄT
comments = DB.GetCommentsFromMysql(Active.ToolID); //HAETAAN TIETYN TYÖKALUN KAIKKI KOMMENTIT
IniComments();
}
......@@ -47,12 +47,14 @@ namespace iTool
string body = txtComment.Text;
string query;
if (selectedComment == null)
if (selectedComment == null) //JOS HALUTAAN JÄTTÄÄ PARENT KOMMENTIN
query = $"INSERT INTO comment (commentDate, commentText, userID, commentParentID, toolID) VALUES (CURRENT_TIMESTAMP,'{body}',{Active.UserID},null,{Active.ToolID});";
else
else //JOS HALUTAAN VASTATA JOHONKIN KOMMENTTIIN
query = $"INSERT INTO comment (commentDate, commentText, userID, commentParentID, toolID) VALUES (CURRENT_TIMESTAMP,'{body}',{Active.UserID},{selectedComment},{Active.ToolID});";
DB.AddCommentToMysql(query);
DB.AddCommentToMysql(query); //LISÄTÄÄN KOMMENTTI TIETOKANTAAN
//PÄIVITETÄÄN KOMMENTTIKENTÄN
lbxComments.Items.Clear();
comments = DB.GetCommentsFromMysql(Active.ToolID);
IniComments();
......@@ -66,6 +68,7 @@ namespace iTool
private User GetUser(int userID)
{
//HAETAAN KÄYTTÄJÄ KÄYTTÄJÄLISTASTA KÄYTTÄJÄ ID:N PERUSTEELLA
try
{
foreach (User user in users)
......@@ -85,13 +88,13 @@ namespace iTool
private void IniComments()
{
//HAETAAN KAIKKI KOMMENTIT 'comments' LISTASTA JA LUODAAN NÄKYMÄ NIISTÄ
try
{
foreach (Comment item in comments)
{
if (item.CommentParentID == null)
{
//User u = DB.GetToolOwnerFromMysql(item.userID);
User u = GetUser(item.userID);
Label lbComment = new Label();
......@@ -126,7 +129,6 @@ namespace iTool
{
if (reply.CommentParentID == item.CommentID)
{
//User us = DB.GetToolOwnerFromMysql(reply.userID);
User us = GetUser(reply.userID);
Label lbComment = new Label();
......@@ -181,6 +183,7 @@ namespace iTool
if (selected != null)
{
//POIMITAAN VALITUN KOMMENTIN ID
Label l = (Label)selected.Children[0];
string content = l.Content.ToString();
selectedComment = int.Parse(content.Split('#')[content.Split('#').Length - 1]);
......
This diff is collapsed.
......@@ -45,15 +45,16 @@ namespace iTool
#region EVENTHANDLERS
private void BtnConfirm_Click(object sender, RoutedEventArgs e)
{
User activeUser = DB.GetUserFromMysqlWhere($"userID = {Active.UserID}");
User confirmPwd = DB.GetUserFromMysqlWhere($"userPassword = MD5('{pwdCurrentPassword.Password}')");
User activeUser = DB.GetUserFromMysqlWhere($"userID = {Active.UserID}"); //LUODAAN AKTIIVIKÄYTTÄJÄSTÄ OLIO
User confirmPwd = DB.GetUserFromMysqlWhere($"userPassword = MD5('{pwdCurrentPassword.Password}')"); //HAETAAN KYTTÄJÄ, JONKA SALASANA VASTAA CURRENT PASSWORD KENTÄN SISÄLTÖÄ
List<string> attributes = new List<string>();
List<string> attributes = new List<string>(); //LUODAAN SQL QUERRY:N LUONTIA VARTEN APULISTA
string emailFormat = @"^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$";
string emailFormat = @"^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"; //S-POSTI MUOTOSTRINGI
try
{
//TARKISTETAAN ETTÄ KAIKKI KENTÄT ON OIKEIN TÄYTETTY
if (!string.IsNullOrEmpty(txtNewEmail.Text) && !Regex.IsMatch(txtNewEmail.Text, emailFormat))
{
txbNewError.Text = "Enter a valid email.";
......@@ -99,83 +100,83 @@ namespace iTool
string address = txtNewAddress.Text;
string location = null;
string payment = null;
if (cbNewLocation.SelectedValue != null)
if (cbNewLocation.SelectedValue != null) //JOS UUSI SIJAINTI ON VALITTU
{
location = cbNewLocation.SelectedValue.ToString();
}
if (cbNewPayment.SelectedValue != null)
if (cbNewPayment.SelectedValue != null) //JOS UUSI MAKSUTAPA ON VALITTU
{
payment = cbNewPayment.SelectedValue.ToString();
}
bool newPassword = false;
if (!string.IsNullOrEmpty(email))
if (!string.IsNullOrEmpty(email)) //JOS UUSI S-POSTI ON MÄÄRITETTY
{
attributes.Add($" userEmail = '{email}',");
message = message + " e-mail,";
attributes.Add($" userEmail = '{email}',"); //LISÄTÄÄN LISTALLE
message = message + " e-mail,"; //RAKENNETAAN VIESTI
}
if (!string.IsNullOrEmpty(password))
if (!string.IsNullOrEmpty(password)) //JOS UUSI SALASANA ON MÄÄRITETTY
{
attributes.Add($" userPassword = MD5('{password}'),");
newPassword = true;
attributes.Add($" userPassword = MD5('{password}'),"); //LISÄTÄÄN LISTALLE
newPassword = true; //RAKENNETAAN VIESTI
}
if (!string.IsNullOrEmpty(mobile))
if (!string.IsNullOrEmpty(mobile)) //JOS UUSI PUHNRO ON MÄÄRITETTY
{
attributes.Add($" userMobile = '{mobile}',");
message = message + " mobile,";
attributes.Add($" userMobile = '{mobile}',"); //LISÄTÄÄN LISTALLE
message = message + " mobile,"; //RAKENNETAAN VIESTI
}
if (!string.IsNullOrEmpty(address))
if (!string.IsNullOrEmpty(address)) //JOS UUSI OSOITE MÄÄRITETTY
{
attributes.Add($" userAddress = '{address}',");
message = message + " address,";
attributes.Add($" userAddress = '{address}',"); //LISÄTÄÄN LISTALLE
message = message + " address,"; //RAKENNETAAN VIESTI
}
if (!string.IsNullOrEmpty(location))
{
attributes.Add($" userLocation = '{location}',");
message = message + " location,";
attributes.Add($" userLocation = '{location}',"); //LISÄTÄÄN LISTALLE
message = message + " location,"; //RAKENNETAAN VIESTI
}
if (!string.IsNullOrEmpty(payment))
{
attributes.Add($" paymentMethod = '{payment}',");
message = message + " payment,";
attributes.Add($" paymentMethod = '{payment}',"); //LISÄTÄÄN LISTALLE
message = message + " payment,"; //RAKENNETAAN VIESTI
}
if (!string.IsNullOrEmpty(Active.imgFile))
if (!string.IsNullOrEmpty(Active.imgFile)) //JOS UUSI PROFIILIKUVA ON VALITTU
{
attributes.Add($" userPicture = '{Active.imgFile}',");
message = message + " profile image,";
attributes.Add($" userPicture = '{Active.imgFile}',"); //LISÄTÄÄN LISTALLE
message = message + " profile image,"; //RAKENNETAAN VIESTI
}
foreach (string item in attributes)
foreach (string item in attributes) //REKENNETAAN SQL QUERRY STRINGI
{
sql = sql + item;
}
message = message.Remove(message.Length - 1, 1);
message = message.Remove(message.Length - 1, 1); //POSTETAAN VIIMEINEN PILKKU VIESTISTÄ
sql = sql.Remove(sql.Length - 1, 1);
sql = sql.Remove(sql.Length - 1, 1); //POISTETAAN VIIMEINEN PILKKU SQL QUERRYSTÄ
var result = MessageBox.Show($"Do you really want to update {message}?", "iTool: Update Profile", MessageBoxButton.YesNo);
var result = MessageBox.Show($"Do you really want to update {message}?", "iTool: Update Profile", MessageBoxButton.YesNo); //YES/NO VARMISTUSIKKUNA
if (result == MessageBoxResult.Yes)
if (result == MessageBoxResult.Yes) //JOS ON VALITTU 'YES' VARMISTUSIKKUNASSA
{
DB.UpdateUserToMysql(sql);
DB.UpdateUserToMysql(sql); //PÄIVITETÄÄN KÄYTTÄJÄN TIEDOT TIETOKANNASSA
if (!string.IsNullOrEmpty(Active.imgFile))
if (!string.IsNullOrEmpty(Active.imgFile)) //JOS UUSI KUVA ON VALITTU, KOPIOIDAAN UUSI KUVATIEDOSTO 'images' KANSIOON
{
System.IO.File.Copy(Active.dirPath, Active.relativePath, true);
File.SetAttributes(Active.relativePath, FileAttributes.Normal);
Active.ImageSource = new BitmapImage(new Uri($"{Active.ProjectPath}/images/{Active.imgFile}"));
Active.ImageSource = new BitmapImage(new Uri($"{Active.ProjectPath}/images/{Active.imgFile}")); //VAIHDETAAN AKTIIVIKÄYTTÄJÄN AKTIIVIKUVA
}
if (newPassword)
if (newPassword) //JOS SALASANA ON VAIHDETTU, KIRJAUDUTAAN ULOS
{
Active.main = new MainWindow();
Active.main.txbMainError.Text = "You have changed your password \nLog in using your new password";
......@@ -185,7 +186,7 @@ namespace iTool
}
Active.profile.imgUserProfile.Source = Active.ImageSource;
Active.profile.txbMessagesProfile.Text = message;
Active.profile.txbMessagesProfile.Text = message; //ESITETÄÄN VIESTI KÄYTTÄJÄLLE
this.Close();
}
}
......
......@@ -16,7 +16,7 @@ namespace iTool
public static class Active
{
#region PROPERTIES
public static string ProjectPath { get { return Directory.GetParent(Environment.CurrentDirectory).Parent.FullName; } }
public static string ProjectPath { get { return Directory.GetParent(Environment.CurrentDirectory).Parent.FullName; } } //PROJEKTIPOLKU
public static string FirstName { get; set; }
public static string LastName { get; set; }
public static string ImagePath { get; set; }
......@@ -52,44 +52,47 @@ namespace iTool
public static void BrowseImage(Image imgProfile, TextBox txtPic)
{
//KUVATIEDOSTON SELAAMINEN
try
{
string path;
OpenFileDialog dlg = new OpenFileDialog();
dlg.Title = "Select a profile picture";
dlg.InitialDirectory = "c:\\";
dlg.Filter = "All supported graphics |*.jpg;*.jpeg;*.png|All files (*.*)|*.*";
dlg.Title = "Select a profile picture"; //DIALOGIN OTSIKKO
dlg.InitialDirectory = "c:\\"; //DIALOG AUKEE C LEVYLTÄ
dlg.Filter = "All supported graphics |*.jpg;*.jpeg;*.png|All files (*.*)|*.*"; //TUETUJEN TIEDOSTOMUOTOJEN SUODATUS
dlg.RestoreDirectory = true;
Nullable<bool> result = dlg.ShowDialog(); // näyttää dialogin
if (result == true)
if (result == true) //JOS KUVA ON VALITTU
{
txtPic.Text = dlg.FileName;
}
if (string.IsNullOrEmpty(txtPic.Text))
if (string.IsNullOrEmpty(txtPic.Text)) //JOS KUVAA EI VALITTU
{
dlg.FileName = "images/no_picture.png";
}
imgProfile.Stretch = Stretch.Fill;
Uri u = new Uri(dlg.FileName, UriKind.RelativeOrAbsolute);
imgProfile.Source = new BitmapImage(new Uri(dlg.FileName, UriKind.RelativeOrAbsolute));
string i = imgProfile.Source.ToString().Split('/')[imgProfile.Source.ToString().Split('/').Length - 1];
imgProfile.Source = new BitmapImage(new Uri(dlg.FileName, UriKind.RelativeOrAbsolute)); //NÄYTETÄÄN VALITTU KUVA
string i = imgProfile.Source.ToString().Split('/')[imgProfile.Source.ToString().Split('/').Length - 1]; //POIMITAAN KUVATIEDOSTON NIMI
//path = $@"F:\iTool\iTool\iTool\images\{i}";
//path = $@"images\{i}";
path = $"{ProjectPath}\\images\\{i}";
if (File.Exists(path))
//TARKISTETAAN ONKO SAMANNIMINEN KUVATIEDOSTON ON JO OLEMASSA 'IMAGES' KANSIOSSA
path = $"{ProjectPath}\\images\\{i}"; //POLKU KUVATIEDOSTOON
if (File.Exists(path)) //JOS ON OLEMASSA
{
int x = 0;
for (; File.Exists(path);)
for (; File.Exists(path);) //KÄYDÄÄN NIIN KAUAN KUN KUVATIEDOSTO ON OLEMASSA
{
path = $@"images\{x}{i}";
path = $@"images\{x}{i}"; //LISÄTÄÄN KUVATIEDOSTON NIMEN ALKUUN NUMERO (X)
//path = $@"F:\iTool\iTool\iTool\images\{x}{i}";
imgFile = $"{x}{i}";
x++;
}
}
else
else //JOS KUVATIEDOSTOA EI OLE OLEMASSA, POIMITAAN KUVATIEDOSTON NIMI
{
imgFile = path.Split('\\')[path.Split('\\').Length - 1];
}
......@@ -105,7 +108,7 @@ namespace iTool
throw;
}
}
}
#endregion
}
}
......@@ -76,6 +76,7 @@ namespace iTool
private void GoToProfile()
{
//AVATAAN PROFIILI-IKKUNA
Active.profile = new ProfileWindow();
Active.profile.Show();
this.Close();
......@@ -83,39 +84,48 @@ namespace iTool
private void Filters()
{
if (cbCityFilter.SelectedValue != null && cbToolCategory.SelectedValue != null)
//SUODATTIMIEN TOIMINNALLISUUS
try
{
string location = cbCityFilter.SelectedValue.ToString();
string category = cbToolCategory.SelectedValue.ToString();
if (category == "All categories" && location == "All cities")
{
dgTools.ItemsSource = tools;
txbMessages.Text = "Here you can see all tools that are available for rent. Use filters or the search bar to find a tool for you.";
}
else if (category != "All categories" && location != "All cities")
{
dgTools.ItemsSource = tools.Where(t => t.ToolCategoryName.Contains(category) && t.ToolLocation.Contains(location));
txbMessages.Text = $"Here you can see tools, filtered by location: {cbCityFilter.SelectedValue.ToString()} and category: {cbToolCategory.SelectedValue.ToString()}.";
}
else if (location == "All cities" && cbToolCategory.SelectedValue.ToString() != "All categories")
{
dgTools.ItemsSource = tools.Where(t => t.ToolCategoryName.Contains(category));
txbMessages.Text = $"Here you can see tools, filtered by category: {cbToolCategory.SelectedValue.ToString()}.";
}
else
if (cbCityFilter.SelectedValue != null && cbToolCategory.SelectedValue != null) //SUODATTIMISSA ON OLETUKSENA VALITTU VALUE[0], JOKA ON 'All categories' JA 'All cities'
{
dgTools.ItemsSource = tools.Where(t => t.ToolLocation.Contains(location));
txbMessages.Text = $"Here you can see tools, filtered by location: {cbCityFilter.SelectedValue.ToString()}.";
string location = cbCityFilter.SelectedValue.ToString();
string category = cbToolCategory.SelectedValue.ToString();
if (category == "All categories" && location == "All cities") //JOS SUOATTIMISSA EI OLE EHTOJA
{
dgTools.ItemsSource = tools;
txbMessages.Text = "Here you can see all tools that are available for rent. Use filters or the search bar to find a tool for you.";
}
else if (category != "All categories" && location != "All cities") //JOS MOLEMMISSA SUODATTIMISSA ON VALITTU JOTAIN
{
dgTools.ItemsSource = tools.Where(t => t.ToolCategoryName.Contains(category) && t.ToolLocation.Contains(location));
txbMessages.Text = $"Here you can see tools, filtered by location: {cbCityFilter.SelectedValue.ToString()} and category: {cbToolCategory.SelectedValue.ToString()}.";
}
else if (location == "All cities" && cbToolCategory.SelectedValue.ToString() != "All categories") //JOS KATEGORIA SUODATTIMESSA ON VALITTU JOTAIN
{
dgTools.ItemsSource = tools.Where(t => t.ToolCategoryName.Contains(category));
txbMessages.Text = $"Here you can see tools, filtered by category: {cbToolCategory.SelectedValue.ToString()}.";
}
else //JOS KAUPUNKI SUODATTIMESSA ON VALITTU JOTAIN
{
dgTools.ItemsSource = tools.Where(t => t.ToolLocation.Contains(location));
txbMessages.Text = $"Here you can see tools, filtered by location: {cbCityFilter.SelectedValue.ToString()}.";
}
}
}
catch
{
throw;
}
}
private void ShowPicture(string imageFile)
{
//NÄYTETÄÄN VALITUN TYÖKALUN KUVA
try
{
if (string.IsNullOrEmpty(imageFile) || !File.Exists(imageFile))
if (string.IsNullOrEmpty(imageFile) || !File.Exists(imageFile)) //JOS TYÖKALULLA EI OLE KUVAA
{
imageFile = "no_picture_tool.png";
}
......@@ -133,12 +143,13 @@ namespace iTool
#region EVENTHANDLERS
private void DgTools_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
//HAETAAN TYÖKALUN TIEDOT DATAGRIDIN VALINNAN PERUSTEELLA
Object selected = dgTools.SelectedItem;
if(selected != null)
{
try
{
Tool tool = (Tool)selected;
Tool tool = (Tool)selected; //CASTATAAN DATAGRIDVALINNASTA TYÖKALUOLIO
ShowPicture(tool.ToolPictureURL);
txbToolName.Text = tool.ToolName;
toolName = tool.ToolName;
......@@ -150,7 +161,7 @@ namespace iTool
Active.ToolID = tool.ToolID;
Active.OwnerID = tool.UserOwnerID;
User user = DB.GetToolOwnerFromMysql(tool.UserOwnerID);
User user = DB.GetToolOwnerFromMysql(tool.UserOwnerID); //HAETAAN TIETOKANNASTA TYÖKALUN OMISTAJAN TIEDOT
txbOwner.Text = user.FirstName + " " + user.LastName;
txbNumber.Text = user.Mobile;
......@@ -189,11 +200,13 @@ namespace iTool
private void ImgMainPageProfile_MouseDown(object sender, MouseButtonEventArgs e)
{
//PROFIILIKUVAA KLIKKAAMALLA PÄÄSEE PROFIILI-IKKUNAAN
GoToProfile();
}
private void TxtDays_TextChanged(object sender, TextChangedEventArgs e)
{
//LASKETAAN TRANSAKTION KOKONAISHINNAN DYNAAMISESTI SYÖTTÄMÄLLÄ PÄIVIEN MÄÄRÄN
try
{
if (!int.TryParse(txtDays.Text, out int num) && !string.IsNullOrEmpty(txtDays.Text))
......@@ -221,36 +234,35 @@ namespace iTool
private void Button_Click(object sender, RoutedEventArgs e)
{
//VUOKRATAAN TYÖKALUN PAINAMALLA 'Rent' BUTTONIA
try
{
if (!string.IsNullOrEmpty(txtDays.Text) && int.TryParse(txtDays.Text, out int num))
if (!string.IsNullOrEmpty(txtDays.Text) && int.TryParse(txtDays.Text, out int num)) //TARKISTETAAN ETTÄ PÄIVIEN MÄÄRÄ ON SYÖTETTY OIKEIN
{
var result = MessageBox.Show($"Do you really want to rent {toolName} for {txtDays.Text} and {txbTotalPrice.Text}?", "iTool: Rent a Tool", MessageBoxButton.YesNo);
var result = MessageBox.Show($"Do you really want to rent {toolName} for {txtDays.Text} and {txbTotalPrice.Text}?", "iTool: Rent a Tool", MessageBoxButton.YesNo); //YES/NO VARMISTUSIKKUNA
if (result == MessageBoxResult.Yes)
if (result == MessageBoxResult.Yes) //JOS ON VASTATTU 'YES'
{
DateTime dateTime = DateTime.Now;
DateTime addDays = dateTime.AddDays(int.Parse(txtDays.Text));
string startDate = dateTime.ToString("yyyy'-'MM'-'dd' 'HH':'mm':'ss");
string plannedEndDate = addDays.ToString("yyyy'-'MM'-'dd' 'HH':'mm':'ss");
DB.AddTransactionToMysql(startDate, plannedEndDate, Active.OwnerID, Active.UserID, Active.ToolID);
tools = DB.GetToolsFromMysql();
dgTools.ItemsSource = tools;
txbMessages