public async Task <IActionResult> Details(int?ActivityID) { if (ActivityID == null) { return(NotFound()); } var activity = await _context.Activity.FirstOrDefaultAsync(m => m.ActivityID == ActivityID); if (activity == null) { return(NotFound()); } var detailsActivityViewModel = new DetailsActivityViewModel { ActivityID = activity.ActivityID, Name = activity.Name, DayOfWeek = activity.DayOfWeek, TimeOfDay = activity.TimeOfDay, Hours = activity.Hours, Importance = activity.Importance, Owner = activity.Owner, Tags = _context.Tag.Where(e => e.ActivityID == ActivityID.Value).Select(e => e.TagID).ToList(), }; return(View(detailsActivityViewModel)); }
public async Task <JsonResult> GetDatewiseData(int id, string fromdate, string todate) { DateTime fdate; DateTime tdate; if (string.IsNullOrWhiteSpace(fromdate) || string.IsNullOrWhiteSpace(todate) || !DateTime.TryParse(fromdate, out fdate) || !DateTime.TryParse(todate, out tdate)) { return(Json(new { success = false, statusCode = HttpStatusCode.BadRequest })); } var dates = DateRange(fdate, tdate); var userId = User.Identity.Name; //.GetUserId(); var activities = await db.Activities.Where(p => p.Project.ProjectID == id && //p.Creator.Id == userId && p.ActivityDate >= fdate && p.ActivityDate <= tdate).ToListAsync(); /*.Select(a => new DetailsActivityViewModel() * { * ActivityId = a.ActivityID, * Name = a.Name, * ActivityType = a.ActivityType.Description, * ActivityStatus = a.ActivityStatus.ToString(), * Creator = a.Creator.UserName, * AssignedUser = a.AssignedUser.UserName, * WorkingTime = a.WorkingTime, * CreationDate = a.CreationDate, * ProjectId = a.Project.ProjectID, * NoOfHours = a.NoOfHours, * ActivityDate = a.ActivityDate.ToString(), * CanEdit = a.Project.Owner.Id == userId || a.Creator.Id == userId || a.AssignedUser.Id == userId * }).OrderBy(x => x.ActivityDate).ToListAsync();*/ int clientId = 1; string holidays = await GetClientHolidays(clientId); var publicHolidays = new List <string>(); if (!string.IsNullOrWhiteSpace(holidays)) { publicHolidays = holidays.Split(',').ToList(); } List <DetailsActivityViewModel> detailsVM = new List <DetailsActivityViewModel>(); DateTime holidayDate; foreach (var date in dates) { var activitiesPerDate = activities.Where(a => a.ActivityDate.Date == date.Date); if (activitiesPerDate == null || !activitiesPerDate.Any()) { var model = new DetailsActivityViewModel() { ActivityDate = date.ToShortDateString() }; if (date.DayOfWeek == DayOfWeek.Saturday || date.DayOfWeek == DayOfWeek.Sunday) { model.isWeekEnd = true; } model.isPublicHoliday = publicHolidays.Any(x => DateTime.TryParse(x, out holidayDate) && holidayDate.Date == date.Date); detailsVM.Add(model); } else { foreach (var item in activitiesPerDate) { var model = new DetailsActivityViewModel() { ActivityId = item.ActivityID, Name = item.Name, // ActivityType = item.ActivityType.Description, ActivityStatus = item.ActivityStatus.ToString(), // Creator = item.Creator.UserName, // AssignedUser = item.AssignedUser.UserName, WorkingTime = item.WorkingTime, CreationDate = item.CreationDate, //ProjectId = item.Project.ProjectID, NoOfHours = item.NoOfHours, ActivityDate = item.ActivityDate.ToShortDateString(), // CanEdit = item.Project.Owner.Id == userId || item.Creator.Id == userId,//|| item.AssignedUser.Id == userId }; if (date.DayOfWeek == DayOfWeek.Saturday || date.DayOfWeek == DayOfWeek.Sunday) { model.isWeekEnd = true; } model.isPublicHoliday = publicHolidays.Any(x => DateTime.TryParse(x, out holidayDate) && holidayDate.Date == date.Date); detailsVM.Add(model); } } } return(Json(new { success = true, statusCode = HttpStatusCode.OK, data = detailsVM }, JsonRequestBehavior.AllowGet)); }