コード例 #1
0
ファイル: LeaveController.cs プロジェクト: Omwitsa/portal
        public JsonResult GetValidLeaveDates(GetDaysRequest request)
        {
            var token = _tokenValidator.Validate(HttpContext);

            if (!token.Success)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = $"Unauthorized:-{token.Message}",
                }));
            }

            if (token.Role != Role.Staff)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = "Sorry, you are not authorized to perform this action",
                }));
            }

            var days  = _unisolApiProxy.GetValidLeaveDays(request).Result;
            var jdata = JsonConvert.DeserializeObject <ReturnData <List <string> > >(days);

            return(Json(jdata));
        }
コード例 #2
0
ファイル: LeaveController.cs プロジェクト: Omwitsa/portal
        public JsonResult RemoveNonLeaveDays(GetDaysRequest request)
        {
            if (request.Dates.Count > 0)
            {
                var isCalenderDays = _context.HrpLeaveType.Any(t => t.Names.ToUpper().Equals(request.LeaveType.ToUpper()) && (bool)t.CalendarDays);
                if (!isCalenderDays)
                {
                    var nonWorkingDays = NonWorkingWeekDays();

                    foreach (var day in nonWorkingDays)
                    {
                        request.Dates.RemoveAll(x => DateTime.Parse(x).ToLongDateString().CaseInsensitiveContains(day));
                    }

                    var yearHolidays = YearHolidayDays(request.LeavePeriod, request.SDate, request.EDate);
                    if (yearHolidays.Count > 0)
                    {
                        foreach (var holiday in yearHolidays)
                        {
                            request.Dates.RemoveAll(x => DateTime.Parse(x).Date.Equals(holiday.Hdate));
                        }
                    }
                }

                return(Json(new ReturnData <List <string> >
                {
                    Success = true,
                    Message = "Valid leave dates",
                    Data = request.Dates
                }));
            }

            return(Json(new ReturnData <string>
            {
                Success = false,
                Message = "Leave dates not valid"
            }));
        }
コード例 #3
0
ファイル: IUnisolApiProxy.cs プロジェクト: Omwitsa/portal
        public Task <string> GetValidLeaveDays(GetDaysRequest request)
        {
            var response = Post("leave/removeNonLeaveDays", request);

            return(response);
        }