public static bool AddMensa(Mensa m)
        {
            try
            {
                if (Mensa.Mensas.Exists(x => x.Name == m.Name))
                {
                    MUtility.ShowError("Menza sa tim nazivom vec postoji");
                    return(false);
                }

                MenzaFullDto mdto = new MenzaFullDto();
                mdto.Naziv          = m.Name;
                mdto.Lokacija       = m.Location;
                mdto.GpsLat         = m.GPSLat;
                mdto.GpsLong        = m.GPSLong;
                mdto.RadnoVreme     = m.WorkTime;
                mdto.VanrednoNeRadi = m.CurrentlyClosed;

                Api.AddNewMensa(mdto);
                Mensa.UpdateMensaList();
                return(true);
            }
            catch (Exception ex)
            {
                MUtility.ShowException(ex);
                return(false);
            }
        }
 public static void PostLoginInit()
 {
     Faculty.UpdateFacultyList();
     Mensa.UpdateMensaList();
     Mensa.LoadPrices();
     MSettings.LoadSettings();
 }
Exemple #3
0
 public void Setup()
 {
     _deserializer = new XmlSerializer(typeof(Mensa));
     Assembly.GetExecutingAssembly().GetManifestResourceNames().ToList().ForEach(l => Console.WriteLine(l));
     using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Mensa_KL.Sync.Tests.Resources.meals.xml"))
     {
         _mensa = _deserializer.Deserialize(stream) as Mensa;
     }
 }
 private void RefreshList()
 {
     if (Mensa.Mensas == null)
     {
         return;
     }
     dgvMensaList.DataSource = Mensa.Mensas;
     newMensa = null;
 }
 public static bool ChangeCurrentMensa(Mensa m)
 {
     if (m == null)
     {
         return(false);
     }
     MSettings.CurrentMensa = m;
     return(true);
 }
Exemple #6
0
        public ActionResult Detail(string id)
        {
            try
            {
                ViewBag.message = TempData["message"].ToString();
                ViewBag.error   = TempData["error"].ToString();
            }
            catch { }
            var    p      = new Produkte();
            double price  = 0.0;
            int    vorrat = 1;
            uint   xid    = Convert.ToUInt32(id);

            using (var MensaContext = new Mensa())
            {
                var query = from be in MensaContext.Mahlzeiten
                            where be.ID == Convert.ToUInt32(id)
                            select be.Vorrat;
                try
                {
                    vorrat = query.Sum();
                }
                catch (Exception e)
                {
                    var x = e.Message;
                }
            }
            try {
                uint t = Convert.ToUInt32(id);
                p = Produkte.GetByID(t);

                if (Session["role"] == null)
                {
                    price = Produkte.GetPrice("Gast", p);
                }
                else
                {
                    Models.Benutzer b = new Models.Benutzer();
                    b     = Models.Benutzer.GetByNutzername(Session["name"].ToString());
                    price = Produkte.GetPrice(Models.Benutzer.Rolle(b), p);
                }
                ViewData["p"]     = p;
                ViewData["price"] = price;
                return(View());
            }catch (Exception ex)
            {
                ViewData["price"] = price;
                ViewData["p"]     = p;
                return(View());
            }
        }
 public static bool DeleteMensa(Mensa m)
 {
     try
     {
         Api.DeleteMensa(m.MensaID);
         Mensa.UpdateMensaList();
         return(true);
     }
     catch (Exception e)
     {
         MUtility.ShowException(e);
         return(false);
     }
 }
        private void btnAdd_Click(object sender, EventArgs e)
        {
            selectedMensa         = null;
            txtMenzaID.Text       = "<NovaMenza>";
            txtName.Text          = "Unesi podatak";
            txtGPS_Lat.Text       = "Unesi podatak";
            txtGPS_Lon.Text       = "Unesi podatak";
            txtLocation.Text      = "Unesi podatak";
            txtWorkTime.Text      = "Unesi podatak";
            cbxNotWorking.Checked = false;

            txtName.Focus();
            txtName.SelectAll();
            newMensa = new Mensa();
        }
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (newMensa != null)
            {
                if (!ValidateInput())
                {
                    MUtility.ShowInformation("Nevalidni podaci. Proverite sva polja!");
                    return;
                }
                newMensa.Name            = txtName.Text;
                newMensa.Location        = txtLocation.Text;
                newMensa.WorkTime        = txtWorkTime.Text;
                newMensa.CurrentlyClosed = cbxNotWorking.Checked;
                newMensa.GPSLat          = double.Parse(txtGPS_Lat.Text);
                newMensa.GPSLong         = double.Parse(txtGPS_Lon.Text);
                MainController.AddMensa(newMensa);
                RefreshList();
                RefreshData();
                newMensa = null;
                return;
            }

            if (selectedMensa == null)
            {
                MUtility.ShowInformation("Odaberi menzu za izmenu");
                return;
            }

            if (!ValidateInput())
            {
                MUtility.ShowInformation("Nevalidni podaci. Proverite sva polja!");
                return;
            }

            selectedMensa.Name            = txtName.Text;
            selectedMensa.CurrentlyClosed = cbxNotWorking.Checked;
            selectedMensa.Location        = txtLocation.Text;
            selectedMensa.GPSLong         = double.Parse(txtGPS_Lon.Text);
            selectedMensa.GPSLat          = double.Parse(txtGPS_Lat.Text);
            selectedMensa.WorkTime        = txtWorkTime.Text;

            MainController.UpdateMensa(selectedMensa);
            RefreshList();
            RefreshData();
        }
        public static bool UpdateMensa(Mensa m)
        {
            try
            {
                MenzaFullDto mdto = new MenzaFullDto();
                mdto.IdMenze        = m.MensaID;
                mdto.GpsLat         = m.GPSLat;
                mdto.GpsLong        = m.GPSLong;
                mdto.Lokacija       = m.Location;
                mdto.RadnoVreme     = m.WorkTime;
                mdto.VanrednoNeRadi = m.CurrentlyClosed;
                mdto.Naziv          = m.Name;

                Api.UpdateMenza(mdto);
                Mensa.UpdateMensaList();
                return(true);
            }
            catch (Exception e)
            {
                MUtility.ShowException(e);
                return(false);
            }
        }
        private void RefreshData()
        {
            if (dgvMensaList.SelectedRows.Count == 0)
            {
                txtMenzaID.Text       = "";
                txtName.Text          = "";
                txtLocation.Text      = "";
                txtWorkTime.Text      = "";
                cbxNotWorking.Checked = false;
                txtGPS_Lat.Text       = "";
                txtGPS_Lon.Text       = "";
                return;
            }

            selectedMensa         = (Mensa)dgvMensaList.SelectedRows[0].DataBoundItem;
            txtMenzaID.Text       = selectedMensa.MensaID.ToString();
            txtName.Text          = selectedMensa.Name;
            txtLocation.Text      = selectedMensa.Location;
            txtWorkTime.Text      = selectedMensa.WorkTime;
            cbxNotWorking.Checked = selectedMensa.CurrentlyClosed;
            txtGPS_Lat.Text       = selectedMensa.GPSLat.ToString();
            txtGPS_Lon.Text       = selectedMensa.GPSLong.ToString();
            newMensa = null;
        }
Exemple #12
0
        public ActionResult Bestellen()
        {
            //
            if (HttpContext.Request.Cookies.Get("dbwt") != null)
            {
                HttpCookie exists = HttpContext.Request.Cookies.Get("dbwt");
                try
                {
                    if (exists.Value != null)
                    {
                        Dictionary <string, Dictionary <int, int> > fromCookie = JsonConvert.DeserializeObject <Dictionary <string, Dictionary <int, int> > >(exists.Value);
                        // cookie-Wert in ein Objekt umwandeln (geben Sie in < > an, in welchen Typ)
                        foreach (var cookie in fromCookie)
                        {
                            using (var MensaContext = new Mensa())
                            {
                                try {
                                    // Attribute für das Model p setzen
                                    // Model für den nächsten Submit mit aufnehmen

                                    // Submit löst SQL Operationen auf der DB aus

                                    //Bestellung einfügen
                                    MensaContext.BeginTransaction();
                                    Models.Benutzer User  = Models.Benutzer.GetByNutzername(cookie.Key);
                                    var             query = from bestmax in MensaContext.Bestellungen
                                                            //where be.Nutzername.Contains("db")
                                                            //select new {Vorname = be.Vorname, Nachname = be.Nachname};
                                                            select bestmax.Nummer;

                                    Bestellungen best = new Bestellungen();
                                    best.Benutzer         = (uint)User.Nummer;
                                    best.Bestellzeitpunkt = DateTime.Now;
                                    best.Abholzeitpunkt   = DateTime.Parse(Request["Abholdate"].ToString());
                                    best.Endpreis         = Convert.ToDouble(Request["Endpreis"].ToString());
                                    best.Nummer           = query.Max() + 1;
                                    MensaContext.Insert <Bestellungen>(best);
                                    //ID bekommen und einfügen
                                    foreach (var mahl in cookie.Value)
                                    {
                                        Mahlzeitenxbestellungen mxb = new Mahlzeitenxbestellungen();
                                        mxb.Anzahl       = Convert.ToUInt32(mahl.Value);
                                        mxb.Mahlzeiten   = (uint?)mahl.Key;
                                        mxb.Bestellungen = best.Nummer;
                                        MensaContext.Insert <Mahlzeitenxbestellungen>(mxb);
                                        //mxb einfügen
                                    }
                                    MensaContext.CommitTransaction();
                                }
                                catch
                                {
                                    MensaContext.RollbackTransaction();
                                }
                            }
                        }
                        //Warenkorb leeren

                        Dictionary <string, Dictionary <int, int> > ret = new Dictionary <string, Dictionary <int, int> >();
                        ret.Add(Session["name"].ToString(), new Dictionary <int, int>());
                        exists.Value = JsonConvert.SerializeObject(ret);
                        HttpContext.Response.Cookies.Set(exists);
                        // zurück mit Meldung.
                        TempData["message"] = "Bestellung abgeschickt.";
                        return(RedirectToAction("index"));
                    }
                    else
                    {
                        TempData["message"] = "Bestellungen leer.";
                        return(RedirectToAction("index"));
                    }
                }
                catch (Exception e)
                {
                    TempData["error"] = "Fehler Meldung: " + e.Message;
                    return(RedirectToAction("index"));
                }
            }
            TempData["message"] = "Bestellung abgeschickt.";
            return(RedirectToAction("index"));
        }
Exemple #13
0
        public ActionResult AddToList()
        {
            int anz  = 0;
            var id   = Convert.ToInt32(Request["id"].ToString());
            var name = Session["name"].ToString();

            using (var MensaContext = new Mensa())
            {
                var query = from ma in MensaContext.Mahlzeiten
                            where ma.ID == id
                            select ma.Vorrat;
                try
                {
                    anz = query.ToArray()[0];
                }
                catch (Exception e)
                {
                    var x = e.Message;
                    return(Json(x, JsonRequestBehavior.AllowGet));
                }
            }

            Dictionary <int, int> prod = new Dictionary <int, int>()
            {
                { Convert.ToInt32(Request["id"].ToString()), 1 },
            };
            HttpCookie c = new HttpCookie("dbwt");
            Dictionary <string, Dictionary <int, int> > fromCookie = new Dictionary <string, Dictionary <int, int> >();

            fromCookie.Add(name, prod);
            if (anz < 1)
            {
                ViewBag.message = "Ausverkauft.";
                return(Redirect(Request.Headers["Referer"].ToString()));
            }
            if (HttpContext.Request.Cookies.Get("dbwt") != null)
            {
                // cookie auslesen
                HttpCookie exists = HttpContext.Request.Cookies.Get("dbwt");
                try
                {
                    fromCookie = JsonConvert.DeserializeObject <Dictionary <string, Dictionary <int, int> > >(exists.Value);
                    if (fromCookie != null && fromCookie.ContainsKey(name))
                    {
                        //+1
                        if (fromCookie[name].ContainsKey(id))
                        {
                            if (anz - fromCookie[name][id] < 1)
                            {
                                TempData["message"] = "ALLE Verfügbare Mahlzeit(en) bereits in Bestellung.";
                                return(Redirect(Request.Headers["Referer"].ToString()));
                            }
                            else
                            {
                                fromCookie[name][id]++;
                                TempData["message"] = "Mahlzeit erneut zur bestellung hinzugefügt.";
                            }
                        }
                        else
                        {
                            //neu eingabe.
                            fromCookie[name].Add(Convert.ToInt32(Request["id"].ToString()), 1);
                            TempData["message"] = "Mahlzeit hinzugefügt.";
                        }
                    }
                    else
                    {
                        //Cookie von Wem anden
                    }
                }
                catch (Exception e)
                {
                    TempData["error"] = e.Message;
                }

                // cookie neu setzten.
            }

            c.Value   = JsonConvert.SerializeObject(fromCookie);
            c.Expires = DateTime.Now.AddHours(2);
            HttpContext.Response.Cookies.Set(c);
            return(Redirect(Request.Headers["Referer"].ToString()));
        }
Exemple #14
0
        // GET: Dispatch
        public JsonResult Bestellungen()
        {
            var headers = Request.Headers;

            /*
             * try {
             *  if (headers["X-Authorize"] != "o2e1s1dpt4nwhwe")
             *  {
             *      // hier error code return.
             *
             *      return Json( System.Net.HttpStatusCode.Unauthorized, JsonRequestBehavior.AllowGet);
             *  }
             * }
             * catch(Exception e)
             * {
             *  return Json(e.Message, JsonRequestBehavior.AllowGet);
             * }
             */


            List <jsonreturn> jret = new List <jsonreturn>();

            using (var MensaContext = new Mensa())
            {
                var query = from best in MensaContext.Bestellungen
                            join be in MensaContext.Benutzer on best.Benutzer equals be.Nummer
                            where best.Abholzeitpunkt <= DateTime.Now.AddHours(1) && best.Abholzeitpunkt >= DateTime.Now
                            //where be.Nutzername.Contains("db")
                            //select new {Vorname = be.Vorname, Nachname = be.Nachname};
                            select best;

                var query2 = from bi in MensaContext.Bilder
                             select bi;

                try
                {
                    var list = query.ToList();
                    foreach (var item in list)
                    {
                        jsonreturn tmp = new jsonreturn();
                        tmp.Abholung      = item.Abholzeitpunkt;
                        tmp.Bestellnummer = item.Nummer;

                        var queryNutzer = from be in MensaContext.Benutzer
                                          where be.Nummer == item.Benutzer
                                          select be;

                        tmp.Benutzer.EMail      = queryNutzer.ToArray()[0].EMail;
                        tmp.Benutzer.Nachname   = queryNutzer.ToArray()[0].Nachname;
                        tmp.Benutzer.Vorname    = queryNutzer.ToArray()[0].Vorname;
                        tmp.Benutzer.Nutzername = queryNutzer.ToArray()[0].Nutzername;

                        var queryBXM = from bxm in MensaContext.Mahlzeitenxbestellungen
                                       join ma in MensaContext.Mahlzeiten on bxm.Mahlzeiten equals ma.ID
                                       join kat in MensaContext.Kategorien on ma.Kategorie equals kat.ID
                                       where bxm.Bestellungen == item.Nummer
                                       select new { bxm.Anzahl, ma.Vorrat, ma.Name, kat.Bezeichnung };
                        List <MahlListe> mahllist = new List <MahlListe>();
                        foreach (var bxm in queryBXM.ToList())
                        {
                            MahlListe tmpmahllist = new MahlListe();

                            tmpmahllist.Mahlzeit.Anzahl    = bxm.Anzahl;
                            tmpmahllist.Mahlzeit.Vorrat    = (uint)bxm.Vorrat;
                            tmpmahllist.Mahlzeit.Name      = bxm.Name;
                            tmpmahllist.Mahlzeit.Kategorie = bxm.Bezeichnung;
                            mahllist.Add(tmpmahllist);
                        }
                        tmp.Mahlzeiten = mahllist;
                        jret.Add(tmp);
                    }
                    return(Json(jret, JsonRequestBehavior.AllowGet));
                }
                catch (Exception e)
                {
                    var x = e.Message;
                    return(Json(x, JsonRequestBehavior.AllowGet));
                }
            }
        }