private void lbTit_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
        {
            var item = (NoteEditor_coll_item)host.UI.lbTit.SelectedItem;

            if (item == null)
            {
                return;
            }

            host.UI.lbTit.Visibility     = System.Windows.Visibility.Collapsed;
            host.UI.lblTitles.Visibility = System.Windows.Visibility.Collapsed;
            host.UI.txtNot.Visibility    = System.Windows.Visibility.Visible;
            host.UI.FileName.Visibility  = System.Windows.Visibility.Visible;

            sTitOld             = item.ObjectA.ToString();
            sLstLoadTitle       = sTitOld;
            host.UI.txtTit.Text = sTitOld;

            RscStore store = new RscStore();

            bool bTmp;

            host.UI.txtNot.Text = store.ReadTextFile(item.ObjectB.ToString(), "", out bTmp);
            host.UI.txtCch.Text = "";

            host.UI.btnSave.Visibility = System.Windows.Visibility.Collapsed;
            host.UI.lblSave.Visibility = System.Windows.Visibility.Collapsed;
            host.UI.btnSend.Visibility = System.Windows.Visibility.Visible;
            host.UI.lblSend.Visibility = System.Windows.Visibility.Visible;
            host.UI.btnDel.Visibility  = System.Windows.Visibility.Visible;
            host.UI.lblDel.Visibility  = System.Windows.Visibility.Visible;
        }
예제 #2
0
        public static string LoadUserAgentID(string sDomain, string sDefaultRetVal)
        {
            RscStore store = new RscStore();

            string sFolder = "A:\\Internet\\UserAgents";

            if (!store.FolderExists(sFolder))
            {
                return(sDefaultRetVal);
            }

            List <string> asDomainLst = SplitDomain(sDomain);

            foreach (string sDn in asDomainLst)
            {
                string sPath;

                sPath = sFolder + "\\" + sDn + ".txt";
                if (store.FileExists(sPath))
                {
                    string sUaID = store.ReadTextFile(sPath, "");
                    if (sUaID.Length > 0)
                    {
                        return(sUaID);
                    }
                }
            }

            return(sDefaultRetVal);
        }
        private void btn_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            host.UI.lbTit.Visibility     = System.Windows.Visibility.Collapsed;
            host.UI.lblTitles.Visibility = System.Windows.Visibility.Collapsed;
            host.UI.PageTitle.Visibility = System.Windows.Visibility.Collapsed;
            host.UI.txtTit.Visibility    = System.Windows.Visibility.Visible;
            host.UI.spDate.Visibility    = System.Windows.Visibility.Visible;
            host.UI.lblNot.Visibility    = System.Windows.Visibility.Visible;
            host.UI.FileName.Visibility  = System.Windows.Visibility.Visible;

            sTitOld             = ((Button)sender).Content.ToString();
            sLstLoadTitle       = sTitOld;
            host.UI.txtTit.Text = sTitOld;

            RscStore store = new RscStore();

            bool   bTmp;
            string sDt = store.ReadTextFile(((Button)sender).Tag.ToString(), "", out bTmp);

            //host.UI.txtNot.Text = sDt
            try
            {
                txY.Text = "";
                txM.Text = "";
                txD.Text = "";

                int iOff = 0;

                if (sDt.Length > 6)
                {
                    txY.Text = sDt.Substring(0, 4);
                    iOff    += 5;
                }

                if (sDt.Length > 3)
                {
                    txM.Text = sDt.Substring(iOff, 2);
                    iOff    += 3;
                }

                if (sDt.Length > 0)
                {
                    txD.Text = sDt.Substring(iOff, 2);
                }
            }
            catch (Exception)
            {
            }

            host.UI.txtCch.Text = "";

            host.UI.btnSave.Visibility = System.Windows.Visibility.Collapsed;
            host.UI.lblSave.Visibility = System.Windows.Visibility.Collapsed;
            host.UI.btnSend.Visibility = System.Windows.Visibility.Visible;
            host.UI.lblSend.Visibility = System.Windows.Visibility.Visible;
            host.UI.btnDel.Visibility  = System.Windows.Visibility.Visible;
            host.UI.lblDel.Visibility  = System.Windows.Visibility.Visible;
        }
예제 #4
0
        public PerDay()
        {
            InitializeComponent();

            bool bLoaded = false;

            try
            {
                RscStore store = new RscStore();

                if (store.FolderExists("A:\\Documents\\PerDay"))
                {
                    bool   bTmp;
                    string sTx = store.ReadTextFile("A:\\Documents\\PerDay\\Default.txt", "", out bTmp);
                    if (sTx.Length > 0)
                    {
                        string [] aTx = sTx.Split('|');
                        if (aTx.Length == 5)
                        {
                            dtin_y.Text = aTx[0];
                            dtin_m.Text = aTx[1];
                            dtin_d.Text = aTx[2];

                            amo.Text = aTx[3];

                            unt.Text = aTx[4];

                            Calc();

                            bLoaded = true;
                        }
                    }
                }
            }
            catch (Exception)
            {
            }

            if (!bLoaded)
            {
                DateTime dt = DateTime.Now;

                dtin_y.Text = dt.Year.ToString();
                dtin_m.Text = dt.Month.ToString();
                dtin_d.Text = dt.Day.ToString();

                amo.Text = "";

                unt.Text = "";
            }

            btnCalc.Click += new System.Windows.RoutedEventHandler(btnCalc_Click);
        }
        private void _ReadTextFile()
        {
            if (m_iIndex == 0)
            {
                m_btnPrev.Visibility = Rsc.Collapsed;
            }
            else
            {
                m_btnPrev.Visibility = Rsc.Visible;
            }

            if (m_iIndex >= (m_aPathes.Count - 1))
            {
                m_btnNext.Visibility = Rsc.Collapsed;
            }
            else
            {
                m_btnNext.Visibility = Rsc.Visible;
            }

            m_btnShare.Visibility = Rsc.ConditionalVisibility(m_aPathes.Count > 0);

            if (m_aPathes.Count == 0)
            {
                m_AppFrame.StatusText = "0 of 0";
                m_txtPath.Text        = "";

                m_aLines.Clear();

                return;
            }

            m_AppFrame.StatusText = (m_iIndex + 1).ToString() + " of " + m_aPathes.Count.ToString();

            m_sPath_TEMP = m_aPathes[m_iIndex];

            m_txtPath.Text = m_sPath_TEMP;

            RscStore store = new RscStore();

            bool bNotExist = false;

            m_sContent_TEMP = store.ReadTextFile(m_sPath_TEMP, "", out bNotExist);

            if (m_sContent_TEMP.Length == 0)
            {
                return;
            }

            m_aLines.Clear();

            m_AppFrame.StartTimer("load", LayoutRoot, 1, 0, false);
        }
예제 #6
0
        private void ReadPlaylist()
        {
            m_iCurrentTrack = 0;
            m_aTracks.Clear();

            RscStore store = new RscStore();

            store.CreateFolderPath("A:\\System\\AudioPlaybackAgent");

            bool   bPlNotExist;
            string sPl = store.ReadTextFile("A:\\System\\AudioPlaybackAgent\\Playlist.txt", "", out bPlNotExist);

            if (bPlNotExist)
            {
                return;
            }

            string [] astr = sPl.Split(new String [] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
            foreach (string str in astr)
            {
                string [] astrTi = str.Split('|');
                if (astrTi.Length == 3)
                {
                    MyTrack t = new MyTrack();

                    t.Album = astrTi[0];
                    t.Title = astrTi[1];
                    t.Path  = astrTi[2];

                    m_aTracks.Add(t);
                }
            }

            string sCt = store.ReadTextFile("A:\\System\\AudioPlaybackAgent\\CurrentTrack.txt", "0", out bPlNotExist);

            if (!Int32.TryParse(sCt, out m_iCurrentTrack))
            {
                m_iCurrentTrack = 0;
            }
        }
        public RscPageArgsRet GetOutput( )
        {
            string strPath   = RscKnownFolders.GetTempPath("PageArgsRet") + "\\" + m_strPageName + "_OUT" + ".txt";
            bool   bNotExist = false;

            RscStore store     = new RscStore();
            string   strOutput = store.ReadTextFile(strPath, "", out bNotExist);

            RscPageArgsRet OutPut = new RscPageArgsRet(this);

            OutPut.FromString(strOutput);

            return(OutPut);
        }
예제 #8
0
        public static string ReadString(HKEY hk, string sPath, string sName, string sDefaultValue = "")
        {
            string strFullPath = GetFullPath(hk, sPath);

            RscStore store = new RscStore();

            //MUST NOT!!!
            //store.CreateFolderPath( strFullPath );

            strFullPath += "\\" + sName + ".String";

            bool bNotExist = false;

            return(store.ReadTextFile(strFullPath, sDefaultValue, out bNotExist));
        }
        public RscPageArgsRet GetInput(string strPageName)
        {
            m_strPageName = strPageName;
            string strPath   = RscKnownFolders.GetTempPath("PageArgsRet") + "\\" + m_strPageName + "_IN" + ".txt";
            bool   bNotExist = false;

            RscStore store    = new RscStore();
            string   strInput = store.ReadTextFile(strPath, "", out bNotExist);

            if (bNotExist)
            {
                return(null);
            }
            RscPageArgsRet InPut = new RscPageArgsRet(this);

            InPut.FromString(strInput);
            return(InPut);
        }
        private void doRefresh()
        {
            spFiles.Children.Clear();
            sEml = "";

            RscStore store = new RscStore();

            string[] fles = RscSort.OrderBy(store.GetFileNames(csDocFolder, "*.txt"));
            foreach (string sFle in fles)
            {
                bool   bTmp;
                string sTx = store.ReadTextFile(csDocFolder + "\\" + sFle, "", out bTmp);
                if (sTx.Length > 0)
                {
                    addDate(csDocFolder + "\\" + sFle, sTx, RscStore.FileNameOfPath(sFle));
                }
            }
        }
예제 #11
0
        public static int ReadDWORD(HKEY hk, string sPath, string sName, int iDefaultValue = 0)
        {
            string strFullPath = GetFullPath(hk, sPath);

            RscStore store = new RscStore();

            //MUST NOT!!!
            //store.CreateFolderPath( strFullPath );

            strFullPath += "\\" + sName + ".DWORD";

            bool   bNotExist = false;
            string sValue    = store.ReadTextFile(strFullPath, iDefaultValue.ToString(), out bNotExist);

            int iValue = iDefaultValue;

            Int32.TryParse(sValue, out iValue);

            return(iValue);
        }
예제 #12
0
        private void imgReady()
        {
            host.UI.imgIcon.Visibility = System.Windows.Visibility.Visible;

            host.UI.btnSave.Visibility = System.Windows.Visibility.Visible;
            host.UI.lblSave.Visibility = System.Windows.Visibility.Visible;

            host.UI.btnWebDog.Visibility = System.Windows.Visibility.Visible;
            host.UI.lblWebDog.Visibility = System.Windows.Visibility.Visible;

            RscStore store = new RscStore();

            bool   bTmp;
            string sUri = store.ReadTextFile(csDocFolder + "\\" + "WebDogUri.txt", "", out bTmp);

            if (sUri == host.UI.tbUri.Text.ToString())
            {
                //Refresh file date...
                store.WriteTextFile(csDocFolder + "\\" + "WebDogUri.txt", sUri, true);
            }
        }
예제 #13
0
        private void DoExpCol(object sender)
        {
            Button     btn = (Button)sender;
            TreeLbItem ti  = (TreeLbItem)btn.Tag;

            if (ti.gr == GoogleRequest.None && (!ti.HasResponse))
            {
                return;                 //Nothing to load...
            }
            if (ti.Expanded)
            {
                ti.Collapse();
            }
            else
            {
                if (ti.HasResponse)
                {
                    ti.Expand();
                }
                else
                {
                    if (m_tiLoading != null)
                    {
                        MessageBox.Show("Load in progress!\n\nPlease wait...");
                        return;
                    }

                    string id = "";
                    if (ti.Parameters != null)
                    {
                        id = ti.Parameters.GetPropertyValue("id");
                    }
                    string sUriResource = "";
                    string sBaseUrl     = GoogleUtils.GoogleRequestBaseUrl(ti.gr, out sUriResource, "me", id);
                    if (sBaseUrl.Length == 0)
                    {
                        MessageBox.Show("No Request Url found!");
                        return;
                    }

                    bool bLoadedFromFile = false;
                    if (m_sUserIDlast.Length > 0)
                    {
                        string sPath = csSecretsFolder + "\\" + m_sUserIDlast;

                        RscStore store = new RscStore();
                        store.CreateFolderPath(sPath);

                        string sFn = Uri2FileName(sBaseUrl + sUriResource);
                        bool   bTmp;
                        string sJSon = store.ReadTextFile(sPath + "\\" + sFn + ".json", "", out bTmp);
                        if (sJSon.Length > 0)
                        {
                            DoLoad(ti, sJSon,
                                   sBaseUrl + sUriResource, "", false);

                            m_btnCleanUp.Visibility = Rsc.Visible;

                            bLoadedFromFile = true;
                        }
                    }

                    if (!bLoadedFromFile)
                    {
                        m_tiLoading         = ti;
                        m_tiLoading.Loading = true;

                        //VERY SLOW!!!
                        //m_aTI.Refresh();

                        m_gAuth.SendRequest(sBaseUrl, sUriResource);
                    }
                }
            }
        }
예제 #14
0
        private void m_btnInit_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            if (m_gAuth == null)
            {
                RscStore store = new RscStore();
                store.CreateFolderPath(csSecretsFolder);

                string sPath      = csSecretsFolder + "\\" + "client_secret.json";
                bool   bNotExists = false;
                string sJSon      = store.ReadTextFile(sPath, "", out bNotExists);
                if (bNotExists)
                {
                    MessageBox.Show("File " + sPath + " does not exists!"
                                    + "\n\n(NOTE: Drive A: reffers to Isolated Storage.)"
                                    + "\n\n(NOTE: You can download missing file from FTP Cloud. Press Tools button in Caption Bar.)");
                    return;
                }

                string      sErr = "";
                RscJSonItem json = RscJSon.FromResponseContetn(sJSon, out sErr);
                if (sErr.Length > 0)
                {
                    LogError(sErr);

                    //Try to get values needed...
                    //return;
                }

                //To see content of json...
                TreeLbItem tiJSon;
                tiJSon       = new TreeLbItem(m_aTI, null);
                tiJSon.Title = "client_secret.json";
                m_aTI.Add(tiJSon);
                tiJSon.SetResponse(json, false);

                bool bTmp;
                m_sUserIDlast = store.ReadTextFile(csSecretsFolder + "\\" + "UserIDlast.txt", "", out bTmp);


                // //
                //

                m_gAuth = new RscGoogleAuth(json,
                                            RscGoogleScopes.UserinfoEmail
                                            + " " + RscGoogleScopes.UserinfoProfile
                                            + " " + RscGoogleScopes.Gmail,
                                            webBrowser1);

                m_gAuth.Authenticated        += new EventHandler(m_gAuth_Authenticated);
                m_gAuth.AuthenticationFailed += new EventHandler(m_gAuth_AuthenticationFailed);
                m_gAuth.ShowAuthPage         += new EventHandler(m_gAuth_ShowAuthPage);
                m_gAuth.ResponseReceived     += new Ressive.GoogleApi.RscGoogleAuth.ResponseReceived_EventHandler(m_gAuth_ResponseReceived);

                m_gAuth.AuthResult = LoadAuthResult();

                //
                // //


                m_btnInit.Visibility = Rsc.Collapsed;

                m_btnExpandAll.Visibility   = Rsc.Visible;
                m_btnCollapseAll.Visibility = Rsc.Visible;

                //DO NOT!!!
                //m_btnLogOut.Visibility = Rsc.Visible;

                m_AppFrame.StatusText = "Initialized...";

                // //
                //

                TreeLbItem ti;

                ti    = new TreeLbItem(m_aTI, null);
                ti.gr = GoogleRequest.UserInfo;
                m_aTI.Add(ti);

                if (m_sUserIDlast.Length > 0)
                {
                    AddRootContainers();
                }

                //
                // //
            }
        }
예제 #15
0
        public override string GetInfo(bool bForSysTile, string sIcoId, out Brush brBk, out Brush brFore,
                                       out double dFontSize, out string sErr,
                                       out string sNotiTitle, out string sNotiContent, out string sNotiSound,
                                       bool bCalledByAgent, object oAgentParam, out string sInfoToChngChk)
        {
            brBk      = null;
            brFore    = null;
            dFontSize = 0;
            sErr      = "";

            sNotiTitle   = "";
            sNotiContent = "";
            sNotiSound   = "";

            sInfoToChngChk = "";

            string sCnt = "";

            try
            {
                switch (sIcoId)
                {
                case csTileID:
                {
                    int iCount_NEW       = 0;
                    int iCount_NonAckAll = 0;
                    int iCountAll        = 0;

                    RscStore store = new RscStore();

                    string sUserIDlast = store.ReadTextFile(AppLogic.csSecretsFolder + "\\" + "UserIDlast.txt", "");

                    if (sUserIDlast.Length > 0)
                    {
                        string sPath = AppLogic.csSecretsFolder + "\\" + sUserIDlast;

                        sPath += "\\Threads";
                        if (store.FolderExists(sPath))
                        {
                            iCount_NEW       = store.ReadXmlDataFile(sPath + "\\" + "Count_NEW" + ".xml", iCount_NEW);
                            iCount_NonAckAll = store.ReadXmlDataFile(sPath + "\\" + "Count_NonAck" + ".xml", iCount_NonAckAll);
                            iCountAll        = store.ReadXmlDataFile(sPath + "\\" + "Count" + ".xml", iCountAll);
                        }
                    }

                    int iNewNow = 0;
                    if (bForSysTile)
                    {
                        /*
                         * try
                         * {
                         *      AppLogic al = new AppLogic();
                         *      iNew = al.ReadThreadData( );
                         * }
                         * catch( Exception )
                         * {
                         *      iNew = -1;
                         * }
                         */

                        if (bCalledByAgent)
                        {
                            iNewNow = 0;
                            if (!Int32.TryParse(oAgentParam.ToString(), out iNewNow))
                            {
                                iNewNow = -400;
                            }
                        }
                    }
                    else
                    {
                    }

                    string sTile;
                    if (iNewNow < 0)
                    {
                        if (iNewNow == AppLogic.ciAuthFail)
                        {
                            sTile = "NO CONN!";
                        }
                        else
                        {
                            sTile = "ERR: " + iNewNow.ToString();                                     //"ERROR!";
                        }
                    }
                    else
                    {
                        sTile = "new: " + iCount_NEW.ToString();
                    }
                    sCnt += sTile;

                    string sCont = "non-ack: " + iCount_NonAckAll.ToString() + " / " + iCountAll.ToString();

                    sCnt += "\n" + "non-ack: " + iCount_NonAckAll.ToString();
                    sCnt += "\n" + "all: " + iCountAll.ToString();

                    sInfoToChngChk = sCnt;

                    DateTime dNow = DateTime.Now;
                    sCnt += "\n\n" + "at: " + RscUtils.pad60(dNow.Hour) +
                            ":" + RscUtils.pad60(dNow.Minute);

                    if (iNewNow < 0 || iNewNow > 0 || iCount_NEW > 0)
                    {
                        brBk = new SolidColorBrush(Colors.Red);

                        sNotiTitle   = sTile;
                        sNotiContent = sCont;

                        //sNotiSound = /*"/Lib_Rsc;component/" +*/ "Media/BociBociTarka.wav";
                        sNotiSound = /*"/Lib_Rsc;component/" +*/ "Media/Ding.wav";
                    }
                    else
                    {
                        if (iCount_NonAckAll > 0)
                        {
                            brBk = new SolidColorBrush(Colors.Orange);
                        }
                        else
                        {
                            brBk = new SolidColorBrush(Colors.Green);
                        }
                    }
                    brFore = new SolidColorBrush(Colors.White);

                    dFontSize = 11;

                    break;
                }

                default:
                {
                    sCnt = "???";
                    break;
                }
                }
            }
            catch (Exception e)
            {
                //Do not generate too many err files...
                RscStore.AddSysEvent(e, "Tile_Info_Title_Createion_Error");

                sErr = e.Message + "\r\n" + e.StackTrace;
                sCnt = "ERR!";
            }

            return(sCnt);
        }
예제 #16
0
        private SoundInfo AddSound(string sPath)
        {
            string sExt    = "N/A";
            string sTitle  = "N/A";
            string sFolder = "";

            int iPosDot = sPath.LastIndexOf('.');

            if (iPosDot >= 0)
            {
                sExt = sPath.Substring(iPosDot + 1);
            }
            else
            {
                iPosDot = sPath.Length;
                sExt    = "<NONE>";
            }

            int iPosBs = sPath.LastIndexOf('\\');

            if (iPosBs >= 0)
            {
                if (iPosBs < 0)
                {
                    iPosBs = -1;
                }
                sTitle = sPath.Substring(iPosBs + 1, (iPosDot - iPosBs) - 1);

                if (iPosBs > 0)
                {
                    sFolder = sPath.Substring(0, iPosBs);
                }
            }

            SoundInfo snd = new SoundInfo();

            snd.Path = sPath;

            snd.FileType  = "\r\n" + sExt.ToUpper();
            snd.FileTitle = sTitle;
            snd.sFolder   = sFolder;

            snd.SoundState = MediaElementState.Closed;

            snd.Parent = m_sounds;
            m_sounds.Add(snd);

            // //
            //

            RscStore store = new RscStore();

            store.CreateFolderPath("A:\\System\\AudioPlaybackAgent");

            bool   bPlNotExist;
            string sPl = store.ReadTextFile("A:\\System\\AudioPlaybackAgent\\Playlist.txt", "", out bPlNotExist);

            if (sPl.Length > 0)
            {
                sPl += "\r\n";
            }
            sPl += sFolder + "|" + sTitle + "|" + sPath;
            store.WriteTextFile("A:\\System\\AudioPlaybackAgent\\Playlist.txt", sPl, true);

            if (bPlNotExist)
            {
                store.WriteTextFile("A:\\System\\AudioPlaybackAgent\\CurrentTrack.txt", "0", true);
            }

            //
            // //

            return(snd);
        }
예제 #17
0
        public int ReadThreadData()
        {
            RscStore store = new RscStore();

            store.CreateFolderPath(AppLogic.csSecretsFolder);

            string sPath      = AppLogic.csSecretsFolder + "\\" + "client_secret.json";
            bool   bNotExists = false;
            string sJSon      = store.ReadTextFile(sPath, "", out bNotExists);

            if (bNotExists)
            {
                return(-2);
            }

            string      sErr = "";
            RscJSonItem json = RscJSon.FromResponseContetn(sJSon, out sErr);

            if (sErr.Length > 0)
            {
                //Try to get values needed...
                //return -3;
            }

            m_sUserIDlast = store.ReadTextFile(AppLogic.csSecretsFolder + "\\" + "UserIDlast.txt", "");
            if (m_sUserIDlast.Length == 0)
            {
                return(-3);
            }

            // //
            //

            //if( gAuth == null )
            //{
            RscGoogleAuth gAuth = new RscGoogleAuth(json,
                                                    RscGoogleScopes.UserinfoEmail
                                                    + " " + RscGoogleScopes.UserinfoProfile
                                                    + " " + RscGoogleScopes.Gmail,
                                                    null); //webBrowser1 );

            gAuth.Authenticated        += new EventHandler(m_gAuth_Authenticated);
            gAuth.AuthenticationFailed += new EventHandler(m_gAuth_AuthenticationFailed);
            gAuth.ShowAuthPage         += new EventHandler(m_gAuth_ShowAuthPage);
            gAuth.ResponseReceived     += new Ressive.GoogleApi.RscGoogleAuth.ResponseReceived_EventHandler(m_gAuth_ResponseReceived);

            //bool bNotExists;
            gAuth.AuthResult = LoadAuthResult(out bNotExists);
            if (bNotExists)
            {
                return(-4);
            }
            //}

            //
            // //

            string sUriResource = "";
            string sBaseUrl     = GoogleUtils.GoogleRequestBaseUrl(GoogleRequest.GMail_Threads, out sUriResource, "me", "");

            if (sBaseUrl.Length == 0)
            {
                return(-5);
            }

            /*
             * Object oRes = null;
             * var taskHlp = Task.Run(async () => { oRes = await m_gAuth.SendRequestTask( sBaseUrl, sUriResource ); });
             * taskHlp.Wait();
             *
             * if( oRes == null )
             *      return -6;
             * else
             *      return oRes.ToString().Length;
             */

            //Task<Object> tsk = gAuth.SendRequestTask( sBaseUrl, sUriResource );
            //tsk.Wait();

            /*
             * int iRet = 0;
             * var taskHlp = Task.Run(async () => { iRet = await SendRequestTask( gAuth, sBaseUrl, sUriResource ); });
             * taskHlp.Wait();
             */

            /*
             * Task<Object> tsk = gAuth.SendRequestTask( sBaseUrl, sUriResource );
             * for(;;)
             * {
             *      if( tsk.IsCompleted )
             *              break;
             *
             *      //System.Threading.Tasks.Task.Delay(100).Wait();
             *
             *      MessageBox.Show( "Not complete..." );
             * }
             */

            try
            {
                gAuth.SendRequest(sBaseUrl, sUriResource);
            }
            catch (Exception)
            {
                return(-6);
            }

            return(0);
        }
예제 #18
0
        public static bool VersionUpgrade(string sUserIDlast, bool bChkOnly)
        {
            RscStore store = new RscStore();

            string sFolder = AppLogic.csSecretsFolder + "\\" + sUserIDlast + "\\" + "Threads";

            int iOldVer = 0;

            if (!store.FolderExists(sFolder))
            {
                if (bChkOnly)
                {
                    return(true);                           //NOTHING stored yet...
                }
                store.CreateFolderPath(sFolder);
            }

            string sVersion = store.ReadTextFile(sFolder + "\\" + "Version.txt", "0");

            if (sVersion == ciCurrentVersion.ToString())
            {
                return(true);
            }

            if (bChkOnly)
            {
                return(false);
            }

            if (!Int32.TryParse(sVersion, out iOldVer))
            {
                iOldVer = 0;
            }

            // //
            //

            int iVer = iOldVer;

            for (;;)
            {
                if (iVer >= ciCurrentVersion)
                {
                    break;
                }

                switch (iVer)
                {
                case 0:
                case 100:
                case 101:
                {
                    string [] asIDs = store.GetFolderNames(sFolder, "*.*");

                    int iSubCntr = 0;

                    for (int i = 0; i < asIDs.Length; i++)
                    {
                        string sIdOrder = "";
                        sIdOrder = store.ReadTextFile(sFolder + "\\" + asIDs[i] + "\\" + "IdOrder" + ".txt", sIdOrder);
                        string [] asIdOrders = sIdOrder.Split('|');

                        iSubCntr += asIdOrders.Length;

                        string sId = asIdOrders[asIdOrders.Length - 1];

                        MyThread2 th = new MyThread2();
                        th = store.ReadXmlDataFile(sFolder + "\\" + asIDs[i] + "\\" + sId + ".xml", th);
                        if (th.ID.Length == 0)
                        {
                            return(false);                                    //FAIL!!!
                        }
                        string sTmp = "";

                        sTmp += th.DateSaved.Year.ToString();
                        sTmp += RscUtils.pad60(th.DateSaved.Month);
                        sTmp += RscUtils.pad60(th.DateSaved.Day);
                        sTmp += "_";
                        sTmp += RscUtils.pad60(th.DateSaved.Hour);
                        sTmp += RscUtils.pad60(th.DateSaved.Minute);
                        sTmp += RscUtils.pad60(th.DateSaved.Second);
                        sTmp += "_";
                        int iMs = th.DateSaved.Millisecond;
                        if (iMs < 10)
                        {
                            sTmp += "00";
                        }
                        else
                        {
                            if (iMs < 100)
                            {
                                sTmp += "0";
                            }
                        }
                        sTmp += iMs.ToString();

                        asIDs[i] = sTmp + "|" + asIDs[i];
                    }

                    asIDs = RscSort.OrderBy(asIDs, true);

                    /*
                     * StringBuilder sb = new StringBuilder();
                     */

                    string sRes = "";

                    foreach (string sID in asIDs)
                    {
                        /*
                         * sb.AppendLine( sID );
                         */

                        if (sRes.Length > 0)
                        {
                            sRes += "|";
                        }
                        sRes += sID.Substring(20);
                    }

                    /*
                     * sb.Append( "\r\n" );
                     * sb.Append( "Cntr: " + asIDs.Length.ToString() + "\r\n" );
                     * sb.Append( "Sub-Cntr: " + iSubCntr.ToString() + "\r\n" );
                     * store.WriteTextFile( "A:\\GMail.txt", sb.ToString(), true );
                     */

                    store.WriteTextFile(sFolder + "\\" + "IdOrder" + ".txt", sRes, true);

                    iVer = 102;

                    break;
                }

                //Denie endless loop...
                default:
                    iVer = ciCurrentVersion;
                    break;
                }

                store.WriteTextFile(sFolder + "\\" + "Version.txt", iVer.ToString(), true);
            }

            //
            // //

            return(true);
        }
예제 #19
0
        private void DoExpColItem(TreeLbItem ti)
        {
            if (ti.gr == GoogleRequest.None && (!ti.HasResponse))
            {
                if (ti.Expanded)
                {
                    ti.Collapse();
                }
                else if (!ti.IsLeaf && !ti.IsDetailsOnly)
                {
                    if (ti.sID == csVerUp)
                    {
                        if (m_tiLoading != null)
                        {
                            MessageBox.Show("Load in progress!\n\nPlease wait...");
                            return;
                        }

                        m_tiLoading         = ti;
                        m_tiLoading.Loading = true;

                        m_AppFrame.StartTimer(csVerUp, LayoutRoot, 1, 0, false);
                    }
                    else if (ti.sID == csMoreItems)
                    {
                        int iStartIndex = Int32.Parse(ti.sHistoryID);

                        string sPath = AppLogic.csSecretsFolder + "\\" + m_sUserIDlast;
                        ShowSavedThreadData(sPath, iStartIndex, ti);
                    }
                    else
                    {
                        ti.Expand();
                    }
                }

                return;                 //Nothing to load...
            }

            if (ti.Expanded)
            {
                ti.Collapse();
            }
            else
            {
                if (ti.HasResponse)
                {
                    ti.Expand();
                }
                else
                {
                    if (m_tiLoading != null)
                    {
                        MessageBox.Show("Load in progress!\n\nPlease wait...");
                        return;
                    }

                    string id = "";
                    if (ti.Parameters != null)
                    {
                        id = ti.Parameters.GetPropertyValue("id");
                    }
                    string sUriResource = "";
                    string sBaseUrl     = GoogleUtils.GoogleRequestBaseUrl(ti.gr, out sUriResource, "me", id);
                    if (sBaseUrl.Length == 0)
                    {
                        MessageBox.Show("No Request Url found!");
                        return;
                    }

                    bool bLoadedFromFile = false;
                    if (m_sUserIDlast.Length > 0)
                    {
                        if (ti.gr != GoogleRequest.GMail_Threads)
                        {
                            string sPath = AppLogic.csSecretsFolder + "\\" + m_sUserIDlast;

                            RscStore store = new RscStore();
                            store.CreateFolderPath(sPath);

                            string sFn = Uri2FileName(sBaseUrl + sUriResource);
                            bool   bTmp;
                            string sJSon = store.ReadTextFile(sPath + "\\" + sFn + ".json", "", out bTmp);
                            if (sJSon.Length > 0)
                            {
                                bool bTmp2;
                                DoLoad(ti, sJSon,
                                       sBaseUrl + sUriResource, "", false, out bTmp2);

                                m_btnCleanUp.Visibility = Rsc.Visible;

                                bLoadedFromFile = true;
                            }
                        }
                    }

                    if (!bLoadedFromFile)
                    {
                        if (ti.gr == GoogleRequest.GMail_Threads)
                        {
                            m_tiSum = null;
                            m_aTI.RemoveAll(ti);
                        }

                        m_tiLoading         = ti;
                        m_tiLoading.Loading = true;

                        //VERY SLOW!!!
                        //m_aTI.Refresh();

                        m_gAuth.SendRequest(sBaseUrl, sUriResource);
                    }
                }
            }
        }
예제 #20
0
        public override string GetInfo(bool bForSysTile, string sIcoId, out Brush brBk, out Brush brFore,
                                       out double dFontSize, out string sErr,
                                       out string sNotiTitle, out string sNotiContent, out string sNotiSound,
                                       bool bCalledByAgent, object oAgentParam, out string sInfoToChngChk)
        {
            brBk      = null;
            brFore    = null;
            dFontSize = 0;
            sErr      = "";

            sNotiTitle   = "";
            sNotiContent = "";
            sNotiSound   = "";

            sInfoToChngChk = "";

            string sCnt = "";

            try
            {
                switch (sIcoId)
                {
                case "sysTm":
                {
                    DateTime dNow = DateTime.Now;
                    sCnt += RscUtils.pad60(dNow.Hour) +
                            ":" + RscUtils.pad60(dNow.Minute);

                    if (bForSysTile)
                    {
                        sCnt += "\n\n(as of)";
                    }
                    else
                    {
                        sCnt += "\n:" + RscUtils.pad60(dNow.Second);
                    }

                    break;
                }

                case "sysDtFull":
                {
                    DateTime dNow = DateTime.Now;
                    sCnt += dNow.Year.ToString() +
                            ".\n" + RscUtils.pad60(dNow.Month) + "." +
                            RscUtils.pad60(dNow.Day) + ".";
                    break;
                }

                case "sysDtDay":
                {
                    DateTime dNow = DateTime.Now;
                    sCnt += RscUtils.pad60(dNow.Day) + ". ";
                    switch (dNow.DayOfWeek)
                    {
                    case DayOfWeek.Monday: sCnt += "H"; break;

                    case DayOfWeek.Tuesday: sCnt += "K"; break;

                    case DayOfWeek.Wednesday: sCnt += "Sze"; break;

                    case DayOfWeek.Thursday: sCnt += "Cs"; break;

                    case DayOfWeek.Friday: sCnt += "P"; break;

                    case DayOfWeek.Saturday: sCnt += "Szo"; break;

                    case DayOfWeek.Sunday: sCnt += "V"; break;
                    }

                    sCnt += "\n" + RscUtils.pad60(RscUtils.WeekOfYearHU(dNow)) + ". hét";
                    break;
                }

                case "sysFsFree":
                {
                    string sIsoStoreDrive = "";
                    long   lFree          = RscStore.AvailableFreeSpace(out sIsoStoreDrive);

                    sCnt += RscUtils.toMBstr(lFree, true);

                    if (sIsoStoreDrive.Length > 0)
                    {
                        sCnt = sIsoStoreDrive + "\n" + sCnt;
                    }

                    sNotiTitle   = "Free Space";
                    sNotiContent = sCnt.Replace('\n', ' ');

                    sInfoToChngChk = RscUtils.toMBstr(lFree, true, false, 1);

                    break;
                }

                case "sysBatPow":
                {
                    sCnt += Windows.Phone.Devices.Power.Battery.GetDefault().RemainingChargePercent.ToString() + " %";

                    if (Microsoft.Phone.Info.DeviceStatus.PowerSource == Microsoft.Phone.Info.PowerSource.Battery)
                    {
                        sCnt += "";                                 //"\n\nBATT";
                    }
                    else
                    {
                        sCnt += "\n\nCHRG";
                    }

                    if (Windows.Phone.Devices.Power.Battery.GetDefault().RemainingChargePercent >= 100 &&
                        Microsoft.Phone.Info.DeviceStatus.PowerSource != Microsoft.Phone.Info.PowerSource.Battery)
                    {
                        brBk   = new SolidColorBrush(Colors.Red);
                        brFore = new SolidColorBrush(Colors.White);

                        sNotiTitle   = "Battery Charge";
                        sNotiContent = sCnt.Replace('\n', ' ');

                        //sNotiSound = /*"/Lib_Rsc;component/" +*/ "Media/BociBociTarka.wav";
                        sNotiSound = /*"/Lib_Rsc;component/" +*/ "Media/DingDing.wav";
                    }

                    break;
                }

                case "sysCellNet":
                {
                    dFontSize = 11;

                    string sCmo = DeviceNetworkInformation.CellularMobileOperator;
                    for (int i = 0; i < 1; i++)
                    {
                        int iPos = sCmo.IndexOf(' ');
                        if (iPos < 0)
                        {
                            sCmo += "\n";
                            //if( i == 0 ) sCmo += "\n";
                            break;
                        }

                        sCmo = sCmo.Substring(0, iPos) + "\n" + sCmo.Substring(iPos + 1);
                    }

                    sCnt += sCmo + "\n";

                    if (DeviceNetworkInformation.IsCellularDataEnabled)
                    {
                        sCnt += "d(ata) ON";
                    }
                    else
                    {
                        sCnt += "d(ata) OFF";
                    }
                    sCnt += "\n";

                    if (DeviceNetworkInformation.IsCellularDataRoamingEnabled)
                    {
                        sCnt += "d roam ON";
                    }
                    else
                    {
                        sCnt += "d roam OFF";
                    }

                    break;
                }

                case "sysCnt_Note":
                {
                    int iCount = 0;

                    RscStore store = new RscStore();

                    if (store.FolderExists("A:\\Documents\\Notes"))
                    {
                        string[] fles = store.GetFileNames("A:\\Documents\\Notes", "*.txt");
                        iCount = fles.Length;
                    }

                    brBk   = new SolidColorBrush(Color.FromArgb(255, 252, 244, 178));
                    brFore = new SolidColorBrush(Colors.Black);
                    sCnt  += iCount.ToString() + "\n\nnotes";

                    break;
                }

                case "sysCnt_Anni":
                {
                    int iCntRed    = 0;
                    int iCntOrange = 0;
                    int iCntGreen  = 0;
                    int iCntBlue   = 0;
                    int iCntGray   = 0;

                    RscStore store = new RscStore();

                    if (store.FolderExists("A:\\Documents\\Dates"))
                    {
                        string[] fles = RscSort.OrderBy(store.GetFileNames("A:\\Documents\\Dates", "*.txt"));
                        foreach (string sFle in fles)
                        {
                            bool   bTmp;
                            string sDate = store.ReadTextFile("A:\\Documents\\Dates" + "\\" + sFle, "", out bTmp);

                            if (sDate.Length == 0)
                            {
                                continue;
                            }

                            DateTime dtNow = DateTime.Now;
                            string   sYnow = dtNow.Year.ToString();
                            string   sMnow = dtNow.Month.ToString();

                            int iCyc = 0;
                            for (iCyc = 0; iCyc < 2; iCyc++)
                            {
                                string sY;
                                string sM;
                                string sD;

                                bool bAnniver = (sDate.Substring(2, 1) == ".");
                                if (bAnniver)
                                {
                                    if (sDate.Length == 3)
                                    {
                                        sY = sYnow;
                                        sM = sMnow;
                                        sD = sDate.Substring(0, 2);

                                        //FIX...
                                        //sMnow = (dtNow.Month + 1).ToString();
                                        if (dtNow.Month >= 12)
                                        {
                                            sMnow = "1";
                                            sYnow = (dtNow.Year + 1).ToString();
                                        }
                                        else
                                        {
                                            sMnow = (dtNow.Month + 1).ToString();
                                        }
                                    }
                                    else
                                    {
                                        sY = sYnow;
                                        sM = sDate.Substring(0, 2);
                                        sD = sDate.Substring(3, 2);

                                        sYnow = (dtNow.Year + 1).ToString();
                                    }
                                }
                                else
                                {
                                    sY = sDate.Substring(0, 4);
                                    sM = sDate.Substring(5, 2);
                                    sD = sDate.Substring(8, 2);
                                }

                                int iY = 1901; Int32.TryParse(sY, out iY);                                        //parseInt(sY);
                                int iM = 1; Int32.TryParse(sM, out iM);                                           //parseInt(sM);
                                int iD = 1; Int32.TryParse(sD, out iD);                                           //parseInt(sD);

                                dtNow = DateTime.Now;
                                DateTime dt1 = new DateTime(dtNow.Year, dtNow.Month, dtNow.Day);
                                DateTime dt2 = new DateTime(iY, iM, iD);

                                //var dDiff = dt1.getTime() - dt2.getTime();
                                TimeSpan tsDiff = dt1 - dt2;
                                double   dDiff  = tsDiff.TotalMilliseconds;

                                double dDiffD = Math.Floor(dDiff / (1000 * 3600 * 24));

                                /*
                                 * double dDiffW;
                                 * if( dDiffD < 0 )
                                 * {
                                 *      dDiffW = Math.Round((dDiffD * -1) / 7, 0) * -1;
                                 * }
                                 * else
                                 * {
                                 *      dDiffW = Math.Round(dDiffD / 7, 0);
                                 * }
                                 */

                                if (bAnniver && (dDiffD > 7))
                                {
                                    continue;
                                }

                                /*
                                 * var sWtit = dDiffW.ToString() +
                                 *      "w " + (dDiffD - (dDiffW * 7)).ToString() + "d";
                                 */

                                if (bAnniver)
                                {
                                    if ((dDiffD * dDiffD) < 10)
                                    {
                                        iCntRed++;
                                    }
                                    else
                                    {
                                        if ((dDiffD * dDiffD) < 50)
                                        {
                                            iCntOrange++;
                                        }
                                        else
                                        {
                                            if ((dDiffD * dDiffD) < 197)
                                            {
                                                iCntGreen++;
                                            }
                                            else
                                            {
                                                iCntBlue++;
                                            }
                                        }
                                    }
                                }
                                else
                                {
                                    iCntGray++;
                                }
                            }
                        }
                    }

                    int    iCnt = 0;
                    string sMsg = "";
                    if (iCntRed > 0)
                    {
                        sMsg   = "+/- 3d";
                        iCnt   = iCntRed;
                        brBk   = new SolidColorBrush(Colors.Red);
                        brFore = new SolidColorBrush(Colors.White);
                    }
                    else if (iCntOrange > 0)
                    {
                        sMsg   = "+/- 1w";
                        iCnt   = iCntOrange;
                        brBk   = new SolidColorBrush(Colors.Orange);
                        brFore = new SolidColorBrush(Colors.White);
                    }
                    else if (iCntGreen > 0)
                    {
                        sMsg   = "2w";
                        iCnt   = iCntGreen;
                        brBk   = new SolidColorBrush(Colors.Green);
                        brFore = new SolidColorBrush(Colors.White);
                    }
                    else if (iCntBlue > 0)
                    {
                        sMsg = "> 2w";
                        iCnt = iCntBlue;
                        brBk = new SolidColorBrush(Colors.Blue);
                    }
                    else                             //if( iCntGray > 0 )
                    {
                        sMsg = "dates";
                        iCnt = /*iCntBlue +*/ iCntGray;

                        //Use default...
                        //brBk = new SolidColorBrush(Colors.Black);
                        //brFore = new SolidColorBrush( Colors.White );
                    }

                    sCnt += iCnt.ToString() + "\n\n" + sMsg;

                    sNotiTitle   = "Anniversary";
                    sNotiContent = sCnt.Replace('\n', ' ');

                    break;
                }

                case "sysCnt_WebDog":
                {
                    RscStore store = new RscStore();

                    if (store.FileExists("A:\\Documents\\WebDogUri.txt"))
                    {
                        DateTimeOffset dtf    = store.GetFileLastWriteTime("A:\\Documents\\WebDogUri.txt");
                        DateTime       dt     = dtf.DateTime;
                        DateTime       dtNow  = DateTime.Now;
                        TimeSpan       tsDiff = dtNow - dt;

                        bool   bTmp;
                        string sUri = store.ReadTextFile("A:\\Documents\\WebDogUri.txt", "", out bTmp);
                        if (sUri.Length > 0)
                        {
                            try
                            {
                                Uri    uri  = new Uri(sUri, UriKind.Absolute);
                                string sDns = uri.DnsSafeHost;

                                if (sDns.Length > 5)
                                {
                                    sDns  = sDns.Substring(0, 5);
                                    sDns += "...";
                                }

                                sCnt += sDns;
                            }
                            catch (Exception)
                            {
                            }
                        }
                        sCnt += "\n";

                        //sCnt = RscUtils.toDurationStr( tsDiff.Duration() );
                        if (Math.Floor(tsDiff.TotalDays) > 0)
                        {
                            brBk   = new SolidColorBrush(Colors.Red);
                            brFore = new SolidColorBrush(Colors.White);

                            sCnt += Math.Floor(tsDiff.TotalDays).ToString() + "\nday(s)";
                        }
                        else if (Math.Floor(tsDiff.TotalHours) > 0)
                        {
                            //Use Default...
                            //brBk = new SolidColorBrush( Colors.Black );
                            //brFore = new SolidColorBrush( Colors.White );

                            sCnt += Math.Floor(tsDiff.TotalHours).ToString() + "\nhour(s)";
                        }
                        else                                 //if( Math.Floor( tsDiff.TotalMinutes ) > 0 )
                        {
                            //Use Default...
                            //brBk = new SolidColorBrush( Colors.Black );
                            //brFore = new SolidColorBrush( Colors.White );

                            sCnt += Math.Floor(tsDiff.TotalMinutes).ToString() + "\nmin(s)";
                        }

                        /*
                         * else //if( Math.Floor( tsDiff.TotalSeconds ) > 0 )
                         * {
                         *      //Use Default...
                         *      //brBk = new SolidColorBrush( Colors.Black );
                         *      //brFore = new SolidColorBrush( Colors.White );
                         *
                         *      sCnt += Math.Floor( tsDiff.TotalSeconds ).ToString() + "\n\nsec(s)";
                         * }
                         */
                    }
                    else
                    {
                        if (bForSysTile)
                        {
                            //Use Default...
                            //brBk = new SolidColorBrush( Colors.Black );
                            //brFore = new SolidColorBrush( Colors.White );
                        }
                        else
                        {
                            brBk   = new SolidColorBrush(Color.FromArgb(0, 0, 0, 0));
                            brFore = new SolidColorBrush(Colors.Black);
                        }
                    }

                    break;
                }

                case "sysCnt_Event":
                {
                    int iCountErr = 0;
                    int iCountInf = 0;

                    RscStore store = new RscStore();

                    if (store.FolderExists("A:\\System\\Events"))
                    {
                        string[] fles = store.GetFileNames("A:\\System\\Events", "*.error");
                        iCountErr = fles.Length;

                        fles      = store.GetFileNames("A:\\System\\Events", "*.info");
                        iCountInf = fles.Length;

                        if (iCountErr > 0)
                        {
                            brBk   = new SolidColorBrush(Colors.Red);
                            brFore = new SolidColorBrush(Colors.White);
                        }
                        else if (iCountInf > 0)
                        {
                            brBk   = new SolidColorBrush(Colors.Blue);
                            brFore = new SolidColorBrush(Colors.White);
                        }
                        else
                        {
                            //Use Default...
                            //brBk = new SolidColorBrush( Colors.Black );
                            //brFore = new SolidColorBrush( Colors.White );
                        }
                    }

                    sCnt += iCountErr.ToString() + " err\n"
                            /*+ "\n"*/
                            + iCountInf.ToString() + " inf";

                    break;
                }

                case "sysCnt_PerDay":
                {
                    sCnt += "";

                    if (bForSysTile)
                    {
                        //Use Default...
                        //brBk = new SolidColorBrush( Colors.Black );
                        //brFore = new SolidColorBrush( Colors.White );
                    }
                    else
                    {
                        brBk   = new SolidColorBrush(Color.FromArgb(0, 0, 0, 0));
                        brFore = new SolidColorBrush(Colors.Black);
                    }

                    RscStore store = new RscStore();

                    if (store.FolderExists("A:\\Documents\\PerDay"))
                    {
                        bool   bTmp;
                        string sTx = store.ReadTextFile("A:\\Documents\\PerDay\\Default.txt", "", out bTmp);
                        if (sTx.Length > 0)
                        {
                            string [] aTx = sTx.Split('|');
                            if (aTx.Length == 5)
                            {
                                int iY = Int32.Parse(aTx[0]);
                                int iM = Int32.Parse(aTx[1]);
                                int iD = Int32.Parse(aTx[2]);

                                DateTime dtNow = DateTime.Now;

                                DateTime d1 = new DateTime(dtNow.Year, dtNow.Month, dtNow.Day);
                                DateTime d2 = new DateTime(iY, iM, iD);

                                TimeSpan ts    = d2 - d1;
                                int      iDays = Math.Max(1, (int)Math.Round(ts.TotalDays, 0));

                                double dAmo = double.Parse(aTx[3]);
                                if (dAmo != 0)
                                {
                                    int iRes = (int)Math.Round(dAmo / iDays, 0);

                                    string sUnit = "";
                                    if (aTx[4].Length > 0)
                                    {
                                        sUnit = " " + aTx[4];
                                    }

                                    sCnt += aTx[3] + sUnit + "\n"
                                            + /*(iY % 1000).ToString()*/ aTx[0] + "." + RscUtils.pad60(iM) + "." + RscUtils.pad60(iD) + "." + "\n"
                                            + "----------" + "\n"
                                            + iRes.ToString() + sUnit + "\n"
                                            + "/ day" + " (" + Math.Max(0, (int)Math.Round(ts.TotalDays, 0)).ToString() + ")";

                                    brBk   = new SolidColorBrush(Colors.Gray);
                                    brFore = new SolidColorBrush(Colors.White);

                                    dFontSize = 11;
                                }
                            }
                        }
                    }

                    break;
                }

                default:
                {
                    sCnt = "???";
                    break;
                }
                }
            }
            catch (Exception e)
            {
                //Do not generate too many err files...
                RscStore.AddSysEvent(e, "Tile_Info_Title_Createion_Error");

                sErr = e.Message + "\r\n" + e.StackTrace;
                sCnt = "ERR!";
            }

            return(sCnt);
        }
예제 #21
0
        private void ShowSavedThreadData(string sPath, int iStartIndex, TreeLbItem tiHead = null)
        {
            RscStore store = new RscStore();

            sPath += "\\Threads";
            if (!store.FolderExists(sPath))
            {
                return;
            }

            int iCountAll = 0;

            iCountAll = store.ReadXmlDataFile(sPath + "\\" + "Count" + ".xml", iCountAll);

            int iCount_NonAckAll = 0;

            iCount_NonAckAll = store.ReadXmlDataFile(sPath + "\\" + "Count_NonAck" + ".xml", iCount_NonAckAll);

            if (iStartIndex == 0)
            {
                m_tiSum = new TreeLbItem(m_aTI, null);
                m_tiSum.DetailsFontSize = cdFontSize;
                UpdateSumItem(iCount_NonAckAll, iCountAll);
                m_aTI.Add(m_tiSum);

                tiHead = new TreeLbItem(m_aTI, null);
                //tiHead.DetailsFontSize = cdFontSize;
                tiHead.DetailsOnly = "...";
                m_aTI.Add(tiHead);
            }

            string sThreadIdOrder = "";

            sThreadIdOrder = store.ReadTextFile(sPath + "\\" + "IdOrder" + ".txt", sThreadIdOrder);
            string [] asThreadIdOrders = sThreadIdOrder.Split('|');

            bool bMoreItems = false;
            int  iThCnt     = asThreadIdOrders.Length;

            for (int iTh = iStartIndex; iTh < iThCnt; iTh++)
            {
                //NOT all...
                if ((iTh - iStartIndex) >= ciMaxAtOnce)
                {
                    bMoreItems = true;
                    break;
                }

                string sID = asThreadIdOrders[iTh];

                if (sID.Length == 0)
                {
                    continue;
                }

                if (!store.FolderExists(sPath + "\\" + sID))
                {
                    continue;
                }

                string sIdOrder = "";
                sIdOrder = store.ReadTextFile(sPath + "\\" + sID + "\\" + "IdOrder" + ".txt", sIdOrder);
                string [] asIdOrders = sIdOrder.Split('|');

                string sHistoryID = asIdOrders[0];

                if (sHistoryID.Length == 0)
                {
                    continue;
                }

                if (!store.FileExists(sPath + "\\" + sID + "\\" + sHistoryID + ".xml"))
                {
                    continue;
                }

                MyThread2 th = new MyThread2();
                th = store.ReadXmlDataFile(sPath + "\\" + sID + "\\" + sHistoryID + ".xml", th);
                if (th.ID.Length == 0)
                {
                    continue;
                }

                TreeLbItem ti = new TreeLbItem(m_aTI, null);
                //
                ti.DetailsFontSize  = cdFontSize;
                ti.DetailsBackColor = m_AppFrame.Theme.ThemeColors.TextDarkBack;
                ti.DetailsForeColor = m_AppFrame.Theme.ThemeColors.TextDarkFore;
                if (!th.Acknowledged)
                {
                    ti.CustomBackColor = Colors.Orange;

                    ti.BtnCustom1Visibility = Rsc.Visible;
                }
                ti.BtnCustom1Image = m_isCheckOn;                 //Off;
                //
                string sTitle = "";
                sTitle += RscUtils.toDateDiff(th.DateSaved);
                if (asIdOrders.Length > 1)
                {
                    sTitle += " ( +" + (asIdOrders.Length - 1).ToString() + " )";
                }
                ti.Title          = sTitle;
                ti.DetailsOfTitle = TreeLbItemThread.DecorateSnippet(th);
                ti.IsLeaf         = (asIdOrders.Length <= 1);
                m_aTI.Add(ti);

                ti.sID        = sID;
                ti.sHistoryID = sHistoryID;

                foreach (string sId in asIdOrders)
                {
                    if (sId.Length == 0)
                    {
                        continue;
                    }
                    if (sId == sHistoryID)
                    {
                        continue;
                    }

                    MyThread2 thSub = new MyThread2();
                    thSub = store.ReadXmlDataFile(sPath + "\\" + sID + "\\" + sId + ".xml", thSub);
                    if (thSub.ID.Length == 0)
                    {
                        continue;
                    }

                    //DO NOT!!!

                    /*
                     * TreeLbItem tiSub = new TreeLbItem( m_aTI, ti );
                     * tiSub.Title = RscUtils.toDateDiff( thSub.DateSaved ) + "retrived...";
                     * tiSub.DetailsOfTitle = thSub.Snippet;
                     * tiSub.IsLeaf = true;
                     * m_aTI.Add( tiSub );
                     */

                    ti.m_a.Add(thSub);
                }
            }

            if (tiHead != null)
            {
                string sTit = "Threads " + (iStartIndex + 1).ToString() + " - ";
                if (bMoreItems)
                {
                    sTit += (iStartIndex + ciMaxAtOnce).ToString();
                }
                else
                {
                    sTit += iThCnt.ToString();
                }

                //tiHead.DetailsFontSize = cdFontSize;
                tiHead.DetailsOnly = sTit;
            }

            if (bMoreItems)
            {
                TreeLbItem ti = new TreeLbItem(m_aTI, null);
                ti.Title           = "Threads " + (iStartIndex + ciMaxAtOnce + 1).ToString() + " - ... (press to list)";
                ti.sID             = csMoreItems;
                ti.sHistoryID      = (iStartIndex + ciMaxAtOnce).ToString();
                ti.CustomBackColor = m_AppFrame.Theme.ThemeColors.TreeDescBack;
                ti.CustomForeColor = m_AppFrame.Theme.ThemeColors.TreeDescFore;
                m_aTI.Add(ti);
            }
        }
예제 #22
0
        public static int SaveThreadData(bool bCalledByAgent, string sPath, RscJSonItem jsonThreads)
        {
            RscJSonItem json = jsonThreads.GetChildByName("threads");

            if (json == null)
            {
                return(-200);
            }

            RscStore store = new RscStore();

            bool bFirstRun = false;

            sPath += "\\Threads";
            if (!store.FolderExists(sPath))
            {
                bFirstRun = true;

                store.CreateFolderPath(sPath);
                store.WriteTextFile(sPath + "\\" + "Version.txt", ciCurrentVersion.ToString(), true);
            }

            string sThreadIdOrder_OLD = "";

            sThreadIdOrder_OLD  = store.ReadTextFile(sPath + "\\" + "IdOrder" + ".txt", sThreadIdOrder_OLD);
            sThreadIdOrder_OLD += "|";             //ATTENTION!!! 1 of 2
            string sThreadIdOrder_NEW = "";

            int iJustAdded = 0;

            int iThCnt = json.ChildCount;

            for (int iTh = 0; iTh < iThCnt; iTh++)
            {
                RscJSonItem jsonTh = json.GetChild(iTh);

                string sID        = jsonTh.GetPropertyValue("id");
                string sHistoryID = jsonTh.GetPropertyValue("historyId");
                string sSnippet   = jsonTh.GetPropertyValue("snippet");                 //, true );

                if (sID.Length == 0 || sHistoryID.Length == 0 || sSnippet.Length == 0)
                {
                    continue;
                }

                store.CreateFolderPath(sPath + "\\" + sID);

                if (store.FileExists(sPath + "\\" + sID + "\\" + sHistoryID + ".xml"))
                {
                    //Threads arrives in reverse order, so...
                    break;
                }
                else
                {
                    sThreadIdOrder_OLD = sThreadIdOrder_OLD.Replace(sID + "|", "");                       //Removing ID
                    if (sThreadIdOrder_NEW.Length > 0)
                    {
                        sThreadIdOrder_NEW += "|";
                    }
                    sThreadIdOrder_NEW += sID;                     //Adding ID

                    string sIdOrder = "";
                    sIdOrder = store.ReadTextFile(sPath + "\\" + sID + "\\" + "IdOrder" + ".txt", "");

                    iJustAdded++;

                    MyThread2 th = new MyThread2();
                    th.ID        = sID;
                    th.HistoryID = sHistoryID;
                    th.Snippet   = sSnippet;

                    if (bFirstRun)
                    {
                        th.DateAcked = DateTime.Now;
                    }

                    store.WriteXmlDataFile(sPath + "\\" + sID + "\\" + sHistoryID + ".xml", th, true);

                    if (sIdOrder.Length > 0)
                    {
                        sIdOrder = "|" + sIdOrder;
                    }
                    sIdOrder = sHistoryID + sIdOrder;
                    store.WriteTextFile(sPath + "\\" + sID + "\\" + "IdOrder" + ".txt", sIdOrder, true);
                }
            }

            if (sThreadIdOrder_OLD.Length > 0)
            {
                //ATTENTION!!! 2 of 2
                sThreadIdOrder_OLD = sThreadIdOrder_OLD.Substring(0, sThreadIdOrder_OLD.Length - 1);
            }
            if (sThreadIdOrder_NEW.Length > 0 && sThreadIdOrder_OLD.Length > 0)
            {
                sThreadIdOrder_NEW += "|";
            }
            sThreadIdOrder_NEW += sThreadIdOrder_OLD;
            store.WriteTextFile(sPath + "\\" + "IdOrder" + ".txt", sThreadIdOrder_NEW, true);

            int iCountAll = 0;

            iCountAll  = store.ReadXmlDataFile(sPath + "\\" + "Count" + ".xml", iCountAll);
            iCountAll += iJustAdded;
            store.WriteXmlDataFile(sPath + "\\" + "Count" + ".xml", iCountAll, true);

            int iCount_NonAckAll = 0;

            iCount_NonAckAll = store.ReadXmlDataFile(sPath + "\\" + "Count_NonAck" + ".xml", iCount_NonAckAll);
            if (!bFirstRun)
            {
                iCount_NonAckAll += iJustAdded;
            }
            store.WriteXmlDataFile(sPath + "\\" + "Count_NonAck" + ".xml", iCount_NonAckAll, true);

            int iCount_NEW = 0;

            iCount_NEW = store.ReadXmlDataFile(sPath + "\\" + "Count_NEW" + ".xml", iCount_NEW);
            if (bCalledByAgent)
            {
                iCount_NEW += iJustAdded;
            }
            else if (bFirstRun)
            {
                iCount_NEW = 0;
            }
            else
            {
                iCount_NEW = 0;
            }
            store.WriteXmlDataFile(sPath + "\\" + "Count_NEW" + ".xml", iCount_NEW, true);

            return(iJustAdded);
        }
        public void DoUpdate(bool bCalledByAgent, object oAgentParam)
        {
            RscStore.AddSysEvent(DateTime.Now.ToString(), false, "ShellTiles_DoUpdate");

            var tiles = ShellTile.ActiveTiles;

            string sDbg = "";

            string sStCntFldr = RscKnownFolders.GetTempPath("ShellTiles", "Content");

            foreach (ShellTile tile in tiles)
            {
                if (sDbg.Length > 0)
                {
                    sDbg += "\r\n";
                }
                sDbg += tile.NavigationUri.OriginalString;

                try
                {
                    StandardTileData updatedData = new StandardTileData();

                    int iPos = tile.NavigationUri.OriginalString.IndexOf("IcoId=");
                    if (iPos < 0)
                    {
                        continue;
                    }
                    iPos += 6;
                    string sIcoId = tile.NavigationUri.OriginalString.Substring(iPos);

                    iPos = tile.NavigationUri.OriginalString.IndexOf("IcoGd=");
                    if (iPos < 0)
                    {
                        continue;
                    }
                    iPos += 6;
                    int iPos2 = tile.NavigationUri.OriginalString.IndexOf('&', iPos);
                    if (iPos2 < 0)
                    {
                        continue;
                    }
                    iPos2--;
                    string sIcoGd = tile.NavigationUri.OriginalString.Substring(iPos, (iPos2 - iPos) + 1);

                    /*
                     * DateTime dNow = DateTime.Now;
                     * string sTm =     RscUtils.pad60(dNow.Hour) +
                     *                              ":" + RscUtils.pad60(dNow.Minute); // + ":" + RscUtils.pad60(dNow.Second);
                     *
                     * updatedData.Title = RscUtils.pad60(dNow.Day) + ". " + sTm;
                     */

                    Brush  brBk           = null;
                    Brush  brFore         = null;
                    double dFontSize      = 0;
                    string sErr           = "";
                    string sNotiTitle     = "";
                    string sNotiContent   = "";
                    string sNotiSound     = "";
                    string sInfoToChngChk = "";

                    string sInfo = GetInfo(true, sIcoId, out brBk, out brFore, out dFontSize,
                                           out sErr, out sNotiTitle, out sNotiContent, out sNotiSound,
                                           bCalledByAgent, oAgentParam, out sInfoToChngChk);

                    if (sInfo == "")
                    {
                        sInfo = "\n\n(N/A)";
                    }
                    if (brBk == null)
                    {
                        brBk = new SolidColorBrush(Color.FromArgb(255, 32, 32, 32));                                        //Colors.Black );
                    }
                    if (brFore == null)
                    {
                        brFore = new SolidColorBrush(Colors.White);
                    }
                    if (dFontSize > 0)
                    {
                        dFontSize = cdFontSize - cdFontSize_SmDiff;
                    }
                    else
                    {
                        dFontSize = cdFontSize;
                    }
                    if (sInfoToChngChk.Length == 0)
                    {
                        sInfoToChngChk = sInfo;
                    }
                    if (sErr.Length > 0)
                    {
                        sDbg += "\r\nERROR: " + sErr;
                    }

                    RscStore store = new RscStore();

                    // //
                    //

                    string sInfoToChngChk_Old = store.ReadTextFile(sStCntFldr + "\\" + sIcoGd + ".txt", "");
                    if (sInfoToChngChk_Old.CompareTo(sInfoToChngChk) != 0)
                    {
                        if (sNotiTitle.Length > 0 && sNotiContent.Length > 0)
                        {
                            string sUriSnd = sNotiSound;
                            if (sUriSnd.Length == 0)
                            {
                                sUriSnd = /*"/Lib_Rsc;component/" +*/ "Media/empty.mp3";
                            }

                            ShellToast_Wp80U3.ShowToast(sNotiTitle, sNotiContent,
                                                        new Uri(sUriSnd, UriKind.Relative));
                        }

                        store.WriteTextFile(sStCntFldr + "\\" + sIcoGd + ".txt", sInfoToChngChk, true);
                    }

                    //
                    // //
                    //

                    string sInfo_Old = store.ReadTextFile(sStCntFldr + "\\" + sIcoGd + "(full).txt", "");
                    if (sInfo_Old.CompareTo(sInfo) == 0)
                    {
                        sDbg += " " + sIcoId + "|" + sIcoGd + " (NO UPDATE, NO CHANGE)";
                        continue;                         //No change!!!
                    }

                    string sTileImgPath = "A:\\Shared\\ShellContent";
                    store.CreateFolderPath(sTileImgPath);
                    sTileImgPath += "\\" + sIcoGd + ".jpg";
                    store.DeleteFile(sTileImgPath);
                    RenderText(sInfo, sTileImgPath, brBk, brFore, dFontSize);

                    string sImgUriFinal = "isostore:/" + sTileImgPath.Substring(3).Replace('\\', '/');
                    updatedData.BackgroundImage = new Uri(sImgUriFinal, UriKind.Absolute);

                    tile.Update(updatedData);

                    sDbg += " " + sIcoId + "|" + sIcoGd + " (Updated)";

                    store.WriteTextFile(sStCntFldr + "\\" + sIcoGd + "(full).txt", sInfo, true);

                    //
                    // //
                }
                catch (Exception e)
                {
                    sDbg += "\r\nERROR: " + e.Message + "\r\n" + e.StackTrace;
                }
            }

            RscStore.AddSysEvent(sDbg, false, "ShellTiles_DoUpdate_List");
        }