コード例 #1
0
        /// <summary>
        /// control the carousel page positions
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void Handle_PositionSelected(object sender, CarouselView.FormsPlugin.Abstractions.PositionSelectedEventArgs e)
        {
            try
            {
                CurrentCarocelPageIndex  = e.NewValue;
                CurrentlyOpenCarocelPage = dayTasksViewModel.TaskForDayList[e.NewValue];

                foreach (var r in CurrentlyOpenCarocelPage.ModelTaskForDayList)
                { //deslect all item firstly
                    r.IsSelected = false;
                }
                isAnyItemSelected        = false; //make sure not any task item selected from this page yet.
                AddNewTaskIcon.IsVisible = false;
                string dateForCurrentPage = CurrentlyOpenCarocelPage.CurrentDateForCurrentCarocel.ToString("d MMMM yyyy");
                currentDate = CurrentlyOpenCarocelPage.CurrentDateForCurrentCarocel.ToString("yyyy-MM-dd");
                if (Convert.ToDateTime(Convert.ToDateTime(dateForCurrentPage).ToString("d MMMM yyyy")).CompareTo(Convert.ToDateTime(DateTime.Now.ToString("d MMMM yyyy"))) <= 0)
                { // if page date is same as current date or previous than the current date then show the add button on toolbar
                    var s = dayTasksViewModel.GetAllDayTasksBaseOnDayMonth(dateForCurrentPage);
                    if (s.Count > 0)
                    {
                        //  ToolbarItems.Add(addToolbarItem);
                        AddNewTaskIcon.IsVisible = true;
                    }
                }
            }
            catch (Exception ex)
            {
                MessagingCenter.Send((App)Xamarin.Forms.Application.Current, AppConstant.ErrorEvent, ex.ToString());
            }
        }
コード例 #2
0
 /// <summary>
 /// control the carousel page positions
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void Handle_PositionSelected(object sender, CarouselView.FormsPlugin.Abstractions.PositionSelectedEventArgs e)
 {
     try
     {
         CurrentCarocelPageIndex  = e.NewValue;
         CurrentlyOpenCarocelPage = dayTasksViewModel.TaskForDayList[e.NewValue];
         ToolbarItems.Remove(addToolbarItem); // firstly romove the Add toolbar item
         string dateForCurrentPage = CurrentlyOpenCarocelPage.CurrentDateForCurrentCarocel.ToString("d MMMM yyyy");
         currentDate = CurrentlyOpenCarocelPage.CurrentDateForCurrentCarocel.ToString("yyyy-MM-dd");
         if (Convert.ToDateTime(Convert.ToDateTime(dateForCurrentPage).ToString("d MMMM yyyy")).CompareTo(Convert.ToDateTime(DateTime.Now.ToString("d MMMM yyyy"))) <= 0)
         { // if page date is same as current date or previous than the current date then show the add button on toolbar
             var s = dayTasksViewModel.GetAllDayTasksBaseOnDayMonth(dateForCurrentPage);
             if (s.Count > 0)
             {
                 ToolbarItems.Add(addToolbarItem);
             }
         }
     }catch (Exception ex)
     {
         MessagingCenter.Send((App)Xamarin.Forms.Application.Current, AppConstant.ErrorEvent, ex.ToString());
     }
 }
コード例 #3
0
        /// <summary>
        /// formalize the models for carocel page list
        /// find the days in particular month which indicate the count of carocel pages to be in stats page
        /// </summary>
        /// <param name="d"></param>
        public void GetAndSetDayForMonth(string d)
        {
            try
            {
                CarocelModel PrepareCarocelModel = new CarocelModel();
                DateTime     FirstDate           = new DateTime(CurrentSelectedDate.Year, CurrentSelectedDate.Month, 1);      //first date of selected month
                int          daysInMonth         = DateTime.DaysInMonth(CurrentSelectedDate.Year, CurrentSelectedDate.Month); // days in selected month ;// count of carocel page
                for (int i = 1; i <= daysInMonth; i++)
                {
                    string date = "" + CurrentSelectedDate.Year + "-" + CurrentSelectedDate.Month + "-" + i; // date s of month--->in the following patteren -> year-month-day  (day = 1 to end of months)
                    _AllTasksForDay = databaseHelper.GetAllDayTasksBaseOnDayMonth(date);                     // fetch task for every invidual date of month
                    PrepareCarocelModel.ModelTaskForDayList.Clear();
                    PrepareCarocelModel.CurrentDateForCurrentCarocel = Convert.ToDateTime(date);
                    string e = DateTime.Now.ToString("yyyy-M-d");
                    if (Convert.ToDateTime(date).CompareTo(Convert.ToDateTime(e)) == 0)
                    { // if current day date then enable list
                        PrepareCarocelModel.IsEnableCell = true;
                    }
                    else
                    {   //disable the list
                        PrepareCarocelModel.IsEnableCell = false;
                    }
                    PrepareCarocelModel.MonthAndDate = Convert.ToDateTime(date).ToString("d MMMM");
                    for (int j = 0; j < _AllTasksForDay.Count; j++)
                    {                                                                                   // formalize the every task to populate on UI
                        DayActivity dt = _AllTasksForDay[j];
                        dt.TaskStartedAt = Convert.ToDateTime(dt.TaskStartedAt).ToString("h:mm:ss tt"); // change format of date Time like 10:23:02 AM/PM
                        if (dt.SpentTime != null)
                        {
                            dt.SpentTime = AppUtil.AppUtil.FormatTheSpendedTime(dt.SpentTime); // change the format of spended time like 2h and 20m and 44s
                        }

                        PrepareCarocelModel.ModelTaskForDayList.Add(dt);
                    }

                    //Add the newly formalized model to main Croucel list
                    CarocelModel       carocelModel             = new CarocelModel();
                    List <DayActivity> DeepCopyOfAllDayTaskList = PrepareCarocelModel.ModelTaskForDayList.Take(PrepareCarocelModel.ModelTaskForDayList.Count).ToList(); // take() return the deep copy of every invidual items
                    foreach (DayActivity dayTask in DeepCopyOfAllDayTaskList)
                    {
                        carocelModel.ModelTaskForDayList.Add(dayTask);
                    }
                    carocelModel.MonthAndDate = PrepareCarocelModel.MonthAndDate;
                    carocelModel.CurrentDateForCurrentCarocel = Convert.ToDateTime(PrepareCarocelModel.CurrentDateForCurrentCarocel);
                    if (carocelModel.ModelTaskForDayList.Count > 0)
                    {
                        carocelModel.IsShowError = false;
                        carocelModel.IsShowList  = true;
                    }
                    else
                    {
                        carocelModel.IsShowError = true;
                        carocelModel.IsShowList  = false;
                    }
                    carocelModel.IsEnableCell = PrepareCarocelModel.IsEnableCell;
                    TaskForDayList.Add(carocelModel);
                }
            }
            catch (Exception ex)
            {
                MessagingCenter.Send((App)Xamarin.Forms.Application.Current, AppConstant.ErrorEvent, ex.ToString());
            }
        }