예제 #1
0
        public static Appclasses.Core.Data.NameValueObject SetObject(string table, Appclasses.Core.Data.NameValueObject data, out string error)
        {
            string result;
            var    startedAt = DateTime.Now;
            var    serData   = CompactSerializer.Serialize <Appclasses.Core.Data.NameValueObject> (data);

            QRScanner.Appclasses.Log.Write(new QRScanner.Appclasses.LogEntry("END REQUEST: [Device/SerializeObject];" + (DateTime.Now - startedAt).TotalMilliseconds.ToString()));
            if (WebApp.Post("mode=setObj&table=" + table, serData, out result))
            {
                try
                {
                    startedAt = DateTime.Now;
                    var nvo = CompactSerializer.Deserialize <Appclasses.Core.Data.NameValueObject>(result);
                    QRScanner.Appclasses.Log.Write(new QRScanner.Appclasses.LogEntry("END REQUEST: [Device/DeserializeObject];" + (DateTime.Now - startedAt).TotalMilliseconds.ToString()));
                    error = nvo == null ? "Zapis objekta ni uspel!" : "";
                    return(nvo);
                }
                catch (Exception ex)
                {
                    error = "Napaka pri tolmačenju odziva web strežnika: " + ex.Message;
                    return(null);
                }
            }
            else
            {
                error = "Napaka pri klicu web strežnika: " + result;
                return(null);
            }
        }
예제 #2
0
        public static bool TryLock(string lockID, out string error)
        {
            if (obtainedLocks.FirstOrDefault(x => x == lockID) != null)
            {
                error = "OK!"; return(true);
            }

            var wf = new WaitForm();

            try
            {
                //            wf.Start("Pridobivam dostop");

                var obj = new Appclasses.Core.Data.NameValueObject("Lock");
                obj.SetString("LockID", lockID);
                obj.SetString("LockInfo", UserName());
                obj.SetInt("Locker", UserID());
                var serObj = CompactSerializer.Serialize <QRScanner.Appclasses.Core.Data.NameValueObject>(obj);
                if (WebApp.Post("mode=tryLock", serObj, out error))
                {
                    if (error == "OK!")
                    {
                        obtainedLocks.Add(lockID);
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            finally
            {
                //             wf.Stop();
            }
        }