示例#1
0
        public async Task <JsonResult> NotificationsUnReadCount()
        {
            var response = new object();

            if (User.Identity.IsAuthenticated)
            {
                // Get UserProfile details
                if (_userProfile == null)
                {
                    _userProfile = await _userProfileRepository.GetItemAsync();
                }

                // Get User Notifications
                var userNotificationsViewModel = await _dataServiceClient.GetUserNotifications(_userProfile.Fields.IsHr);

                if (userNotificationsViewModel != null)
                {
                    var cnt = userNotificationsViewModel.MyUserNotifications.Count(p => p.Notifications.Fields.ReadDate.Equals(new DateTime(1, 1, 1)));
                    response = new
                    {
                        responseCode = 200,
                        unReadCount  = userNotificationsViewModel.UnReadCount
                    };
                }
                return(Json(response));
            }
            return(Json(response));
        }
示例#2
0
        public async Task <IActionResult> Notifications()
        {
            if (User.Identity.IsAuthenticated)
            {
                // Get UserProfile details
                if (_userProfile == null)
                {
                    _userProfile = await _userProfileRepository.GetItemAsync();
                }

                // Get User Notifications
                var userNotificationsViewModel = await _dataServiceClient.GetUserNotifications(_userProfile.Fields.IsHr);

                userNotificationsViewModel.UserInfo = _userProfile;

                ViewData["Email"]     = _userProfile.Fields.Upn;
                ViewData["IsManager"] = _userProfile.Fields.IsManager;
                ViewData["IsHr"]      = _userProfile.Fields.IsHr;
                ViewData["IsAdmin"]   = _userProfile.Fields.IsAdmin;
                ViewData["UserImage"] = _userProfile.Fields.UserPicture;

                return(View(userNotificationsViewModel));
            }
            else
            {
                ErrorViewModel EVM = new ErrorViewModel();

                return(View(EVM));
            }
        }
示例#3
0
        public async Task <IActionResult> GetPrevNextWeek(string dt, string weekType)
        {
            if (User.Identity.IsAuthenticated)
            {
                // Get UserProfile details
                if (_userProfile == null)
                {
                    _userProfile = await _userProfileRepository.GetItemAsync();
                }
                ViewData["Email"]     = _userProfile.Fields.Mail;
                ViewData["IsManager"] = _userProfile.Fields.IsManager;
                ViewData["IsHr"]      = _userProfile.Fields.IsHr;
                ViewData["IsAdmin"]   = _userProfile.Fields.IsAdmin;
                ViewData["UserImage"] = _userProfile.Fields.UserPicture;

                // Get Dashboard data
                DateTime selDate            = Convert.ToDateTime(dt);
                String   firstDayOfWeek     = _userProfile.Fields.FirstDayWeek;
                string   dataBoundary       = "All";
                var      dashboardViewModel = await _dataServiceClient.GetWorkHours(selDate, weekType, firstDayOfWeek, dataBoundary);

                dashboardViewModel.UserInfo          = _userProfile;
                dashboardViewModel.WorkHoursEditable = _timeTrackerOptions.WorkHoursEditable;


                dashboardViewModel.OTcomputation(Convert.ToInt16(_timeTrackerOptions.DayHours), Convert.ToInt16(_timeTrackerOptions.WeekHours), Convert.ToInt16(_timeTrackerOptions.MonthHours));
                return(View(nameof(Index), dashboardViewModel));
            }
            else
            {
                ErrorViewModel EVM = new ErrorViewModel();

                return(View(EVM));
            }
        }
示例#4
0
        public async Task <IActionResult> refreshData()
        {
            if (User.Identity.IsAuthenticated)
            {
                // Get UserProfile details
                if (_userProfile == null)
                {
                    _userProfile = await _userProfileRepository.GetItemAsync();
                }
                ViewData["Email"]     = _userProfile.Fields.Mail;
                ViewData["IsManager"] = _userProfile.Fields.IsManager;
                ViewData["IsHr"]      = _userProfile.Fields.IsHr;
                ViewData["IsAdmin"]   = _userProfile.Fields.IsAdmin;
                ViewData["UserImage"] = _userProfile.Fields.UserPicture;

                String firstDayOfWeek = _userProfile.Fields.FirstDayWeek;
                // Get Dashboard data
                string dataBoundary       = "All";
                var    dashboardViewModel = await _dataServiceClient.GetWorkHours(DateTime.Now, "current", firstDayOfWeek, dataBoundary);

                dashboardViewModel.UserInfo = _userProfile;

                dashboardViewModel.WorkHoursEditable = _timeTrackerOptions.WorkHoursEditable;


                return(View(nameof(Index), dashboardViewModel));
            }
            else
            {
                ErrorViewModel EVM = new ErrorViewModel();

                return(View(EVM));
            }
        }
示例#5
0
        public async Task <IActionResult> Index()
        {
            if (User.Identity.IsAuthenticated)
            {
                // Get UserProfile details
                if (_userProfile == null)
                {
                    _userProfile = await _userProfileRepository.GetItemAsync();
                }
                ViewData["Email"]     = _userProfile.Fields.Mail;
                ViewData["IsManager"] = _userProfile.Fields.IsManager;
                ViewData["IsHr"]      = _userProfile.Fields.IsHr;
                ViewData["IsAdmin"]   = _userProfile.Fields.IsAdmin;
                ViewData["UserImage"] = _userProfile.Fields.UserPicture;

                String firstDayOfWeek = _userProfile.Fields.FirstDayWeek;

                // Get current week data for Dashboard initially
                string dataBoundary = "CurrentWeek";

                var spSiteList = new SiteList
                {
                    SiteId = _timeTrackerOptions.SharePointSiteId,
                    ListId = _timeTrackerOptions.WorkHoursListPrefix + _userProfile.Id
                };
                var isExisted = await _graphSharePointService.TryGetSiteListAsync(spSiteList);

                if (isExisted)
                {
                    dataBoundary         = "All";
                    ViewBag.dataBoundary = "All";
                }
                var dashboardViewModel = await _dataServiceClient.GetWorkHours(DateTime.Now, "current", firstDayOfWeek, dataBoundary);

                dashboardViewModel.currentWeekData   = (isExisted == true) ? false : true;
                dashboardViewModel.UserInfo          = _userProfile;
                dashboardViewModel.WorkHoursEditable = (isExisted == true) ? true : false;
                return(View(dashboardViewModel));
            }
            else
            {
                ErrorViewModel EVM = new ErrorViewModel();

                return(View(EVM));
            }
        }
示例#6
0
        public async Task <IActionResult> AnalyticsRequest(string dt)
        {
            if (User.Identity.IsAuthenticated)
            {
                MyMonthlyHoursViewModel myMonthlyHoursViewModel = new MyMonthlyHoursViewModel();
                _userProfile = await _dataServiceClient.GetUserProfile();

                ViewData["Email"]     = _userProfile.Fields.Upn;
                ViewData["IsManager"] = _userProfile.Fields.IsManager;
                ViewData["IsHr"]      = _userProfile.Fields.IsHr;
                ViewData["IsAdmin"]   = _userProfile.Fields.IsAdmin;
                ViewData["UserImage"] = _userProfile.Fields.UserPicture;
                if (dt != null)
                {
                    Dictionary <string, object> analyticsdata = new Dictionary <string, object>();
                    try
                    {
                        analyticsdata = await _analyticsService.GetOTPercentageAsync(dt);
                    }
                    catch (Exception ex)
                    {
                        throw;
                    }
                    return(Json(analyticsdata));
                }
                else
                {
                    ErrorViewModel error = new ErrorViewModel();
                    return(View());
                }
            }
            else
            {
                ErrorViewModel error = new ErrorViewModel();
                return(View());
            }
        }
示例#7
0
        public async Task <IActionResult> Monthly(string dt)
        {
            if (User.Identity.IsAuthenticated)
            {
                if (_userProfile == null)
                {
                    _userProfile = await _userProfileRepository.GetItemAsync();
                }
                ViewData["Email"]     = _userProfile.Fields.Upn;
                ViewData["IsManager"] = _userProfile.Fields.IsManager;
                ViewData["IsHr"]      = _userProfile.Fields.IsHr;
                ViewData["IsAdmin"]   = _userProfile.Fields.IsAdmin;
                var email = User.Identity.Name ?? User.FindFirst("preferred_username").Value;
                ViewData["Email"]     = email;
                ViewData["UserImage"] = _userProfile.Fields.UserPicture;

                DateTime selDt = DateTime.Now.AddMonths(-1);
                if (dt != null)
                {
                    selDt = Convert.ToDateTime(dt.ToString());
                }

                //var viewModel = await _dataServiceClient.GetDirectMonthlyReportHours(User, HttpContext, selDt);
                var viewModel = await _dataServiceClient.GetMonthlyReportHours(Convert.ToDateTime(selDt));

                //viewModel.ComputeTotalMonthlyHrs();
                viewModel.SelectedDate = selDt;
                return(View(viewModel));
            }
            else
            {
                ErrorViewModel EVM = new ErrorViewModel();

                return(View(EVM));
            }
        }
示例#8
0
        public async Task <JsonResult> NotificationMarkAsRead()
        {
            var response = new object();

            if (User.Identity.IsAuthenticated)
            {
                // Get UserProfile details
                if (_userProfile == null)
                {
                    _userProfile = await _userProfileRepository.GetItemAsync();
                }
                if (Request != null && Request.Form != null && Request.Form.Count > 0)
                {
                    MiddleTier.Models.Notifications selNotification = new MiddleTier.Models.Notifications();
                    selNotification.Fields.SentToMail  = Request.Form["Fields[SentToMail]"].ToString();
                    selNotification.Fields.SentDate    = Convert.ToDateTime(Request.Form["Fields[SentDate]"].ToString());
                    selNotification.Fields.MessageBody = Request.Form["Fields[MessageBody]"].ToString();
                    selNotification.Fields.ReadDate    = DateTime.Now;
                    selNotification.Id     = Request.Form["id"].ToString();
                    selNotification.ListId = Request.Form["listId"].ToString();

                    var isSave = await _dataServiceClient.NotificationMarkAsRead(selNotification);

                    if (isSave)
                    {
                        response = new
                        {
                            responseCode = 200,
                        };
                    }

                    return(Json(response));
                }
            }
            return(Json(response));
        }
        public async Task <IActionResult> WkLdReq(string date, string searchtext, int draw, int start = 0, int length = 10)
        {
            int pageIndex = 0;

            if (start != 0)
            {
                pageIndex = start / length + 1;
            }

            if (pageIndex == 0)
            {
                pageIndex = 1;
            }

            MyWeeklyHoursDataTableData dataTableData = new MyWeeklyHoursDataTableData();

            if (User.Identity.IsAuthenticated)
            {
                WeeklyHoursViewModel myWeeklyHoursViewModel = new WeeklyHoursViewModel();
                _userProfile = await _dataServiceClient.GetUserProfile();

                ViewData["Email"]     = _userProfile.Fields.Upn;
                ViewData["IsManager"] = _userProfile.Fields.IsManager;
                ViewData["IsHr"]      = _userProfile.Fields.IsHr;
                ViewData["IsAdmin"]   = _userProfile.Fields.IsAdmin;
                ViewData["UserImage"] = _userProfile.Fields.UserPicture;

                DateTime selDt = DateTime.Now.AddMonths(-1);
                if (date != null)
                {
                    selDt = DateTime.Parse(date);
                    int startDay   = (int)selDt.DayOfWeek;
                    int dayOfMonth = (int)selDt.Day;
                    while ((startDay > 0) && (dayOfMonth > 1))
                    {
                        selDt = selDt.AddDays(-1);
                        startDay--;
                        dayOfMonth--;
                    }
                }
                string searchQuery = HttpContext.Request.Query["search[value]"].ToString();

                WeeklyHoursViewModel weeklyHoursViewModel = new WeeklyHoursViewModel();
                if (searchtext != null)
                {
                    weeklyHoursViewModel = await _reportHoursService.GetSearchResults(selDt, searchtext, pageIndex, length);

                    dataTableData = weeklyHoursViewModel.MyWeeklyHoursDataTableData;
                }
                else
                {
                    weeklyHoursViewModel = await _reportHoursService.GetViewModel(selDt, pageIndex, length);

                    dataTableData = weeklyHoursViewModel.MyWeeklyHoursDataTableData;
                }


                dataTableData.draw         = draw;
                dataTableData.recordsTotal = (pageIndex * length) + dataTableData.data.Count + 1;
                int recordsFiltered = (pageIndex * length) + dataTableData.data.Count + 1;

                dataTableData.recordsFiltered = recordsFiltered;

                if (date == null)
                {
                    myWeeklyHoursViewModel.SearchDate = myWeeklyHoursViewModel.fnGetLastMonthLastWeekSunDate(); // Start on Sunday.
                }
                else
                {
                    int startDay   = (int)selDt.DayOfWeek;
                    int dayOfMonth = (int)selDt.Day;
                    while ((startDay > 0) && (dayOfMonth > 1))
                    {
                        selDt = selDt.AddDays(-1);
                        startDay--;
                        dayOfMonth--;
                    }
                    myWeeklyHoursViewModel.SearchDate = selDt;
                }
                myWeeklyHoursViewModel.UserInfo = _userProfile;

                return(Json(dataTableData));
            }
            else
            {
                ErrorViewModel EVM = new ErrorViewModel();

                return(View(EVM));
            }
        }
示例#10
0
        public async Task <IActionResult> Myteams(string selMonthDt, string empNameFilter = default(string), int pageId = 0, int pageSize = 10, ListCollectionPage <TeamHours> teamHours = null, int status = 0)
        {
            if (User.Identity.IsAuthenticated)
            {
                if (_userProfile == null)
                {
                    _userProfile = await _userProfileRepository.GetItemAsync();
                }
                ViewData["Email"]     = _userProfile.Fields.Upn;
                ViewData["IsManager"] = _userProfile.Fields.IsManager;
                ViewData["IsHr"]      = _userProfile.Fields.IsHr;
                ViewData["IsAdmin"]   = _userProfile.Fields.IsAdmin;
                ViewData["UserImage"] = _userProfile.Fields.UserPicture;

                DateTime selDt = DateTime.Now.AddMonths(-1);
                if (selMonthDt != null)
                {
                    selDt = Convert.ToDateTime(selMonthDt.ToString());
                }

                var myTeamsHoursViewModel = await _dataServiceClient.GetMyTeamHours(selDt, empNameFilter, pageId, pageSize);

                //MyTeamHoursViewModel myTeamsHoursViewModel = new MyTeamHoursViewModel();
                //ListCollectionPage<TeamHours> teamHourstemp = null;
                //if (Request.Query.Count != 0)
                //{
                //    var json = Request.Query["teamHours"];
                //    teamHourstemp = JsonConvert.DeserializeObject<ListCollectionPage<TeamHours>>(json);
                //}
                //if (status == 0)
                //    teamHours = await _dataServiceClient.GetMyTeamHoursPageView(selDt, empNameFilter, pageId, pageSize, User, HttpContext, null, 0);
                //else if (status == 1)
                //    teamHours = await _dataServiceClient.GetMyTeamHoursPageView(selDt, empNameFilter, pageId, pageSize, User, HttpContext, teamHourstemp, 1);
                //else if (status == 2)
                //    teamHours = await _dataServiceClient.GetMyTeamHoursPageView(selDt, empNameFilter, pageId, pageSize, User, HttpContext, teamHourstemp, 2);

                //if (teamHours == null)
                //{
                //    myTeamsHoursViewModel.UserInfo = _userProfile;
                //    return View(myTeamsHoursViewModel);
                //}

                ViewData["TeamHoursCollection"] = teamHours;

                IList <TeamHours> teamHoursList = teamHours.DataList;
                bool   isSubmitted   = false;
                string SubmittedDate = string.Empty;
                if (teamHoursList != null)
                {
                    List <MyTeamFields> myTeam = new List <MyTeamFields>();
                    foreach (var team in teamHoursList)
                    {
                        if (team.Fields.TeamHoursItemState == MiddleTier.Helpers.ItemState.Submitted)
                        {
                            isSubmitted   = true;
                            SubmittedDate = team.Fields.TeamHoursSubmittedDate.ToString();
                        }

                        myTeam.Add(new MyTeamFields
                        {
                            TeamHours = team
                        });
                    }

                    myTeamsHoursViewModel.IsSubmitted   = isSubmitted;
                    myTeamsHoursViewModel.SubmittedDate = SubmittedDate;
                    myTeamsHoursViewModel.MyTeam        = myTeam;
                }

                if (selMonthDt == null)
                {
                    myTeamsHoursViewModel.SearchDate = myTeamsHoursViewModel.fnGetLastMonthEndDate();
                }
                else
                {
                    myTeamsHoursViewModel.SearchDate = selDt;
                }

                myTeamsHoursViewModel.UserInfo = _userProfile;

                return(View(myTeamsHoursViewModel));
            }
            else
            {
                ErrorViewModel EVM = new ErrorViewModel();

                return(View(EVM));
            }
        }
示例#11
0
        /*
         * public async Task<IActionResult> Weekly(string dt)
         * {
         * if (User.Identity.IsAuthenticated)
         * {
         * // Get UserProfile details
         * _userProfile = await _dataServiceClient.GetUserProfile(User, HttpContext);
         * ViewData["Email"] = _userProfile.Fields.Upn;
         * ViewData["IsManager"] = _userProfile.Fields.IsManager;
         * ViewData["IsHr"] = _userProfile.Fields.IsHr;
         * ViewData["IsAdmin"] = _userProfile.Fields.IsAdmin;
         * ViewData["UserImage"] = _userProfile.Fields.UserPicture;
         *
         * DateTime selDt = DateTime.Now.AddDays(-DateTime.Now.Day);
         * if (dt != null)
         * {
         *  selDt = Convert.ToDateTime(dt.ToString());
         * }
         *
         *
         * var viewModel = await _dataServiceClient.GetWeeklyReportHours(
         *  User,
         *  HttpContext,
         * selDt);
         * viewModel.ComputeTotalHrs();
         * viewModel.SelectedDate = selDt;
         * return View(viewModel);
         * }
         * else
         * {
         * ErrorViewModel EVM = new ErrorViewModel();
         *
         * return View(EVM);
         * }
         * }
         */

        //public async Task<IActionResult> Weekly(string dt)
        public async Task <IActionResult> Weekly(string selMonthDt, string empNameFilter = default(string), int pageId = 0, int pageSize = 10, ListCollectionPage <ReportHours> reportHours = null, int status = 0)
        {
            var ci = System.Threading.Thread.CurrentThread.CurrentCulture;

            if (User.Identity.IsAuthenticated)
            {
                // Get UserProfile details
                if (_userProfile == null)
                {
                    _userProfile = await _userProfileRepository.GetItemAsync();
                }
                ViewData["Email"]     = _userProfile.Fields.Upn;
                ViewData["IsManager"] = _userProfile.Fields.IsManager;
                ViewData["IsHr"]      = _userProfile.Fields.IsHr;
                ViewData["IsAdmin"]   = _userProfile.Fields.IsAdmin;
                ViewData["UserImage"] = _userProfile.Fields.UserPicture;

                DateTime selDt      = DateTime.Now.AddDays(-DateTime.Now.Day);
                int      startDay   = (int)selDt.DayOfWeek;
                int      dayOfMonth = (int)selDt.Day;
                while ((startDay > 0) && (dayOfMonth > 1))
                {
                    selDt = selDt.AddDays(-1);
                    startDay--;
                    dayOfMonth--;
                }

                if (selMonthDt != null)
                {
                    selDt      = Convert.ToDateTime(selMonthDt.ToString());
                    startDay   = (int)selDt.DayOfWeek;
                    dayOfMonth = (int)selDt.Day;
                    while ((startDay > 0) && (dayOfMonth > 1))
                    {
                        selDt = selDt.AddDays(-1);
                        startDay--;
                        dayOfMonth--;
                    }
                }
                //DateTime date = Convert.ToDateTime(selMonthDt);
                // Get an array tagging each item of the month with the Week number



                int[] dateWeekNumber = _dataServiceClient.GetDayOfMonthWeekAssignmentArray(selDt);


                // Get an array tagging each item of the month with the Week number
                var myWeekNumber  = dateWeekNumber[selDt.Day - 1];
                var weeklyHrsList = new List <WeeklyHours>();

                WeeklyHoursViewModel             weeklyViewModel = new WeeklyHoursViewModel();
                ListCollectionPage <ReportHours> weeklyTemp      = null;
                //if (Request.Query.Count != 0)
                //{
                //var json = Request.Query["reportHours"];
                //weeklyTemp = JsonConvert.DeserializeObject<ListCollectionPage<ReportHours>>(json);
                //}
                if (status == 0)
                {
                    reportHours = await _dataServiceClient.GetWeeklyPageView(selDt, empNameFilter, pageId, pageSize, null, 0);
                }
                else if (status == 1)
                {
                    reportHours = await _dataServiceClient.GetWeeklyPageView(selDt, empNameFilter, pageId, pageSize, reportHours, 1);
                }
                else if (status == 2)
                {
                    reportHours = await _dataServiceClient.GetWeeklyPageView(selDt, empNameFilter, pageId, pageSize, reportHours, 2);
                }

                /*
                 * if (teamHours == null)
                 * {
                 *      myTeamsHoursViewModel.UserInfo = _userProfile;
                 *      return View(myTeamsHoursViewModel);
                 * }
                 */
                ViewData["ReportHoursCollection"] = reportHours;

                IList <ReportHours> reportHoursList = reportHours.DataList;
                // Group Monthly Report hours by individual User data using DisplayName
                var groupings = from item in reportHoursList
                                group item by item.Fields.DisplayName into data
                                select data;

                // Process the data for each user
                foreach (var grouping in groupings)
                {
                    var weeklyHrs = new WeeklyHours();

                    //Add the computed object(for each employee) to the list of weekly hours for the HR
                    weeklyHrsList.Add(weeklyHrs);
                    weeklyHrs.EmpName = grouping.Key;
                    foreach (var item in grouping)
                    {
                        Dictionary <string, short> hrsMins = new Dictionary <string, short>();

                        //call to get Final hours for ReportHours Repository data
                        hrsMins = HoursComputeHelper.GetFinalHrsMins(item);
                        var totalHours = hrsMins["FinalTotalHrs"];
                        var totalMins  = hrsMins["FinalTotalMins"];
                        if (weeklyHrs.MgrName == null)
                        {
                            weeklyHrs.MgrName = item.Fields.ManagerDisplayName;
                        }
                        var itemDate = DateTime.ParseExact(item.Fields.Date, "yyyyMMdd", ci);

                        var theWeekNumber = dateWeekNumber[itemDate.Day - 1];
                        if (dateWeekNumber[itemDate.Day - 1] == myWeekNumber)
                        {
                            switch (itemDate.DayOfWeek)
                            {
                            case System.DayOfWeek.Saturday:
                                weeklyHrs.SundayHours += totalHours;
                                weeklyHrs.SundayMins  += totalMins;
                                break;

                            case System.DayOfWeek.Monday:
                                weeklyHrs.MondayHours += totalHours;
                                weeklyHrs.MondayMins  += totalMins;
                                break;

                            case System.DayOfWeek.Tuesday:
                                weeklyHrs.TuesdayHours += totalHours;
                                weeklyHrs.TuesdayMins  += totalMins;
                                break;

                            case System.DayOfWeek.Wednesday:
                                weeklyHrs.WednesdayHours += totalHours;
                                weeklyHrs.WednesdayMins  += totalMins;
                                break;

                            case System.DayOfWeek.Thursday:
                                weeklyHrs.ThursdayHours += totalHours;
                                weeklyHrs.ThursdayMins  += totalMins;
                                break;

                            case System.DayOfWeek.Friday:
                                weeklyHrs.FridayHours += totalHours;
                                weeklyHrs.FridayMins  += totalMins;
                                break;

                            default:
                                weeklyHrs.SaturdayHours += totalHours;
                                weeklyHrs.SaturdayMins  += totalMins;
                                break;
                            }
                        }
                    }
                }


                if (selMonthDt == null)
                {
                    weeklyViewModel.SelectedDate = fnGetLastMonthLastWeekSunDate();                     // Start on Sunday.
                }
                else
                {
                    weeklyViewModel.SelectedDate = selDt;
                }

                //weeklyViewModel.u = _userProfile;


                //WeeklyHrs = weeklyHrsList;
                weeklyViewModel.WeeklyHrs = weeklyHrsList;
                return(View(weeklyViewModel));
            }
            else
            {
                ErrorViewModel EVM = new ErrorViewModel();

                return(View(EVM));
            }
        }
        public async Task <IActionResult> MyTeamRevisionRequest(string date, string searchtext, int draw, int start, int length = 10)
        {
            int pageIndex = 0;

            if (start != 0)
            {
                pageIndex = start / length + 1;
            }

            if (pageIndex == 0)
            {
                pageIndex = 1;
            }

            //var dateRequested = DateTime.ParseExact(date, "yyyMMdd", CultureInfo.InvariantCulture);

            MyTeamDataTableData dataTableData = new MyTeamDataTableData();

            if (User.Identity.IsAuthenticated)
            {
                MyTeamHoursViewModel myTeamsHoursViewModel = new MyTeamHoursViewModel();
                if (_userProfile == null)
                {
                    _userProfile = await _userProfileRepository.GetItemAsync();
                }
                ViewData["Email"]     = _userProfile.Fields.Upn;
                ViewData["IsManager"] = _userProfile.Fields.IsManager;
                ViewData["IsHr"]      = _userProfile.Fields.IsHr;
                ViewData["IsAdmin"]   = _userProfile.Fields.IsAdmin;
                ViewData["UserImage"] = _userProfile.Fields.UserPicture;

                DateTime selDt = DateTime.Now.AddMonths(-1);
                if (date != null)
                {
                    selDt = DateTime.Parse(date);
                }

                string             searchQuery        = HttpContext.Request.Query["search[value]"].ToString();
                TeamHoursViewModel teamHoursViewModel = new TeamHoursViewModel();
                if (searchtext != null)
                {
                    teamHoursViewModel = await _teamHoursService.GetSearchResults(selDt, searchtext, pageIndex, length);

                    dataTableData = teamHoursViewModel.MyTeamDataTableData;
                }
                else
                {
                    teamHoursViewModel = await _teamHoursService.GetViewModel(selDt, pageIndex, length);

                    dataTableData = teamHoursViewModel.MyTeamDataTableData;
                }


                dataTableData.draw         = draw;
                dataTableData.recordsTotal = (pageIndex * length) + dataTableData.data.Count + 1;
                int recordsFiltered = (pageIndex * length) + dataTableData.data.Count + 1;

                dataTableData.recordsFiltered = recordsFiltered;

                if (date == null)
                {
                    myTeamsHoursViewModel.SearchDate = myTeamsHoursViewModel.fnGetLastMonthEndDate();
                }
                else
                {
                    myTeamsHoursViewModel.SearchDate = selDt;
                }

                myTeamsHoursViewModel.UserInfo = _userProfile;
                //return View(myTeamsHoursViewModel);

                if (teamHoursViewModel.MyTeamDataTableData.data.Exists(x => x.SubmittedDate == DateTime.MinValue))
                {
                    myTeamsHoursViewModel.IsSubmitted = false;
                }
                else
                {
                    myTeamsHoursViewModel.IsSubmitted = true;
                }

                return(Json(dataTableData));
            }
            else
            {
                ErrorViewModel EVM = new ErrorViewModel();

                return(View(EVM));
            }

            //return Json(dataTableData);
        }
示例#13
0
        public async Task <IActionResult> MonthlyHoursLoadRequest(string date, string searchtext, int draw, int start = 0, int length = 10)
        {
            int pageIndex = 0;

            if (start != 0)
            {
                pageIndex = start / length + 1;
            }

            if (pageIndex == 0)
            {
                pageIndex = 1;
            }


            MyMonthlyHoursDataTableData dataTableData = new MyMonthlyHoursDataTableData();

            if (User.Identity.IsAuthenticated)
            {
                MyMonthlyHoursViewModel myMonthlyHoursViewModel = new MyMonthlyHoursViewModel();
                _userProfile = await _dataServiceClient.GetUserProfile();

                ViewData["Email"]     = _userProfile.Fields.Upn;
                ViewData["IsManager"] = _userProfile.Fields.IsManager;
                ViewData["IsHr"]      = _userProfile.Fields.IsHr;
                ViewData["IsAdmin"]   = _userProfile.Fields.IsAdmin;
                ViewData["UserImage"] = _userProfile.Fields.UserPicture;

                // on first call, datepicker may not pass date.
                // If date == null, default to last month.
                DateTime selDt = DateTime.Now.AddMonths(-1);
                if (date != null)
                {
                    selDt = DateTime.Parse(date);
                }
                string searchQuery = HttpContext.Request.Query["search[value]"].ToString();

                MyMonthlyHoursViewModel monthlyHoursViewModel = new MyMonthlyHoursViewModel();

                // Generate TEST data...
                //List<MonthlyHoursListData> mh = new List<MonthlyHoursListData>();

                //for (int i = 0; i < length; i++)
                //{
                //    //return View();
                //    MonthlyHoursListData t = new MonthlyHoursListData();
                //    t.EmpName = "test" + i + start;
                //    t.ManagerName = "Anil";
                //    t.Week1TotalHrMns = i.ToString();
                //    t.Week2TotalHrMns = i+1.ToString();
                //    t.Week3TotalHrMns = i+2.ToString();
                //    t.Week4TotalHrMns = i+3.ToString();
                //    t.Week5TotalHrMns = i+4.ToString();
                //    t.MonthlyTotalHrMns = i+5.ToString();
                //    mh.Add(t);
                //}

                if (searchtext != null)
                {
                    monthlyHoursViewModel = await _reportHoursService.GetSearchResults(selDt, searchtext, pageIndex, length);

                    dataTableData = monthlyHoursViewModel.MyMonthlyHoursDataTableData;
                }
                else
                {
                    monthlyHoursViewModel = await _reportHoursService.GetViewModel(selDt, pageIndex, length);

                    dataTableData = monthlyHoursViewModel.MyMonthlyHoursDataTableData;
                }



                dataTableData.draw         = draw;
                dataTableData.recordsTotal = (pageIndex * length) + dataTableData.Data.Count + 1;
                int recordsFiltered = (pageIndex * length) + dataTableData.Data.Count + 1;
                dataTableData.recordsTotal    = int.MaxValue;
                dataTableData.recordsFiltered = recordsFiltered;

                if (date == null)
                {
                    myMonthlyHoursViewModel.SearchDate = myMonthlyHoursViewModel.fnGetLastMonthEndDate();
                }
                else
                {
                    myMonthlyHoursViewModel.SearchDate = selDt;
                }
                myMonthlyHoursViewModel.UserInfo = _userProfile;

                // Output TEST data...
                //dataTableData.Data = mh;

                return(Json(dataTableData));
            }
            else
            {
                ErrorViewModel EVM = new ErrorViewModel();

                return(View(EVM));
            }
        }