/// <summary> /// järjestelee listan toimipisteen mukaan /// </summary> /// <param name="Decending">Onko käänteinen järjestys? default=false</param> public static void OrderByOffice(bool Decending = false) { try { List <Service> ordered = new List <Service>(); if (!Decending) { ordered = serviceList.OrderBy(s => s.OfficeId).ToList(); } else { ordered = serviceList.OrderBy(s => s.OfficeId).ToList(); } if (ordered != null) { serviceList = new List <Service>(); foreach (Service s in ordered) { serviceList.Add(s); } } } catch (Exception ex) { ErrorUtils.AddErrorMessage(ex.Message); } }
/// <summary> /// Järjestelee listan nimen mukaan /// </summary> /// <param name="Decending">Onko käänteinen järjestys? default=false</param> public static void OrderByName(bool Decending = false) { try { List <Office> ordered = new List <Office>(); if (!Decending) { ordered = officeList.OrderBy(o => o.Name).ToList(); } else { ordered = officeList.OrderBy(o => o.Name).ToList(); } if (ordered != null) { officeList = new List <Office>(); foreach (Office o in ordered) { officeList.Add(o); } } } catch (Exception ex) { ErrorUtils.AddErrorMessage(ex.Message); } }
/// <summary> /// Etsii palvelun listasta ID:n perusteella ja palauttaa identtisen kopion /// </summary> /// <param name="Id"></param> /// <returns></returns> public static Service GetService(int Id) { try { Service ret = new Service("", 0, "", 0, 0, 0); foreach (Service s in serviceList) { if (s.Id == Id) { ret.Name = s.Name; ret.Description = s.Description; ret.Id = s.Id; ret.OfficeId = s.OfficeId; ret.Price = s.Price; ret.Tax = s.Tax; ret.Type = s.Type; break; } } return(ret); } catch (Exception ex) { ErrorUtils.AddErrorMessage(ex.Message); return(null); } }
public static void EditService(string Name, double Price, string Description, double Tax, int Type, int OfficeId, int Id) { if (Id > 0) { try { Service snew = new Service(Name, Price, Description, Tax, Type, OfficeId); int i = 0; foreach (Service s in serviceList) { if (s.Id == Id) { serviceList.RemoveAt(i); snew.Id = Id; serviceList.Add(snew); } i++; } } catch (Exception ex) { ErrorUtils.AddErrorMessage(ex.Message); } } else { ErrorUtils.AddErrorMessage("Palvelua muokatessa tapahtui virhe: palveluId on pienempi kuin 1"); } }
private void btnPalvelutAdd_Click(object sender, EventArgs e) { try { Service s = new Service(tbPalvelutName.Text, double.Parse(tbPalvelutPrice.Text), tbPalvelutDescription.Text, double.Parse(tbPalvelutAlv.Text), int.Parse(tbPalvelutType.Text), 1); ServiceUtils.AddService(s); } catch (Exception ex) { ErrorUtils.AddErrorMessage(ex.Message); } }
private void btnToimiAdd_Click(object sender, EventArgs e) { try { Office o = new Office(tbToimiName.Text, tbToimiZip.Text, tbToimiCity.Text, tbToimiStreetAdress.Text, tbToimiEmail.Text, tbToimiPhone.Text); OfficeUtils.AddOffice(o); } catch (Exception ex) { ErrorUtils.AddErrorMessage(ex.Message); } }
/// <summary> /// poistaa palvelun listasta ID:n perusteella /// </summary> /// <param name="Id"></param> public static void RemoveService(int Id) { try { int i = serviceList.FindIndex(s => s.Id == Id); serviceList.RemoveAt(i); } catch (Exception ex) { ErrorUtils.AddErrorMessage("Palvelun poisto ei onnistunut. -- " + ex.Message); } }
public static User FindUser(string Username) { try { User ret = users.Find(u => u.Username == Username); return(ret); } catch (Exception ex) { ErrorUtils.AddErrorMessage("Kirjautuvaa käyttäjää etsiessä tapahtui virhe. -- " + ex.Message); return(null); } }
/// <summary> /// Poistaa toimipisteen tunnistamalla ID:n /// </summary> /// <param name="Id"></param> public static void RemoveOffice(int Id) { try { OrderById(); int i = officeList.FindIndex(o => o.Id == Id); officeList.RemoveAt(i); } catch (Exception ex) { ErrorUtils.AddErrorMessage("Toimipisteen poisto ei onnistunut. -- " + ex.Message); } }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); try { Application.Run(new FrmMain()); } catch { ErrorUtils.AddErrorMessage("Jokin meni pahasti pieleen, ohjelma ei toiminut."); } ErrorUtils.WriteToFile(); //Kirjoittaa kaikki virheet tiedostoon }
private static List <User> users; //Tietokannasta tuotu lista käyttäjiä /// <summary> /// Tuo käyttäjälistan.s /// </summary> /// <param name="userlist"></param> public static void SetUserlist(List <User> userlist) { users = new List <User>(); try { foreach (User u in userlist) { users.Add(u); } } catch { ErrorUtils.AddErrorMessage("Käyttäjälistan tuonti epäonnistui."); } }
/// <summary> /// Muokkaa valittua käyttäjää. /// </summary> /// <param name="userToEdit"></param> /// <param name="confirm"></param> /// <param name="adminNew"></param> /// <param name="usernameNew"></param> /// <param name="passwordNew"></param> public static void EditUser(User userToEdit, bool confirm, bool adminNew, string usernameNew, string passwordNew) { bool loggedNow = false; try { if (userToEdit == LoggedUser) { loggedNow = true; } if ((loggedNow || LoggedUser.Admin) && confirm) { //Vain admin voi muuttaa vain muiden admin-statusta if (LoggedUser.Admin && !loggedNow) { userToEdit.Admin = adminNew; } else if (LoggedUser.Admin && loggedNow) { ErrorUtils.AddErrorMessage("Et voi muuttaa omaa admin-statustasi."); } else if (!LoggedUser.Admin) { ErrorUtils.AddErrorMessage("Sinulla ei ole oikeutta muuttaa admin-statuksia."); } //Vain admin voi muuttaa käyttäjänimeä if (LoggedUser.Admin) { userToEdit.Username = usernameNew; } else if (!LoggedUser.Admin && usernameNew != userToEdit.Username) { ErrorUtils.AddErrorMessage("Sinulla ei ole oikeuksia muuttaa käyttäjänimeä."); } //Suola ja hash vaihtuu vain jos muokkaa omaa salasanaa ja salasana on muuttunut. if (userToEdit == LoggedUser && !PasswordMatch(passwordNew, LoggedUser)) { userToEdit.Salt = GetSalt(); userToEdit.Hash = GetHash(passwordNew + userToEdit.Salt); } if (loggedNow) { LoggedUser = userToEdit; } } } catch { ErrorUtils.AddErrorMessage("Käyttäjän muokkaus epäonnistui."); } }
/// <summary> /// Vie käyttäjälistan. /// </summary> /// <returns></returns> public static List <User> GetUserlist() { List <User> ret = new List <User>(); try { foreach (User u in users) { ret.Add(u); } } catch { ErrorUtils.AddErrorMessage("Käyttäjälistan vienti epäonnistui."); } return(ret); }
/// <summary> /// Admin poistaa käyttäjän listasta. Vaatii vahvistuksen. /// </summary> /// <param name="userToDelete"></param> /// <param name="confirm">Vahvistus poistoon, default=false</param> public static void DeleteUser(User userToDelete, bool confirm) { if (LoggedUser.Admin && confirm && userToDelete != LoggedUser) { users.Remove(userToDelete); } else if (!LoggedUser.Admin) { ErrorUtils.AddErrorMessage("Sinulla ei ole oikeuksia tähän."); } else if (userToDelete == LoggedUser) { ErrorUtils.AddErrorMessage("Et voi poistaa omaa käyttäjää."); } }
/// <summary> /// Lukee toimipisteet tietokannasta /// </summary> /// <param name="OfficeList"></param> public static void SetOffices(List <Office> OfficeList) { try { officeList = new List <Office>(); if (OfficeList != null) { foreach (Office o in OfficeList) { officeList.Add(o); } } } catch (Exception ex) { ErrorUtils.AddErrorMessage(ex.Message); } }
/// <summary> /// Lukee palvelut tietokannasta /// </summary> /// <param name="OfficeList"></param> public static void SetServices(List <Service> ServiceList) { try { serviceList = new List <Service>(); if (ServiceList != null) { foreach (Service s in ServiceList) { serviceList.Add(s); } } } catch (Exception ex) { ErrorUtils.AddErrorMessage(ex.Message); } }
//OK-napin click private void btnOk_Click(object sender, EventArgs e) { try { if (UserUtils.LegitPassword(tbPassword.Text) && UserUtils.UserFound(tbUsername.Text, true)) { UserUtils.CreateUser(tbUsername.Text, tbPassword.Text, cbAdmin.Checked); lblHash.Text = UserUtils.LoggedUser.Hash; lblSalt.Text = UserUtils.LoggedUser.Salt; } } catch (Exception ex) { ErrorUtils.AddErrorMessage("Käyttäjän luominen epäonnistui."); ErrorUtils.AddErrorMessage(ex.Message); throw ex; } }
/// <summary> /// Tarkistaa onko salasana käypä. /// </summary> /// <param name="password"></param> /// <returns></returns> public static bool LegitPassword(string password) { bool ret = true; if (password.Length < 8) { ret = false; } else if (password.Contains(' ')) { ret = false; } if (!ret) { ErrorUtils.AddErrorMessage("Salasanan pitää olla vähintään 8 merkkiä pitkä, sekä ei saa sisältää välilyöntejä."); } return(ret); }
public Service(string Name, double Price, string Description, double Tax, int Type, int OfficeId) { try { if (Name != "" || Name != null || Price >= 0 || Description != "" || Description != null || Tax >= 0 || Type > 0 || OfficeId > 0) { this.Name = Name; this.Price = Price; this.Description = Description; this.Tax = Tax; this.Type = Type; this.OfficeId = OfficeId; Id = ServiceUtils.GetId(); } } catch (Exception ex) { ErrorUtils.AddErrorMessage(ex.Message); } }
/// <summary> /// Tarkistaa salasanan listasta. /// </summary> /// <param name="password"></param> /// <param name="user"></param> /// <param name="login">Laita arvoksi true, jos kyseessä on sisäänkirjautuminen. Default=false</param> /// <returns></returns> public static bool PasswordMatch(string password, User user, bool login = false) { bool ret = false; string hash = GetHash(password + user.Salt); if (hash == user.Hash) { ret = true; } else { ErrorUtils.AddErrorMessage("Salasana on väärin."); } if (ret && login) { LoggedUser = user; } return(ret); }
/// <summary> /// Luo automaattisen, uniikin ID:n /// </summary> /// <returns></returns> public static int GetId() { try { int id = 1; List <int> idlist = new List <int>(); foreach (Office o in officeList) { idlist.Add(o.Id); } while (idlist.Contains(id)) { id++; } return(id); } catch (Exception ex) { ErrorUtils.AddErrorMessage(ex.Message); return(-1); } }
private void refreshCmbOffice() { try { List <Office> offices = OfficeUtils.GetOffices(); List <string> names = new List <string>(); foreach (Office o in offices) { names.Add(o.Name); } cmbOffice.DataSource = names; } catch (Exception ex) { ErrorUtils.AddErrorMessage(ex.Message); //placeholder List <string> names = new List <string>(); names.Add("Kuopio"); names.Add("Joensuu"); names.Add("Varkaus"); cmbOffice.DataSource = names; } }
/// <summary> /// Muokkaa toimipistettä. /// </summary> /// <param name="Zip">!null</param> /// <param name="City">!null</param> /// <param name="StreetAddress">!null</param> /// <param name="Description"></param> /// <param name="Email"></param> /// <param name="Phone"></param> /// <param name="Id">!null, > 0</param> public static void EditOffice(string Name, string Zip, string City, string StreetAddress, string Email, string Phone, int Id) { try { if (!(Name == "" || Name == null || Zip == "" || City == "" || StreetAddress == "" || Zip == null || City == null || StreetAddress == null || Id < 1)) { Office o = new Office(Name, Zip, City, StreetAddress, Email, Phone); int i = 0; foreach (Office off in officeList) { if (off.Id == Id) { officeList.RemoveAt(i); o.Id = Id; officeList.Add(o); } i++; } } } catch (Exception ex) { ErrorUtils.AddErrorMessage(ex.Message); } }
/// <summary> /// Hakee tietyn toimipisteen ID:n perusteella tulostusta tms varten /// </summary> /// <param name="Id"></param> /// <returns></returns> public static Office GetOffice(int Id) { try { Office ret = new Office("", "", "", "", "", ""); foreach (Office o in officeList) { if (o.Id == Id) { ret.PostalArea = o.PostalArea; ret.Email = o.Email; ret.Id = o.Id; ret.Phone = o.Phone; ret.StreetAddress = o.StreetAddress; ret.Zip = o.Zip; break; } } return(ret); } catch (Exception ex) { ErrorUtils.AddErrorMessage(ex.Message); return(null); } }
/// <summary> /// Etsii käyttäjänimen listasta (kirjainten koolla ei merkitystä) /// </summary> /// <param name="username"></param> /// <param name="uniquecheck">Tarkistetaanko uniikkiutta, jos true, käyttäjänimen löytyessä virheilmoitus.</param> /// <returns></returns> public static bool UserFound(string username, bool uniquecheck) { List <string> usernames = new List <string>(); //placeholder, lista pitää lukea tietokannasta!!! bool ret = false; try { foreach (string s in usernames) { if (username.ToLower() == s.ToLower()) { ret = true; } } } catch { ErrorUtils.AddErrorMessage("Käyttäjänimen etsiminen epäonnistui."); ret = false; } if (ret && uniquecheck) { ErrorUtils.AddErrorMessage("Käyttäjänimi on jo käytössä."); } return(ret); }