Exemplo n.º 1
0
    private void GenerateTaskOnCalendar()
    {
        try
        {
            Collection<Task> _taskList = null;
            Task task = new Task();
            string lbl = "";
            DateTime curDate = DateTime.Now;
            DateTime start = DateTime.Now.Date;
            DateTime end = DateTime.Now.Date.AddDays(1).AddMilliseconds(-1);
            PlaceHolder cntl;
            HyperLink hplk;
            int dayIndex = 0,min,userOID=0;
            string day = curDate.DayOfWeek.ToString();
            User currentUser;

            if (Session["CurrentUser"] != null)
            {
                currentUser = (User)Session["CurrentUser"];
                userOID = currentUser.UserOID;
            }

            dayIndex = (day == "Monday") ? 1 : dayIndex;
            dayIndex = (day == "Tuesday") ? 2 : dayIndex;
            dayIndex = (day == "Wednesday") ? 3 : dayIndex;
            dayIndex = (day == "Thursday") ? 4 : dayIndex;
            dayIndex = (day == "Friday") ? 5 : dayIndex;
            dayIndex = (day == "Saturday") ? 6 : dayIndex;
            dayIndex = (day == "Sunday") ? 7 : dayIndex;

            //For Current Date
            lbl = "PlaceHolder" + dayIndex.ToString();
            cntl = (PlaceHolder)Page.FindControl(lbl);
            _taskList = null;
            _taskList = task.GetTaskByStartAndEndDateUOID(start, end, userOID);
            //For Each task on this date
            foreach (Task t in _taskList)
            {
                hplk = new HyperLink();
                hplk.ID = "hplk" + t.TaskOID.ToString() + "_" + dayIndex.ToString();
                hplk.Text = t.Subject;
                hplk.NavigateUrl = @"pg/task/DisplayTask.aspx?taskOID=" + t.TaskOID.ToString() + "&keepThis=true&TB_iframe=true&height=460&width=600";
                hplk.CssClass = "thickbox";
                cntl.Controls.Add(hplk);
                cntl.Controls.Add(InsertLineBreaks(1));

            }

            min = curDate.Day;
            for (int i = dayIndex - 1; i > 0; i--)
            {
                //Add Task
                min--;
                min = (min) % (System.DateTime.DaysInMonth(curDate.Year, curDate.Month) + 1);
                if (min == 0) min = 1;
                lbl = "PlaceHolder" + i.ToString();
                cntl = (PlaceHolder)Page.FindControl(lbl);

                start = start.AddDays(-1);
                end = end.AddDays(-1);
                _taskList = null;
                _taskList = task.GetTaskByStartAndEndDateUOID(start, end, userOID);

                //For Each task on this date
                foreach (Task t in _taskList)
                {
                    hplk = new HyperLink();
                    hplk.ID = "hplk" + t.TaskOID.ToString()+"_"+i.ToString();
                    hplk.Text = t.Subject;
                    hplk.NavigateUrl = @"pg/task/DisplayTask.aspx?taskOID=" + t.TaskOID.ToString() + "&keepThis=true&TB_iframe=true&height=460&width=600";
                    hplk.CssClass = "thickbox";
                    cntl.Controls.Add(hplk);
                    cntl.Controls.Add(InsertLineBreaks(1));

                }
            }

            min = curDate.Day;
            start = DateTime.Now.Date;
            end = DateTime.Now.Date.AddDays(1).AddMilliseconds(-1);
            for (int i = dayIndex + 1; i <= 14; i++)
            {
                //Add task
                min++;
                min = (min) % (System.DateTime.DaysInMonth(curDate.Year, curDate.Month) + 1);
                if (min == 0) min = 1;
                lbl = "PlaceHolder" + i.ToString();
                cntl = (PlaceHolder)Page.FindControl(lbl);

                _taskList = null;
                start = start.AddDays(1);
                end = end.AddDays(1);
                _taskList = task.GetTaskByStartAndEndDateUOID(start, end, userOID);

                //For Each task on this date
                foreach (Task t in _taskList)
                {
                    hplk = new HyperLink();
                    hplk.ID = "hplk" + t.TaskOID.ToString() + "_" + i.ToString();
                    hplk.Text = t.Subject;
                    hplk.NavigateUrl = @"pg/task/DisplayTask.aspx?taskOID=" + t.TaskOID.ToString() + "&keepThis=true&TB_iframe=true&height=460&width=600";
                    hplk.CssClass = "thickbox";
                    cntl.Controls.Add(hplk);
                    cntl.Controls.Add(InsertLineBreaks(1));
                }
            }
        }
        catch (Exception ex){

        }
    }