Beispiel #1
0
        static private Result Refresh(EServ.Client client, int userno, int privno, ref DictItem item)
        {
            object[] param = new object[] { item.Id };
            Result   r     = null;

            try
            {
                r = client.Call(userno, FileId, FuncNo, privno, param);
                if (r.ResultNo == 0)
                {
                    DataTable dt1 = r.Data.Tables[0];
                    if (dt1.Rows.Count > 0)
                    {
                        item.Name            = ISM.Lib.Static.ToStr(dt1.Rows[0]["Name"]);
                        item.Description     = ISM.Lib.Static.ToStr(dt1.Rows[0]["Description"]);
                        item.RefreshInterval = ISM.Lib.Static.ToInt(dt1.Rows[0]["RefreshInterval"]);
                        item.Loaded          = DateTime.Now;
                        item.Table           = r.Data.Tables[1];
                    }
                    r.Data  = null;
                    r.Param = null;
                }
            }
            catch (Exception ex)
            {
                r = new Result(9, ex.ToString());
            }

            return(r);
        }
Beispiel #2
0
 public frmInputParam(EServ.Client client, int userno, int privno, List <ParameterItem> parameters)
 {
     InitializeComponent();
     this.client     = client;
     this.userno     = userno;
     this.privno     = privno;
     this.parameters = parameters;
 }
Beispiel #3
0
        static public Result Get(EServ.Client client, int userno, string id, int privno, ref DataTable table)
        {
            Result r = new Result();

            if (string.IsNullOrEmpty(id))
            {
                return(r);
            }
            ArrayList tables = null;

            r = Get(client, userno, new string[] { id }, privno, ref tables);
            if (r.ResultNo == 0)
            {
                table = (DataTable)tables[0];
            }
            return(r);
        }
Beispiel #4
0
        public Result ItemSetListFromDictionary(EServ.Client client, int userno)
        {
            Result r = null;

            #region Read Dictionary names

            List <string> ids = new List <string>();
            List <DynamicParameterItem> list = ItemGetList();
            foreach (DynamicParameterItem pi in list)
            {
                if (!string.IsNullOrEmpty(pi.DictId))
                {
                    ids.Add(pi.DictId);
                }
            }

            #endregion

            #region Get Dictionary Tables
            ArrayList tables = null;
            r = DictUtility.Get(client, userno, ids.ToArray(), ref tables);
            #endregion

            #region Set Dictionary table into control

            if (r.ResultNo == 0)
            {
                int i = 0;
                foreach (DynamicParameterItem pi in list)
                {
                    if (!string.IsNullOrEmpty(pi.DictId))
                    {
                        this.ItemSetList(pi.Id, (DataTable)tables[i], pi.DictValueField, pi.DictDescField);
                        i++;
                    }
                }
            }

            #endregion

            return(r);
        }
Beispiel #5
0
        public frmUpdateMain()
        {
            try
            {
                InitializeComponent();
                btnUpdate.Image   = InfoPos.TerminalUpdater.Resource.update;
                btnClose.Image    = InfoPos.TerminalUpdater.Resource.exit;
                btnSettings.Image = InfoPos.TerminalUpdater.Resource.settings;
                Terminaldir       = Static.ToStr(InfoPos.TerminalUpdater.Cache.XMLCacheGet("frmOption_TempPath"));
                Docdir            = Static.ToStr(InfoPos.TerminalUpdater.Cache.XMLCacheGet("frmOption_DynamicPathIn"));
                Slipsdir          = Static.ToStr(InfoPos.TerminalUpdater.Cache.XMLCacheGet("frmOption_SlipsPathIn"));
                Reportdir         = Static.ToStr(InfoPos.TerminalUpdater.Cache.XMLCacheGet("frmOption_ReportPathIn"));

                moConnection        = new EServ.Client();
                moUser              = new User();
                moUser.ComputerName = System.Net.Dns.GetHostName();
                moUser.IPAddress    = Static.NetworkGetIp(moUser.ComputerName);
                moUser.NICAddress   = Static.NetworkGetNic();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Beispiel #6
0
        static public Result Get(EServ.Client client, int userno, string[] id, int privno, ref ArrayList tables)
        {
            Result r = new Result();

            if (id == null && id.Length <= 0)
            {
                return(r);
            }

            try
            {
                if (tables == null)
                {
                    tables = new ArrayList();
                }
                for (int i = 0; i < id.Length; i++)
                {
                    DataTable table = null;
                    string    name  = id[i].ToUpper();

                    string _dicfilename  = string.Format(@"{0}\Data\Dic_{1}.xml", Static.WorkingFolder, name);
                    string _infofilename = string.Format(@"{0}\Data\Dic_{1}.inf", Static.WorkingFolder, name);

                    #region Find the item from memory

                    DictItem item = null;
                    lock (_hash.SyncRoot)
                    {
                        item = (DictItem)_hash[name];
                        if (item == null)
                        {
                            item    = new DictItem();
                            item.Id = name;
                        }
                    }

                    #endregion

                    #region If item does not load into memory then load from local file

                    if (item.Table == null) // item.Loaded == DateTime.MinValue
                    {
                        if (File.Exists(_infofilename))
                        {
                            string[] lines = File.ReadAllLines(_infofilename);
                            if (lines != null && lines.Length > 0)
                            {
                                item.Loaded          = Static.ToDateTime(lines[0]);
                                item.RefreshInterval = Static.ToInt(lines[1]);
                                item.Name            = Static.ToStr(lines[2]);

                                table = new DataTable();
                                XmlReadMode mode = table.ReadXml(_dicfilename);
                                item.Table = table;
                            }
                        }
                    }

                    #endregion

                    #region Calculate needs for refresh

                    double lifetime = DateTime.Now.Subtract(item.Loaded).TotalSeconds;

                    if (item.Table == null || (item.RefreshInterval > 0 && lifetime > item.RefreshInterval))
                    {
                        FormUtility.ProgressFormShow("Түр хүлээнэ үү, таталт хийгдэж байна.", item.Id + "...");
                        Result res = Refresh(client, userno, privno, ref item);
                        if (res.ResultNo == 0)
                        {
                            table = item.Table;
                            lock (_hash.SyncRoot)
                            { _hash[item.Id] = item; }

                            #region Save into local file

                            string[] lines = new string[] {
                                Static.ToDateTimeStr(item.Loaded)
                                , Static.ToStr(item.RefreshInterval)
                                , item.Name
                            };
                            File.WriteAllLines(_infofilename, lines);
                            table.WriteXml(_dicfilename, XmlWriteMode.WriteSchema);

                            #endregion
                        }
                        else
                        {
                            r.ResultNo   = res.ResultNo;
                            r.ResultDesc = res.ResultDesc;
                        }
                    }
                    else
                    {
                        table = item.Table;
                    }

                    #endregion

                    tables.Add(table);
                }
            }
            catch (Exception ex)
            {
                r.ResultNo   = 9;
                r.ResultDesc = ex.ToString();
            }
            FormUtility.ProgressFormClose();
            return(r);
        }
Beispiel #7
0
 static public Result Get(EServ.Client client, int userno, string id, ref DataTable table)
 {
     return(Get(client, userno, id, PrivNo, ref table));
 }
Beispiel #8
0
 static public Result Get(EServ.Client client, int userno, string[] id, ref ArrayList tables)
 {
     return(Get(client, userno, id, PrivNo, ref tables));
 }