示例#1
0
        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));
        }
示例#2
0
        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));
        }