コード例 #1
0
        private List <Harjoitus> LueTiedosto()
        {
            // tarkistetaan, onko tiedoston data jo aiemmin luettu
            if (Harjoitukset.Count > 0)
            {
                return(Harjoitukset);
            }

            string[] lines = System.IO.File.ReadAllLines("wwwroot/filut/straakadata.txt");

            //luetaan data tiedostosta riveittäin
            List <Harjoitus> harjoitukset = new List <Harjoitus>();

            foreach (string line in lines)
            {
                Harjoitus h = new Harjoitus();
                // etsitään tiedoston riviltä pilkku, jonka mukaan tekstijonosta voi lukea indeksillä eteen- ja taaksepäin
                int index1 = line.IndexOf(',');
                //luetaan harjotuksen nimi
                h.Nimi = line.Substring(0, index1 - 6).Trim();
                //luetaan päivämäärä
                string pvm   = line.Substring(index1 - 6, 6).Trim();
                string vuosi = line.Substring(index1 + 2, 4);
                h.Vuosi   = vuosi;
                h.Päiväys = (pvm + " " + vuosi);
                //luetaan harjoituksen kestoaika
                h.Kesto = TimeSpan.Parse(line.Substring(index1 + 6, 8));
                //luetaan harjoituksen pituus kilometreinä ja muutetaan desimaaliseksi
                string      pituus = line.Substring(index1 + 14, 5).Trim();
                CultureInfo cul    = new CultureInfo("en-US");
                h.Matka = Convert.ToDecimal(pituus, cul);
                //luetaan harjoituksen keskinopeus ja muutetaan desimaaliseksi
                string väli  = line.Substring(index1 + 18, 1);
                string keski = "";
                //tarkistus: Jos matka on ollut alle 10 km, niin merkkijonossa 1 merkki vähemmän
                if (väli == " ")
                {
                    keski = line.Substring(index1 + 21, 4).Trim();
                }
                else
                {
                    keski = line.Substring(index1 + 22, 4).Trim();
                }

                h.Keskinopeus = Convert.ToDecimal(keski, cul);

                harjoitukset.Add(h);
            }

            // tallennetaan tiedot myöhempää käyttöä varten
            Harjoitukset = harjoitukset;

            return(harjoitukset);
        }
コード例 #2
0
        public string Put(string id, [FromBody] Harjoitus tieto)
        {
            String commandText;

            commandText = "dbo.UpdateHarjoitus";

            SqlParameter par1  = new SqlParameter("@Aika", tieto.Aika);
            SqlParameter par2  = new SqlParameter("@Cus", tieto.Cus);
            SqlParameter par3  = new SqlParameter("@HevosId", tieto.HevosId);
            SqlParameter par4  = new SqlParameter("@Toiminto", tieto.Toiminto);
            SqlParameter par5  = new SqlParameter("@Sarjat", tieto.Sarjat);
            SqlParameter par6  = new SqlParameter("@Toistot", tieto.Toistot);
            SqlParameter par7  = new SqlParameter("@Teho", tieto.Teho);
            SqlParameter par8  = new SqlParameter("@Matka", tieto.Matka);
            SqlParameter par9  = new SqlParameter("@Toistovali", tieto.Toistovali);
            SqlParameter par10 = new SqlParameter("@Sarjavali", tieto.Sarjavali);
            SqlParameter par11 = new SqlParameter("@Paikka", tieto.Paikka);
            SqlParameter par12 = new SqlParameter("@Kustannus", tieto.Kustannus);
            SqlParameter par13 = new SqlParameter("@Selvennys", tieto.Selvennys);

            SqlParameter[] pars = new SqlParameter[]
            {
                par1, par2, par3, par4, par5, par6, par7, par8, par9, par10, par11, par12, par13
            };

            using (SqlConnection conn = new SqlConnection(DbCon.connectionString))
            {
                using (SqlCommand cmd = new SqlCommand(commandText, conn))
                {
                    // There're three command types: StoredProcedure, Text, TableDirect. The TableDirect
                    // type is only for OLE DB.
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddRange(pars);
                    try
                    {
                        conn.Open();
                        int stat = cmd.ExecuteNonQuery();
                        return("Muutettu " + stat.ToString() + " rivi");
                    }
                    catch (Exception exception)
                    {
                        return(exception.Message);
                    }
                }
            }
        }
コード例 #3
0
        public Harjoitus[] Get(string id)
        {
            Harjoitus[] res         = new Harjoitus[503];
            int         hepo        = 0;
            String      commandText = "";

            SqlParameter[] pars = new SqlParameter[6];
            int            k    = 1;

            string[] osat  = new string[6];
            string[] osat1 = new string[6];

            osat1 = id.Split(new char[] { '_' }, 2, StringSplitOptions.None);
            if (osat1[0] == "0")
            {
                osat        = osat1[1].Split(new char[] { '_' }, 2, StringSplitOptions.None);
                commandText = "dbo.SelectKaikkiHarjoitus";
                SqlParameter par1 = new SqlParameter("@Cus", osat[0]);
                pars = new SqlParameter[]
                {
                    par1
                };
            }
            if (osat1[0] == "1")
            {
                osat        = osat1[1].Split(new char[] { '_' }, 2, StringSplitOptions.None);
                hepo        = Convert.ToInt32(osat[1]);
                commandText = "dbo.SelectHarjoitus";
                SqlParameter par1 = new SqlParameter("@Cus", osat[0]);
                SqlParameter par2 = new SqlParameter("@HevosId", hepo);
                pars = new SqlParameter[]
                {
                    par1, par2
                };
            }
            else if (osat1[0] == "2")
            {
                osat        = osat1[1].Split(new char[] { '_' }, 5, StringSplitOptions.None);
                hepo        = Convert.ToInt32(osat[1]);
                commandText = "dbo.SelectAikaHarjoitus";
                SqlParameter par1 = new SqlParameter("@Cus", osat[0]);
                SqlParameter par2 = new SqlParameter("@HevosId", hepo);
                SqlParameter par3 = new SqlParameter("@Alku", osat[2]);
                SqlParameter par4 = new SqlParameter("@Loppu", osat[3]);
                pars = new SqlParameter[]
                {
                    par1, par2, par3, par4
                };
            }
            else if (osat1[0] == "3")
            {
                osat        = osat1[1].Split(new char[] { '_' }, 2, StringSplitOptions.None);
                hepo        = Convert.ToInt32(osat[1]);
                commandText = "dbo.SelectLastHarjoitus";
                SqlParameter par1 = new SqlParameter("@Cus", osat[0]);
                SqlParameter par2 = new SqlParameter("@HevosId", hepo);
                pars = new SqlParameter[]
                {
                    par1, par2
                };
            }

            // When the direction of parameter is set as Output, you can get the value after
            // executing the command.

            SqlConnection conn = new SqlConnection(DbCon.connectionString);

            using (SqlCommand cmd = new SqlCommand(commandText, conn))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddRange(pars);

                conn.Open();
                // When using CommandBehavior.CloseConnection, the connection will be closed when the
                // IDataReader is closed.
                SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        Harjoitus tieto = new Harjoitus();
                        tieto.Id         = (int)reader["Id"];
                        tieto.Cus        = (string)reader["Cus"];
                        tieto.Aika       = (DateTime)reader["Aika"];
                        tieto.HevosId    = (int)reader["HevosId"];
                        tieto.Toiminto   = (string)reader["Toiminto"];
                        tieto.Sarjat     = (int)reader["Sarjat"];
                        tieto.Toistot    = (int)reader["Toistot"];
                        tieto.Teho       = (int)reader["Teho"];
                        tieto.Matka      = (int)reader["Matka"];
                        tieto.Toistovali = (int)reader["Toistovali"];
                        tieto.Sarjavali  = (int)reader["Sarjavali"];
                        tieto.Paikka     = (string)reader["Paikka"];
                        tieto.Kustannus  = (double)reader["Kustannus"];
                        tieto.Selvennys  = (string)reader["Selvennys"];
                        tieto.Kesto      = (double)reader["Kesto"];
                        res[k++]         = tieto;
                        if (k == 500)
                        {
                            break;
                        }
                    }
                    Harjoitus pituus = new Harjoitus();
                    pituus.Id         = k - 1;
                    pituus.Cus        = "";
                    pituus.Aika       = DateTime.MinValue;
                    pituus.HevosId    = 0;
                    pituus.Toiminto   = "";
                    pituus.Sarjat     = 0;
                    pituus.Toistot    = 0;
                    pituus.Teho       = 0;
                    pituus.Matka      = 0;
                    pituus.Toistovali = 0;
                    pituus.Sarjavali  = 0;
                    pituus.Paikka     = "";
                    pituus.Kustannus  = 0;
                    pituus.Selvennys  = "";
                    pituus.Kesto      = 0;
                    res[0]            = pituus;
                }
                else
                {
                    Harjoitus tieto = new Harjoitus();
                    tieto.Id = 0;
                    res[0]   = tieto;
                }
                Array.Resize <Harjoitus>(ref res, k + 3);
                return(res);
            }
        }