示例#1
0
        /// <summary>
        /// Metod för att läsa data ifrån text filen, börjar med nyt streamreader och en lista av recept. En while loop som säjer att så länge att
        /// reader är inte vid slutet av textfilen så gör den allt inuti. Börjar med läsar första tre rader. Sen om det finns en bild (behövas inte finnas) så Convertera från
        /// serialized bild.
        /// </summary>
        /// <param name="filename"></param>
        public void readInput(string filename)
        {
            StreamReader  reader       = new StreamReader(filename);
            List <Recept> readRecepies = new List <Recept>();

            while (!reader.EndOfStream)
            {
                string input_name    = reader.ReadLine();
                string input_typeof  = reader.ReadLine();
                string checkpicture  = reader.ReadLine();
                Image  input_picture = null;
                if (checkpicture != "")
                {
                    input_picture = BinaryArrayDeSerialize <Image>(Convert.FromBase64String(checkpicture));
                }
                else
                {
                    input_picture = null;
                }


                string input_beskrivning = reader.ReadLine();

                // Att läsa ingredienser är i sig själv mycket arbete, så skapade en while loop till, så länge done (bool) är inte sant. När row är lika med ¤ så
                //är listan av ingredienser klart annars skapa en array med split i platserna "¤". Sen i plats 1 där jag har en double kör en try parse. Om inte har jag
                //en exception. Sen measurments som är enum, kör en enum parse för plats två och till s**t är plats 3 bara text till text så kör direct med konstuktören och
                //lägga in först tredje plats, sen measureamounnt som var 1 plats och sen andra plats som är measurements
                List <Ingrediens> input_ingredienser = new List <Ingrediens>();
                bool done = false;
                while (!done)
                {
                    string row = reader.ReadLine();
                    if (row == "¤")
                    {
                        done = true;
                    }
                    else
                    {
                        double   measureAmount = 0;
                        string[] splittedRow   = row.Split('¤');
                        if (!double.TryParse(splittedRow[0], out measureAmount))
                        {
                            throw new Exception("Wrong file structure!");
                        }
                        measurements m = (measurements)Enum.Parse(typeof(measurements), splittedRow[1], true);
                        input_ingredienser.Add(new Ingrediens(splittedRow[2], measureAmount, m));
                    }
                }
                //Här är dynamisk bindning, om filen är typ köt så har vi nytt kött annars fisk.
                if (input_typeof == "Kött")
                {
                    readRecepies.Add(new Kött(input_typeof, input_name, input_beskrivning, input_ingredienser, input_picture));
                }
                else if (input_typeof == "Fisk")
                {
                    readRecepies.Add(new Fisk(input_typeof, input_name, input_beskrivning, input_ingredienser, input_picture));
                }
            }
            this.Receptlist = readRecepies;
        }
        public ActionResult DeleteConfirmed(int id)
        {
            measurements measurements = db.measurements.Find(id);

            db.measurements.Remove(measurements);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "id,sender,time,type,value")] measurements measurements)
 {
     if (ModelState.IsValid)
     {
         db.Entry(measurements).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(measurements));
 }
        public ActionResult Create([Bind(Include = "id,sender,time,type,value")] measurements measurements)
        {
            if (ModelState.IsValid)
            {
                db.measurements.Add(measurements);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(measurements));
        }
        // GET: Measurements/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            measurements measurements = db.measurements.Find(id);

            if (measurements == null)
            {
                return(HttpNotFound());
            }
            return(View(measurements));
        }
        public String Store(int id, string temp)
        {
            measurements m = new measurements();

            m.sender = id;
            CultureInfo en = new CultureInfo("en-US");

            m.value = double.Parse(temp, en);
            m.time  = DateTime.Now;
            m.type  = 1;
            db.measurements.Add(m);
            db.SaveChanges();
            return("ok");
        }
 await collector.AddAsync(measurements, cts.Token).ConfigureAwait(false);
示例#8
0
 /// <summary>
 /// Konstruktör som iniseiera de tre variablerna i klassen
 /// </summary>
 /// <param name="name"></param>
 /// <param name="amount"></param>
 /// <param name="mesure"></param>
 public Ingrediens(string name, double amount, measurements mesure)
 {
     m_name   = name;
     m_amount = amount;
     m_mesure = mesure;
 }