public static Android.Graphics.Bitmap GetItemImage(Context ctx, int itemID) { Android.Graphics.Bitmap res = null; using (IConnection conn = Sync.GetConnection(ctx)) { IPreparedStatement ps = conn.PrepareStatement(@"SELECT item_image FROM ritems WHERE id = :ItemID"); ps.Set("ItemID", itemID.ToString()); IResultSet result = ps.ExecuteQuery(); if (result.Next()) { byte[] signatureBytes = result.GetBytes("item_image"); try { if (signatureBytes.Length > 0) { /*Android.Graphics.Bitmap bmp = Android.Graphics.BitmapFactory.DecodeByteArray(signatureBytes, * 0, signatureBytes.Length); * res = Android.Graphics.Bitmap.CreateScaledBitmap(bmp,256,256,true); * bmp.Recycle();*/ res = Android.Graphics.BitmapFactory.DecodeByteArray(signatureBytes, 0, signatureBytes.Length); } else { res = null; } } catch (Exception ex) { res = null; } } result.Close(); ps.Close(); conn.Release(); } return(res); }
public void LoadItems(Context ctx) { Criteria c = CurrentCriteria; using (IConnection conn = Sync.GetConnection(ctx)) { // IPreparedStatement ps1 = conn.PrepareStatement ("select * from ritemlast"); // // IResultSet result1 = ps1.ExecuteQuery (); // // while (result1.Next()) { // Log.Debug ("", result1.GetInt (0) + " " + result1.GetInt (1)); // } string joinLastDate = ""; string fields = ""; if (c.CstId > 0) { fields += @", ritemlast.last_date"; joinLastDate = @" LEFT OUTER JOIN ritemlast ON ritemlast.item_id = ritems.id AND ritemlast.cst_id = " + c.CstId; } string query = @" SELECT TOP 30 ritems.ID, ritems.item_cod, ritems.item_desc, ritems.item_image, ritems.item_qty_left " + fields + @" FROM ritems" + joinLastDate + @" WHERE 1 = 1 "; if (c.ItemDesc != "") { // query += " AND ritems.item_desc like \'" + c.ItemDesc + "%\'"; query += " AND ritems.item_desc like :ItemDesc "; } if (c.Category1 != 0) { query += " AND ritems.item_ctg_id = " + c.Category1; } if (c.Category2 != 0) { query += " AND ritems.item_ctg2_id = " + c.Category2; } if (c.RetVal != 0) { // query += " AND ritems.item_qty_left = " + c.RetVal; } query += " ORDER BY ritems.item_desc "; IPreparedStatement ps = conn.PrepareStatement(query); if (c.ItemDesc != "") { ps.Set("ItemDesc", c.ItemDesc); } IResultSet result = ps.ExecuteQuery(); while (result.Next()) { ItemInfo item = new ItemInfo() { ItemId = result.GetInt("id"), item_cod = result.GetString("item_cod"), ItemDesc = result.GetString("item_desc"), ItemQtyLeft = Convert.ToDecimal(result.GetDouble("item_qty_left")) }; byte[] signatureBytes = result.GetBytes("item_image"); try { if (signatureBytes.Length > 0) { Android.Graphics.Bitmap img = Android.Graphics.BitmapFactory.DecodeByteArray(signatureBytes, 0, signatureBytes.Length); item.ItemImage = Android.Graphics.Bitmap.CreateScaledBitmap(img, 64, 64, true); img.Recycle(); img = null; } else { item.ItemImage = null; } } catch (Exception ex) { item.ItemImage = null; } if (c.CstId > 0) { item.ItemLastBuyDate = Common.JavaDateToDatetime(result.GetDate("last_date")); } lastLoadedID = item.ItemId; Add(item); } result.Close(); ps.Close(); conn.Release(); } }
public static void LoadAdapterItems(Context ctx, int page, ArrayAdapter <ItemInfo> adapter, Criteria c) { using (IConnection conn = Sync.GetConnection(ctx)) { string joinLastDate = ""; string fields = ""; if (c.CstId > 0) { fields += @", ritemlast.last_date";//OUTER joinLastDate = @" LEFT JOIN ritemlast ON ritemlast.item_id = ritems.id AND ritemlast.cst_id = " + c.CstId; } int offset = 1 + page * 30; string query = @" SELECT TOP 30 START AT " + offset + @" ritems.ID, ritems.item_cod, ritems.item_desc, ritems.item_image, ritems.item_qty_left " + fields + @" FROM ritems" + joinLastDate + @" WHERE 1 = 1 "; if (c.ItemDesc != "") { query += " AND ritems.item_desc like \'" + c.ItemDesc + "%\'"; } if (c.Category1 != 0) { query += " AND ritems.item_ctg_id = " + c.Category1; } if (c.Category2 != 0) { query += " AND ritems.item_ctg2_id = " + c.Category2; } if (c.RetVal != 0) { // query += " AND ritems.item_qty_left = " + c.RetVal; } query += " ORDER BY ritems.item_desc "; Log.Debug("select items", query); IPreparedStatement ps = conn.PrepareStatement(query); IResultSet result = ps.ExecuteQuery(); while (result.Next()) { ItemInfo item = new ItemInfo() { ItemId = result.GetInt("id"), item_cod = result.GetString("item_cod"), ItemDesc = result.GetString("item_desc"), ItemQtyLeft = Convert.ToDecimal(result.GetDouble("item_qty_left")) }; byte[] signatureBytes = result.GetBytes("item_image"); try { if (signatureBytes.Length > 0) { Android.Graphics.Bitmap img = Android.Graphics.BitmapFactory.DecodeByteArray(signatureBytes, 0, signatureBytes.Length); item.ItemImage = Android.Graphics.Bitmap.CreateScaledBitmap(img, 64, 64, true); img.Recycle(); img = null; } else { item.ItemImage = null; } } catch (Exception ex) { item.ItemImage = null; } if (c.CstId > 0) { item.ItemLastBuyDate = Common.JavaDateToDatetime(result.GetDate("last_date")); } adapter.Add(item); } result.Close(); ps.Close(); conn.Release(); } }
public static ItemInfo GetItem(Context ctx, decimal itemID, bool loadImage) { ItemInfo info = new ItemInfo(); using (IConnection conn = Sync.GetConnection(ctx)) { /*IPreparedStatement ps = conn.PrepareStatement(@"SELECT item_id, * item_cod, * item_desc, * item_long_des, * item_ret_val1, * item_sale_val1 , * item_buy_val1 * FROM items WHERE item_id = :ItemID");*/ IPreparedStatement ps = conn.PrepareStatement(@"SELECT id, item_cod, item_desc, item_alter_desc, unit_price, item_qty_left , item_vat, item_ctg_id, item_ctg_disc, item_image FROM ritems WHERE id = :ItemID"); ps.Set("ItemID", itemID.ToString()); IResultSet result = ps.ExecuteQuery(); if (result.Next()) { /*info.ItemId = Convert.ToInt64(result.GetDouble("item_id")); * info.item_cod = result.GetString("item_cod"); * info.item_desc = result.GetString("item_desc"); * info.item_long_desc = result.GetString("item_long_des"); * info.item_ret_val1 = Convert.ToDecimal(result.GetDouble("item_ret_val1")); * info.item_sale_val1 = Convert.ToDecimal(result.GetDouble("item_sale_val1")); * info.item_buy_val1 = Convert.ToDecimal(result.GetDouble("item_buy_val1"));*/ //info.ItemId = Convert.ToInt64(result.GetDouble("id")); info.ItemId = result.GetInt("id"); info.item_cod = result.GetString("item_cod"); info.ItemDesc = result.GetString("item_desc"); info.item_long_desc = result.GetString("item_alter_desc"); info.ItemSaleVal1 = Convert.ToDecimal(result.GetDouble("unit_price")); info.ItemQtyLeft = Convert.ToDecimal(result.GetDouble("item_qty_left")); info.ItemVatId = result.GetInt("item_vat"); if (loadImage) { byte[] signatureBytes = result.GetBytes("item_image"); try { if (signatureBytes.Length > 0) { info.ItemImage = Android.Graphics.BitmapFactory.DecodeByteArray(signatureBytes, 0, signatureBytes.Length); } else { info.ItemImage = null; } } catch (Exception ex) { info.ItemImage = null; } } Log.Debug("item_vat", "item_vat=" + info.ItemVatId); } result.Close(); ps.Close(); conn.Release(); } return(info); }