Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Net;
- using System.Threading;
- using System.IO;
- using Android.App;
- using Android.Content;
- using Android.OS;
- using Android.Runtime;
- using Android.Views;
- using Android.Widget;
- using Android.Graphics.Drawables;
- using Android.Graphics;
- using Org.Json;
- namespace SmartPubAndroid.Menu
- {
- class AllData
- {
- public static List<ActivityListViewItem> homeItems = new List<ActivityListViewItem>();
- public static List<Menu.StalaNabidkaKategorieItem> stalaNabidkaKategorieItems = new List<Menu.StalaNabidkaKategorieItem>();
- public static List<Menu.StalaNabidkaItem> stalaNabidkaItems = new List<StalaNabidkaItem>();
- public static List<Menu.PrilohaItem> prilohyItems = new List<PrilohaItem>();
- public static List<Menu.NapojeKategorieItem> napojeKategorieItems = new List<NapojeKategorieItem>();
- public static List<Menu.NapojItem> napojeItems = new List<NapojItem>();
- public static List<Menu.AkceItem> akceItems = new List<AkceItem>();
- public static List<Menu.StalaNabidkaMoznosti> moznostiItems = new List<StalaNabidkaMoznosti>();
- public static List<Menu.DenniMenuItem> denniMenuItems = new List<DenniMenuItem>();
- public static Byte[] pubImg;
- public static Byte[] mainMenuImg;
- public static string server = "";
- public static string tableId = "";
- public static int pocetStalaNabidka = 0;
- public static int pocetPrilohy = 0;
- public static void SmazatData()
- {
- homeItems.Clear ();
- stalaNabidkaKategorieItems.Clear ();
- stalaNabidkaItems.Clear ();
- prilohyItems.Clear ();
- napojeKategorieItems.Clear ();
- napojeItems.Clear ();
- akceItems.Clear ();
- moznostiItems.Clear ();
- denniMenuItems.Clear ();
- pubImg = null;
- server = "";
- tableId = "";
- }
- public static void NactiData(ProgressDialog dialog)
- {
- NactiHomeData();
- }
- public static Byte[] LoadImageFromUrl(string url)
- {
- //Android.Graphics.Bitmap res = null;
- try
- {
- Java.Net.URL addr = new Java.Net.URL(url);
- // res = Android.Graphics.BitmapFactory.DecodeStream(addr.OpenStream(), null, options);
- byte[] bytearr = ReadFully (addr.OpenStream());
- return bytearr;
- }
- catch(Exception ex)
- {
- Console.WriteLine(ex.Message);
- }
- return new byte[0];
- //return res;
- }
- public static Bitmap GetImageFromArray(byte[] array, int currWidth, int currHeight)
- {
- var options = new BitmapFactory.Options{ InJustDecodeBounds = true,};
- using (var dispose = BitmapFactory.DecodeByteArray(array, 0, array.Length, options)) {
- }
- options.InSampleSize = CalculateInSampleSize(options, currWidth, currHeight);
- options.InJustDecodeBounds = false;
- options.InPreferredConfig = Android.Graphics.Bitmap.Config.Rgb565;
- return BitmapFactory.DecodeByteArray (array, 0, array.Length, options);
- }
- public static void SaveFileToDevice(string fileName, Byte[] input)
- {
- try{
- var documentsDirectory = System.Environment.GetFolderPath
- (System.Environment.SpecialFolder.Personal);
- //string destinationFolder = System.IO.Path.Combine (documentsDirectory, "Images");
- string jpgFilename = System.IO.Path.Combine (documentsDirectory, fileName + ".jpg"); // hardcoded filename, overwritten each time
- FileStream fs = File.Create (jpgFilename);
- fs.Write (input, 0, input.Length);
- }
- catch(Exception ex)
- {
- Console.WriteLine (ex.Message);
- }
- }
- public static Bitmap LoadBitmapFromFile(string fileName)
- {
- Bitmap res = null;
- try
- {
- var documentsDirectory = System.Environment.GetFolderPath
- (System.Environment.SpecialFolder.Personal);
- string jpgFilename = System.IO.Path.Combine (documentsDirectory, fileName + ".jpg"); // hardcoded filename, overwritten each time
- if(File.Exists(jpgFilename))
- {
- BitmapFactory.Options options = new BitmapFactory.Options();
- options.InPreferredConfig = Bitmap.Config.Rgb565;
- res = BitmapFactory.DecodeFile(jpgFilename, options);
- return res;
- }
- }
- catch(Exception ex)
- {
- Console.WriteLine (ex.Message);
- }
- return res;
- }
- public static int CalculateInSampleSize(BitmapFactory.Options options, int reqWidth, int reqHeight)
- {
- // Raw height and width of image
- var height = (float)options.OutHeight;
- var width = (float)options.OutWidth;
- var inSampleSize = 1D;
- if (height > reqHeight || width > reqWidth)
- {
- inSampleSize = width > height
- ? height/reqHeight
- : width/reqWidth;
- }
- return (int) inSampleSize;
- }
- /* public static Drawable LoadImageFromWebOperations(string sUrl)
- {
- Drawable result;
- try
- {
- var clien = new WebClient();
- Stream stream = clien.OpenRead(sUrl);
- result = Drawable.CreateFromStream(stream, "src");
- clien.Dispose();
- return result;
- }
- catch (Exception e)
- {
- Console.WriteLine(e.Message);
- }
- return new ColorDrawable(Android.Graphics.Color.Transparent);
- }*/
- public static void NactiHomeData()
- {
- if (denniMenuItems.Where( x => x.Polevka != 1).ToList().Count > 0)
- {
- homeItems.Add(new ActivityListViewItem("Denní menu", "...denně od 12:00 do 14:00", Resource.Drawable.denniMenu150));
- }
- List<ActivityListViewItem> items = new List<ActivityListViewItem>()
- {
- new ActivityListViewItem { Hading = "Stálá nabídka", SubHeading = "...nejlepší ve měste", ImageId = Resource.Drawable.stalaNabidka150},
- new ActivityListViewItem { Hading = "Přílohy", SubHeading = "...k zakousnutí či hlavnímu chodu, pro naše hosty jen to nejlepší", ImageId = Resource.Drawable.prilohy},
- new ActivityListViewItem { Hading = "Nápoje", SubHeading = "...chlazené, horké, alkoholické...", ImageId = Resource.Drawable.napoje}
- };
- if (akceItems.Count > 0)
- items.Add(new ActivityListViewItem("Naplánované události", "...akce pro naše hosty", Resource.Drawable.akce));
- // homeItems.AddRange(items);
- //pubImg = LoadImageFromUrl("http://" + server + "/smartpub/Images/pub.jpg");
- mainMenuImg = LoadImageFromUrl ("http://" + server + "/smartpub/Images/maimMenuBg.jpg");
- }
- public static void GetPocetPolozek()
- {
- string[] postdata = new string[0];
- JSONArray jsonData = GetData("http://" + server + "/smartpub/server/getPocetPolozek.php", postdata);
- for (int i = 0; i < jsonData.Length(); i++)
- {
- JSONObject c = jsonData.GetJSONObject(i);
- pocetPrilohy = c.GetInt ("prilohy_pocet");
- pocetStalaNabidka = c.GetInt ("stalaNabidka_pocet");
- }
- }
- public static void StalaNabidkaMoznostiGetData()
- {
- moznostiItems.Clear();
- string[] postdata = new string[0];
- JSONArray jsonData = GetData("http://" + server + "/smartpub/server/getMoznostiItems.php", postdata);
- for (int i = 0; i < jsonData.Length(); i++)
- {
- JSONObject c = jsonData.GetJSONObject(i);
- Menu.StalaNabidkaMoznosti item = new Menu.StalaNabidkaMoznosti();
- item.IdJidlo = c.GetLong("ID_Jidlo");
- item.Text = c.GetString("Text");
- moznostiItems.Add(item);
- }
- }
- public static void DenniMenuGetData()
- {
- denniMenuItems.Clear();
- string[] postdata = new string[0];
- JSONArray jsonData = GetData("http://" + server + "/smartpub/server/getDenniMenuItems.php", postdata);
- // stalaNabidkaKategorieItems = new Menu.StalaNabidkaKategorieItem[jsonData.Length()];
- for (int i = 0; i < jsonData.Length(); i++)
- {
- JSONObject c = jsonData.GetJSONObject(i);
- Menu.DenniMenuItem item = new Menu.DenniMenuItem();
- item.ID = c.GetLong("ID");
- item.NazevJidla = c.GetString("Nazev_jidla");
- item.StrucnyPopis = c.GetString("Strucny_popis");
- item.PopisDetailu = c.GetString("Popis_detailu");
- item.Polevka = c.GetInt("Polevka");
- item.Cena = c.GetInt("Cena");
- item.Kuchyn = c.GetInt("Kuchyn");
- item.PolevkaKMenu = c.GetInt("Polevka_k_menu");
- item.Image = LoadImageFromUrl("http://" + server + "/smartpub/Images/denniMenu/" + item.ID + ".jpg");
- denniMenuItems.Add(item);
- }
- }
- public static void AkceGetData()
- {
- akceItems.Clear();
- string[] postdata = new string[0];
- JSONArray jsonData = GetData("http://" + server + "/smartpub/server/getAkceItems.php", postdata);
- // stalaNabidkaKategorieItems = new Menu.StalaNabidkaKategorieItem[jsonData.Length()];
- for (int i = 0; i < jsonData.Length(); i++)
- {
- JSONObject c = jsonData.GetJSONObject(i);
- Menu.AkceItem item = new Menu.AkceItem();
- item.ID = c.GetLong("ID");
- item.NazevAkce = c.GetString("Nazev_akce");
- item.DatumKonani = DateTime.Parse(c.GetString("Datum_konani")).ToString("dd.MM.yyyy HH:mm");
- item.Cena = c.GetInt("Cena");
- item.Odkaz = c.GetString("Odkaz");
- item.FbOdkaz = c.GetString("FbOdkaz");
- item.Image = LoadImageFromUrl("http://" + server + "/smartpub/Images/akce/" + item.ID + ".jpg");
- akceItems.Add(item);
- }
- }
- public static void NapojeGetData()
- {
- napojeItems.Clear();
- string[] postdata = new string[0];
- JSONArray jsonData = GetData("http://" + server + "/smartpub/server/getNapojeItems.php", postdata);
- // stalaNabidkaKategorieItems = new Menu.StalaNabidkaKategorieItem[jsonData.Length()];
- for (int i = 0; i < jsonData.Length(); i++)
- {
- JSONObject c = jsonData.GetJSONObject(i);
- Menu.NapojItem item = new Menu.NapojItem();
- item.ID = c.GetLong("ID");
- item.IDKategorie = c.GetLong("Kategorie_ID");
- item.NazeNapoje = c.GetString("Nazev_napoje");
- item.StrucnyPopis = c.GetString("Strucny_popis");
- item.PopisDetailu = c.GetString("Popisek_detail");
- item.Objem = c.GetString("Objem");
- item.Cena = c.GetInt("Cena");
- item.Image = LoadImageFromUrl("http://" + server + "/smartpub/Images/napoje/" + item.ID + ".jpg");
- napojeItems.Add(item);
- }
- }
- public static void PrilohyGetData()
- {
- prilohyItems.Clear();
- string[] postdata = new string[0];
- JSONArray jsonData = GetData("http://" + server + "/smartpub/server/getPrilohyItems.php", postdata);
- // stalaNabidkaKategorieItems = new Menu.StalaNabidkaKategorieItem[jsonData.Length()];
- for (int i = 0; i < jsonData.Length(); i++)
- {
- JSONObject c = jsonData.GetJSONObject(i);
- Menu.PrilohaItem item = new Menu.PrilohaItem();
- item.ID = c.GetLong("ID");
- item.NazevPrilohy = c.GetString("Nazev_prilohy");
- item.StrucnyPopis = c.GetString("Strucny_popis");
- item.Cena = c.GetInt("Cena");
- item.Kuchyn = c.GetInt("Kuchyn");
- item.Image = LoadImageFromUrl("http://" + server + "/smartpub/Images/prilohy/" + item.ID + ".jpg");
- prilohyItems.Add(item);
- }
- }
- public static void NapojeKategorieGetData()
- {
- napojeKategorieItems.Clear();
- string[] postdata = new string[0];
- JSONArray jsonData = GetData("http://" + server + "/smartpub/server/getNapojeKategorieItems.php", postdata);
- // stalaNabidkaKategorieItems = new Menu.StalaNabidkaKategorieItem[jsonData.Length()];
- for (int i = 0; i < jsonData.Length(); i++)
- {
- JSONObject c = jsonData.GetJSONObject(i);
- Menu.NapojeKategorieItem item = new Menu.NapojeKategorieItem();
- item.ID = c.GetInt("ID");
- item.NazevKategorie = c.GetString("Nazev_kategorie");
- item.Image = LoadImageFromUrl("http://" + server + "/smartpub/Images/napojeKategorie/" + item.ID + ".jpg");
- napojeKategorieItems.Add(item);
- }
- }
- public static void StalaNabidkaGetData()
- {
- stalaNabidkaItems.Clear();
- string[] postdata = new string[0];
- JSONArray jsonData = GetData("http://" + server + "/smartpub/server/getStalaNabidkaItems.php", postdata);
- // stalaNabidkaKategorieItems = new Menu.StalaNabidkaKategorieItem[jsonData.Length()];
- for (int i = 0; i < jsonData.Length(); i++)
- {
- JSONObject c = jsonData.GetJSONObject(i);
- Menu.StalaNabidkaItem item = new Menu.StalaNabidkaItem();
- item.ID = c.GetLong("ID");
- item.IDKategorie = c.GetLong("Kategorie_ID");
- item.NazevJidla = c.GetString("Nazev_jidla");
- item.Priloha = c.GetInt("Priloha");
- item.StrucnyPopis = c.GetString("Strucny_popis");
- item.PopisDetailu = c.GetString("Popis_detailu");
- item.Cena = c.GetInt("Cena");
- item.Kuchyn = c.GetInt("Kuchyn");
- item.Image = LoadImageFromUrl("http://" + server + "/smartpub/Images/stalaNabidka/" + item.ID + ".jpg");
- //Java.Net.URL addr = new Java.Net.URL("http://" + server + "/smartpub/Images/stalaNabidka/" + item.ID + ".jpg");
- //item.ImageMemoryStream = addr.OpenStream ();
- //byte[] bytearr = ReadFully (addr.OpenStream());
- //SaveFileToDevice (item.ID.ToString(), bytearr);
- //ffffffffffffffffffffffffffffffffffffff
- //if (item.Image != null) {
- // int size = item.Image.ByteCount;
- // }
- stalaNabidkaItems.Add(item);
- }
- }
- public static byte[] ReadFully(Stream input)
- {
- byte[] buffer = new byte[16*1024];
- using (MemoryStream ms = new MemoryStream())
- {
- int read;
- while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
- {
- ms.Write(buffer, 0, read);
- }
- return ms.ToArray();
- }
- }
- public static void StalaNabidkaKategorieGetData()
- {
- stalaNabidkaKategorieItems.Clear();
- string[] postdata = new string[0];
- JSONArray jsonData = GetData("http://" + server + "/smartpub/server/getStalaNabidka.php", postdata);
- // stalaNabidkaKategorieItems = new Menu.StalaNabidkaKategorieItem[jsonData.Length()];
- for (int i = 0; i < jsonData.Length(); i++)
- {
- JSONObject c = jsonData.GetJSONObject(i);
- Menu.StalaNabidkaKategorieItem item = new Menu.StalaNabidkaKategorieItem();
- item.ID = c.GetString("ID");
- item.NazevKategorie = c.GetString("Nazev_kategorie");
- item.Image = LoadImageFromUrl("http://" + server + "/smartpub/Images/stalaNabidkaKategorie/" + item.ID + ".jpg");
- //item.Image = c.GetString("Obrazek")
- // if (item.Image != null) {
- // int size = item.Image.ByteCount;
- //}
- stalaNabidkaKategorieItems.Add(item);
- }
- }
- public static long OdeslatPozadavek(string akce)
- {
- string[] postdata = new string[4];
- postdata[0] = "akce";
- postdata[1] = akce;
- postdata[2] = "tableId";
- postdata[3] = tableId;
- return PostData("http://" + server + "/smartpub/server/insertIntoPozadavky.php", postdata);
- }
- public static long PrilohyProvestobjednavku(PrilohaItem item)
- {
- string[] postdata = new string[16];
- postdata[0] = "userName";
- postdata[1] = "host";
- postdata[2] = "nazevJidla";
- postdata[3] = item.NazevPrilohy;
- postdata[4] = "tableId";
- postdata[5] = tableId;
- postdata[6] = "cena";
- postdata[7] = item.Cena.ToString();
- postdata[8] = "kuchyn";
- postdata[9] = item.Kuchyn.ToString();
- postdata[10] = "itemId";
- postdata[11] = item.ID.ToString();
- postdata[12] = "tableName";
- postdata[13] = "prilohy";
- postdata[14] = "jidloId";
- postdata[15] = "-1";
- return PostData("http://" + server + "/smartpub/server/insertIntoNezaplaceneObjednavky.php", postdata);
- }
- public static void DenniMenuProvestObjednavku(DenniMenuItem item)
- {
- string[] postdata = new string[16];
- postdata[0] = "userName";
- postdata[1] = "host";
- postdata[2] = "nazevJidla";
- postdata[3] = item.NazevJidla;
- postdata[4] = "tableId";
- postdata[5] = tableId;
- postdata[6] = "cena";
- postdata[7] = item.Cena.ToString();
- postdata[8] = "kuchyn";
- postdata[9] = item.Kuchyn.ToString();
- postdata[10] = "itemId";
- postdata[11] = item.ID.ToString();
- postdata[12] = "tableName";
- postdata[13] = "denniMenu";
- postdata[14] = "jidloId";
- postdata[15] = "-1";
- PostData("http://" + server + "/smartpub/server/insertIntoNezaplaceneObjednavky.php", postdata);
- }
- public static void NapojeProvestobjednavku(NapojItem item)
- {
- string[] postdata = new string[16];
- postdata[0] = "userName";
- postdata[1] = "host";
- postdata[2] = "nazevJidla";
- postdata[3] = item.NazeNapoje;
- postdata[4] = "tableId";
- postdata[5] = tableId;
- postdata[6] = "cena";
- postdata[7] = item.Cena.ToString();
- postdata[8] = "kuchyn";
- postdata[9] = "0";
- postdata[10] = "itemId";
- postdata[11] = item.ID.ToString();
- postdata[12] = "tableName";
- postdata[13] = "napoje";
- postdata[14] = "jidloId";
- postdata[15] = "-1";
- PostData("http://" + server + "/smartpub/server/insertIntoNezaplaceneObjednavky.php", postdata);
- }
- public static void StalaNabidkaProvestobjednavku(StalaNabidkaItem item, long jidloId)
- {
- string[] postdata = new string[16];
- postdata[0] = "userName";
- postdata[1] = "host";
- postdata[2] = "nazevJidla";
- postdata[3] = item.NazevJidla;
- postdata[4] = "tableId";
- postdata[5] = tableId;
- postdata[6] = "cena";
- postdata[7] = item.Cena.ToString();
- postdata[8] = "kuchyn";
- postdata[9] = item.Kuchyn.ToString();
- postdata[10] = "itemId";
- postdata[11] = item.ID.ToString();
- postdata[12] = "tableName";
- postdata[13] = "stalanabidka";
- postdata[14] = "jidloId";
- postdata[15] = jidloId.ToString();
- PostData("http://" + server + "/smartpub/server/insertIntoNezaplaceneObjednavky.php", postdata);
- }
- private static long PostData(string Url, params string[] postdata)
- {
- long newId = 0;
- string result = string.Empty;
- string data = string.Empty;
- System.Text.ASCIIEncoding ascii = new ASCIIEncoding();
- for (int i = 0; i < postdata.Length; i += 2)
- {
- data += string.Format("&{0}={1}", postdata[i], postdata[i + 1]);
- }
- if (data.Length > 0)
- data = data.Remove(0, 1);
- byte[] bytesarr = System.Text.Encoding.UTF8.GetBytes(data);
- try
- {
- WebRequest request = WebRequest.Create(Url);
- request.Method = "POST";
- request.ContentType = "application/x-www-form-urlencoded";
- request.ContentLength = bytesarr.Length;
- System.IO.Stream streamwriter = request.GetRequestStream();
- streamwriter.Write(bytesarr, 0, bytesarr.Length);
- streamwriter.Close();
- WebResponse response = request.GetResponse();
- streamwriter = response.GetResponseStream();
- System.IO.StreamReader streamread = new System.IO.StreamReader(streamwriter);
- result = streamread.ReadToEnd();
- streamread.Close();
- Int64.TryParse(result, out newId);
- }
- catch (Exception ex)
- {
- int x = 0;
- }
- return newId;
- }
- private static JSONArray GetData(string Url, params string[] postdata)
- {
- string result = string.Empty;
- string data = string.Empty;
- System.Text.ASCIIEncoding ascii = new ASCIIEncoding();
- if (postdata.Length % 2 != 0)
- {
- // MessageBox.Show("Parameters must be even , \"user\" , \"value\" , ... etc", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
- // return string.Empty;
- }
- for (int i = 0; i < postdata.Length; i += 2)
- {
- data += string.Format("&{0}={1}", postdata[i], postdata[i + 1]);
- }
- if (data.Length > 0)
- data = data.Remove(0, 1);
- byte[] bytesarr = ascii.GetBytes(data);
- try
- {
- WebRequest request = WebRequest.Create(Url);
- request.Method = "POST";
- request.ContentType = "application/x-www-form-urlencoded";
- request.ContentLength = bytesarr.Length;
- System.IO.Stream streamwriter = request.GetRequestStream();
- streamwriter.Write(bytesarr, 0, bytesarr.Length);
- streamwriter.Close();
- WebResponse response = request.GetResponse();
- streamwriter = response.GetResponseStream();
- System.IO.StreamReader streamread = new System.IO.StreamReader(streamwriter);
- result = streamread.ReadToEnd();
- streamread.Close();
- }
- catch (Exception ex)
- {
- int x = 0;
- }
- JSONObject novyObjekt = new JSONObject(result);
- JSONArray jsonData = novyObjekt.GetJSONArray("data");
- return jsonData;
- }
- public static bool Ping(string server)
- {
- bool exists = false;
- try
- {
- Java.Net.SocketAddress sockaddr = new Java.Net.InetSocketAddress(server, 80);
- // Create an unbound socket
- Java.Net.Socket sock = new Java.Net.Socket();
- // This method will block no more than timeoutMs.
- // If the timeout occurs, SocketTimeoutException is thrown.
- int timeoutMs = 3000; // 3 seconds
- sock.Connect(sockaddr, timeoutMs);
- exists = true;
- }
- catch (Exception e)
- {
- try
- {
- Java.Net.SocketAddress sockaddr = new Java.Net.InetSocketAddress(server, 80);
- // Create an unbound socket
- Java.Net.Socket sock = new Java.Net.Socket();
- // This method will block no more than timeoutMs.
- // If the timeout occurs, SocketTimeoutException is thrown.
- int timeoutMs = 5000; // 3 seconds
- sock.Connect(sockaddr, timeoutMs);
- exists = true;
- }
- catch(Exception exc)
- {
- return false;
- }
- }
- return exists;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement