Example #1
0
        public static User Login(Context ctx, string username, string password)
        {
            User user = null;

            using (IConnection conn = Sync.GetConnection(ctx)) {
                IPreparedStatement ps = conn.PrepareStatement(@"SELECT deal_id,
user_id,
login_name,
user_pass,
user_active
FROM rusers 
WHERE user_active = 1 AND login_name = :login_name AND user_pass = :user_pass ");
                ps.Set("login_name", username);
                ps.Set("user_pass", password);

                IResultSet result = ps.ExecuteQuery();

                if (result.Next())
                {
                    user            = new User();
                    user.deal_id    = result.GetInt("deal_id");
                    user.user_id    = result.GetInt("user_id");
                    user.login_name = result.GetString("login_name");
                    user.user_pass  = result.GetString("user_pass");
                }

                result.Close();
                ps.Close();
                conn.Commit();
                conn.Release();
            }

            return(user);
        }
Example #2
0
        internal static TransHedList GetTransHedList(Context ctx)
        {
            TransHedList headers = new TransHedList();

            using (IConnection conn = Sync.GetConnection(ctx))
            {
                IPreparedStatement ps     = conn.PrepareStatement(@"
SELECT 
    rtrans_hed.id, rtrans_hed.cust_id, trans_date, docnum, htrn_explanation,
    rcustomer.cst_desc  
FROM rtrans_hed
LEFT OUTER JOIN rcustomer ON rcustomer.id = rtrans_hed.cust_id ");
                IResultSet         result = ps.ExecuteQuery();

                while (result.Next())
                {
                    TransHed header = new TransHed();
                    header.Fetch(result);

                    headers.Add(header);
                }

                result.Close();
                ps.Close();

                foreach (TransHed h in headers)
                {
                    TransHed.FetchDetails(h, conn);
                }

                conn.Release();
            }

            return(headers);
        }
Example #3
0
        internal static void FetchDetails(TransHed transHed, IConnection conn)
        {
            IPreparedStatement ps = conn.PrepareStatement(@"
SELECT rtrans_det.id, rtrans_det.htrn_id, rtrans_det.dtrn_num, rtrans_det.item_id,
rtrans_det.qty1, rtrans_det.unit_price, rtrans_det.disc_line1, rtrans_det.net_value, rtrans_det.vat_value,
ritems.item_cod, ritems.item_desc, ritems.item_vat
FROM rtrans_det
JOIN ritems ON ritems.id = rtrans_det.item_id
WHERE htrn_id = :htrn_id
ORDER BY rtrans_det.id");

            ps.Set("htrn_id", transHed.HtrnId);

            IResultSet result = ps.ExecuteQuery();

            if (transHed.TransDetList == null)
            {
                transHed.TransDetList = new TransDetList();
            }

            while (result.Next())
            {
                TransDet d = new TransDet();
                d.Fetch(result);
                transHed.TransDetList.Add(d);
            }

            result.Close();
            ps.Close();
        }
Example #4
0
        public static Category GetCategory(Context ctx, long categId, int categTbl)
        {
            Category info = new Category();

            using (IConnection conn = Sync.GetConnection(ctx))
            {
                string tableName = "ritem_categ";

                if (categTbl == 2)
                {
                    tableName += "2";
                }

                IPreparedStatement ps = conn.PrepareStatement(@"SELECT 
id, 
item_categ_desc
FROM " + tableName + " WHERE id = :CategId");
                ps.Set("categId", categId);

                IResultSet result = ps.ExecuteQuery();

                if (result.Next())
                {
                    info.Id            = result.GetInt("id");
                    info.ItemCategDesc = result.GetString("item_categ_desc");
                }

                result.Close();
                ps.Close();
                conn.Release();
            }

            return(info);
        }
Example #5
0
        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);
        }
Example #6
0
        public static CustomerInfoList GetCustomerInfoList(Context ctx, Criteria crit)
        {
            CustomerInfoList customers = new CustomerInfoList();

            using (IConnection conn = Sync.GetConnection(ctx))
            {
                string query = @"
SELECT TOP 100 id, cst_cod, cst_desc 
FROM rcustomer
WHERE 1=1 ";
                if (crit.CustCode != "")
                {
                    query += " AND cst_cod like \'" + crit.CustCode + "%\'";
                }

                if (crit.CustName != "")
                {
                    query += " AND cst_desc like \'" + crit.CustName + "%\'";
                }

                query += " ORDER BY cst_desc ";

                Log.Debug("GetCustomerInfoList", query);
                IPreparedStatement ps     = conn.PrepareStatement(query);
                IResultSet         result = ps.ExecuteQuery();

                while (result.Next())
                {
                    CustomerInfo customer = new CustomerInfo();
                    customer.CustID = result.GetInt("id");
                    customer.Code   = result.GetString("cst_cod");
                    customer.Name   = result.GetString("cst_desc");

                    customers.Add(customer);
                }

                result.Close();
                ps.Close();
                conn.Release();
            }

            return(customers);
        }
Example #7
0
        public static TransHed GetTransHed(Context ctx, double htrnId)
        {
            TransHed transHed = new TransHed();

            if (htrnId == 0)
            {
                return(transHed);
            }

            using (IConnection conn = Sync.GetConnection(ctx))
            {
                string query = @"
SELECT
rtrans_hed.id, cust_id, trans_date, vouch_id, voser_id, docnum, htrn_explanation,
rcustomer.cst_desc
FROM rtrans_hed
LEFT OUTER JOIN rcustomer ON rcustomer.id = rtrans_hed.cust_id
WHERE rtrans_hed.id = :htrnId ";

                IPreparedStatement ps = conn.PrepareStatement(query);
                ps.Set("htrnId", htrnId);

                IResultSet result = ps.ExecuteQuery();

                if (result.Next())
                {
                    transHed.Fetch(result);
                }

                result.Close();
                ps.Close();

                FetchDetails(transHed, conn);

                conn.Commit();
                conn.Release();
            }

            return(transHed);
        }
Example #8
0
        public void Save(Context ctx)
        {
            CustomerInfo info = new CustomerInfo();

            using (IConnection conn = Sync.GetConnection(ctx))
            {
                IPreparedStatement ps;
                if (IsNew)
                {
                    ps = conn.PrepareStatement(@"INSERT INTO rcustomer (cst_cod, cst_desc) VALUES (:cst_cod, :cst_desc); SELECT last_insert_id();");
                }
                else
                {
                    ps = conn.PrepareStatement(@"UPDATE rcustomer SET cst_cod = :cst_cod, cst_desc = :cst_desc WHERE id = :cst_id");
                }

                ps.Set("cst_id", CustID.ToString());
                ps.Set("cst_cod", Code);
                ps.Set("cst_desc", Name);

                if (IsNew)
                {
                    IResultSet set = ps.ExecuteQuery();
                    if (set.Next())
                    {
                        CustID = set.GetInt(0);
                    }
                    set.Close();
                }
                else
                {
                    ps.Execute();
                }

                ps.Close();

                conn.Commit();
                conn.Release();
            }
        }
Example #9
0
        public static CustomerInfo GetCustomer(Context ctx, string code)
        {
            CustomerInfo info = new CustomerInfo();

            if (code == "")
            {
                return(info);
            }

            using (IConnection conn = Sync.GetConnection(ctx))
            {
                IPreparedStatement ps = conn.PrepareStatement(@"SELECT id, cst_cod, cst_desc, cst_ypol, cst_kat_disc, 
					cst_tax_num, cst_trus_id, cst_addr, cst_city, cst_zip, cst_phone, cst_gsm, cst_comments
					FROM rcustomer WHERE cst_cod = :Code"                    );
                ps.Set("Code", code);

                IResultSet result = ps.ExecuteQuery();

                if (result.Next())
                {
                    info.CustID      = result.GetInt("id");
                    info.Code        = result.GetString("cst_cod");
                    info.Name        = result.GetString("cst_desc");
                    info.CustAddress = result.GetString("cst_addr");
                    info.CustTaxNum  = result.GetString("cst_tax_num");
                    info.CustDebt    = result.GetDouble("cst_ypol");
                    info.CustPhone   = result.GetString("cst_phone");

                    info.IsNew = false;
                }

                result.Close();
                ps.Close();
                conn.Commit();
                conn.Release();
            }

            return(info);
        }
Example #10
0
        public static CategoryList GetCategoryList(Context ctx, int categTbl)
        {
            CategoryList items = new CategoryList();

            using (IConnection conn = Sync.GetConnection(ctx))
            {
                string tableName = "ritem_categ";

                if (categTbl == 2)
                {
                    tableName += "2";
                }

                IPreparedStatement ps = conn.PrepareStatement(@"SELECT 
id, 
item_categ_desc
FROM " + tableName);

                IResultSet result = ps.ExecuteQuery();

                while (result.Next())
                {
                    items.Add(new Category()
                    {
                        Id            = result.GetInt("id"),
                        ItemCategDesc = result.GetString("item_categ_desc")
                    }
                              );
                }
                result.Close();
                ps.Close();
                conn.Release();
            }

            return(items);
        }
Example #11
0
        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();
            }
        }
Example #12
0
        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();
            }
        }
Example #13
0
        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);
        }