Exemple #1
0
 public void SyncRefreshLayout(CDVDataTarget requestor, CDVDocumentCell data)
 {
     if (data.UserData is DocCalenarData)
     {
         data.Item          = FormatCalendarLayout(requestor, (DocCalenarData)data.UserData);
         data.RefreshLayout = false;
     }
 }
Exemple #2
0
        public void AsyncRequestData(CDVDataTarget requestor, CDVDocumentCell data)
        {
            //FetchCalendarDataSync(requestor, data);

            AsyncTask1 at = new AsyncTask1(FetchCalendarDataSync);

            at.BeginInvoke(requestor, data, null, null);
        }
Exemple #3
0
        private void FetchCalendarDataSync(CDVDataTarget requestor, CDVDocumentCell data)
        {
            int i_year, i_month;

            string[] sa = data.Key.Split('-');
            if (sa.Length != 2 || !int.TryParse(sa[0], out i_year) || !int.TryParse(sa[1], out i_month))
            {
                return;
            }

            if (i_month < 2)
            {
                data.PrevKey = string.Format("{0}-{1}", i_year - 1, 12);
            }
            else
            {
                data.PrevKey = string.Format("{0}-{1}", i_year, i_month - 1);
            }

            if (i_month > 11)
            {
                data.NextKey = string.Format("{0}-{1}", i_year + 1, 1);
            }
            else
            {
                data.NextKey = string.Format("{0}-{1}", i_year, i_month + 1);
            }


            TResultCalendar rc      = new TResultCalendar(calLocation, i_year, i_month);
            DocCalenarData  docdata = new DocCalenarData();

            docdata.Calendar = rc;
            docdata.Month    = i_month;
            docdata.Year     = i_year;

            CDVPara para = FormatCalendarLayout(requestor, docdata);

            data.UserData = docdata;
            data.Item     = para;

            AsyncTask2 at2 = new AsyncTask2(requestor.OnCDVDataAvailable);

            while (!this.IsHandleCreated)
            {
                System.Threading.Thread.Sleep(100);
            }
            this.Invoke(at2, data);
            // then return calculated data
            //requestor.OnCDVDataAvailable(data);
        }