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; }
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()); }