示例#1
0
 /// <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);
     }
 }
示例#2
0
 /// <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);
     }
 }
示例#3
0
 /// <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);
     }
 }
示例#4
0
 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");
     }
 }
示例#5
0
 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);
     }
 }
示例#6
0
 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);
     }
 }
示例#7
0
 /// <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);
     }
 }
示例#8
0
 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);
     }
 }
示例#9
0
 /// <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);
     }
 }
示例#10
0
 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
 }
示例#11
0
        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.");
            }
        }
示例#12
0
        /// <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.");
            }
        }
示例#13
0
        /// <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);
        }
示例#14
0
 /// <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ää.");
     }
 }
示例#15
0
 /// <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);
     }
 }
示例#16
0
 /// <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);
     }
 }
示例#17
0
 //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;
     }
 }
示例#18
0
        /// <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);
        }
示例#19
0
文件: Service.cs 项目: Perttuu/mokki
 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);
     }
 }
示例#20
0
        /// <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);
        }
示例#21
0
 /// <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);
     }
 }
示例#22
0
        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;
            }
        }
示例#23
0
 /// <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);
     }
 }
示例#24
0
 /// <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);
     }
 }
示例#25
0
        /// <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);
        }