예제 #1
0
        public IActionResult TaskCalendarWeek(string taskDate)
        {
            UserProfile       u    = UserProfile.GetUsers(_context).Find(x => x.Mail.ToLower() == User.Identity.Name.ToLower());
            WeekTaskViewModel tlvm = new WeekTaskViewModel();
            // int date_start_hour = 0;
            DateTime dateValue = DateTime.Parse(taskDate);// DateTime.ParseExact(taskDate, "dd.MM.yyyy", CultureInfo.InvariantCulture);

            //tlvm.CurrentDate = dateValue;
            var firstDayOfWeek = CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek;

            while (dateValue.DayOfWeek != firstDayOfWeek)
            {
                dateValue = dateValue.AddDays(-1);
            }
            tlvm.CurrentDate            = dateValue;
            tlvm.StartDate              = dateValue;
            tlvm.CalendarTasksMonday    = ConvertTaskList2TaskViewModelList(UserTask.GetTasksWithoutDoneByDate(true, dateValue, _context));
            tlvm.CalendarTasksThuesday  = ConvertTaskList2TaskViewModelList(UserTask.GetTasksWithoutDoneByDate(true, dateValue.AddDays(+1), _context));
            tlvm.CalendarTasksWednesday = ConvertTaskList2TaskViewModelList(UserTask.GetTasksWithoutDoneByDate(true, dateValue.AddDays(+2), _context));
            tlvm.CalendarTasksThursday  = ConvertTaskList2TaskViewModelList(UserTask.GetTasksWithoutDoneByDate(true, dateValue.AddDays(+3), _context));
            tlvm.CalendarTasksFriday    = ConvertTaskList2TaskViewModelList(UserTask.GetTasksWithoutDoneByDate(true, dateValue.AddDays(+4), _context));
            tlvm.CalendarTasksSaturday  = ConvertTaskList2TaskViewModelList(UserTask.GetTasksWithoutDoneByDate(true, dateValue.AddDays(+5), _context));
            tlvm.CalendarTasksSunday    = ConvertTaskList2TaskViewModelList(UserTask.GetTasksWithoutDoneByDate(true, dateValue.AddDays(+6), _context));

            tlvm.Tasks     = ConvertTaskList2TaskViewModelList(UserTask.GetTasksWithoutDoneWeekByDate(false, dateValue, dateValue.AddDays(7).AddSeconds(-1), _context));
            tlvm.DoneTasks = ConvertTaskList2TaskViewModelList(UserTask.GetTasksDoneWeekByDate(false, dateValue, dateValue.AddDays(7).AddSeconds(-1), _context));


            return(View("TaskCalendarForWeekByDate", tlvm));
            //tlvm.Date = dateValue;
        }
예제 #2
0
        public IActionResult TaskCalendarByDate(string taskDate)
        {
            UserProfile u = UserProfile.GetUsers(_context).Find(x => x.Mail.ToLower() == User.Identity.Name.ToLower());

            if (u != null)
            {
                UserTaskListViewModel tlvm = new UserTaskListViewModel();
                tlvm.Tasks = new List <UserTaskViewModel>();
                int date_start_hour = 0;

                DateTime dateValue = DateTime.Parse(taskDate);//DateTime.ParseExact(taskDate, "dd/MM/yyyy", CultureInfo.InvariantCulture);
                tlvm.Date = dateValue;
                foreach (UserTask tas in UserTask.GetTasksByDate(true, dateValue, _context))
                {
                    var task_done = UserTask.GetTasksDoneByDate(true, dateValue, _context).Find(x => x.TaskId == tas.TaskId);
                    if (task_done == null)
                    {
                        // формирование списка дел с датой
                        var date_Start = Helper.ConvertDateStartToString(tas.DateStart.ToString());
                        if (tas.DateStart != null)
                        {
                            date_start_hour = Int32.Parse(Helper.ConvertDateStartHourToInt(tas.DateStart.ToString()));
                        }
                        if (tas.UserId == u.UserId && date_Start == taskDate)
                        {
                            UserTaskViewModel tvmt = new UserTaskViewModel(_context, tas);
                            if (date_start_hour != 0)
                            {
                                tvmt.TimeHour = date_start_hour;
                            }
                            tlvm.CalendarTasks.Add(tvmt);
                        }
                        if (tas.UserId == u.UserId && date_Start == "" || date_Start == null)
                        {
                            UserTaskViewModel tvmt = new UserTaskViewModel(_context, tas);

                            tvmt.TimeHour = Int32.Parse(Helper.ConvertPeriodToTime(tas.Period));
                            tlvm.Date     = DateTime.Parse(taskDate);
                            tlvm.CalendarTasks.Add(tvmt);
                        }
                    }
                }

                foreach (UserTask tas in UserTask.GetTasksWithoutDoneByDate(false, dateValue, _context))
                {
                    bool useDate = true;
                    if (tas.DateStart == null)
                    {
                        useDate = false;
                    }
                    else if (tas.DateStart.Value.TimeOfDay == TimeSpan.Zero)
                    {
                        useDate = false;
                    }

                    //формирование списка дел без даты
                    if (tas.UserId == u.UserId && !useDate)
                    {
                        UserTaskViewModel tvmt = new UserTaskViewModel(_context, tas);

                        tlvm.Tasks.Add(tvmt);
                    }
                }

                foreach (UserTask tas in UserTask.GetTasksDoneByDate(false, dateValue, _context))
                {
                    //формирование списка дел без даты
                    if (tas.UserId == u.UserId)
                    {
                        UserTaskViewModel tvmt = new UserTaskViewModel(_context, tas);

                        tlvm.DoneTasks.Add(tvmt);
                    }
                }

                tlvm.Tasks = tlvm.Tasks.OrderByDescending(obj => obj.Priority).ToList();
                tlvm.Tasks = tlvm.Tasks.OrderBy(obj => obj.DateStart).ToList();

                return(View("TaskCalendar", tlvm));
            }
            return(HttpNotFound());
        }