public async Task <IActionResult> Filter([FromBody] dateModel dateModel) { string DateFrom = dateModel.startDate.ToPersianDateTimeString("yyyy/MM/dd"); string DateTo = dateModel.endDate.ToPersianDateTimeString("yyyy/MM/dd"); var userId = User.Claims.FirstOrDefault(x => x.Type == "jti").Value; var user = await _userManager.FindByIdAsync(userId); if (user == null) { throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'."); } if (DateFrom != null && DateTo != null) { var applicationDbContext = _context.EntranceExits.Include(e => e.ApplicationUser) .Where(s => s.EntranceDate.CompareTo(DateFrom) >= 0 && s.EntranceDate.CompareTo(DateTo) <= 0).OrderBy(e => e.ApplicationUser.Email).ToList(); if (user.UserName != "*****@*****.**") { applicationDbContext = applicationDbContext.Where(x => x.ApplicationUserId == userId).ToList(); } if (applicationDbContext != null) { var entranceExitList = new List <EntranceExitViewModel>(); foreach (var item in applicationDbContext) { var time1 = item.EntranceTime; var time2 = item.ExitTime; string def = ""; if (time2 == null) { def = "0"; } else { var time1dt = Convert.ToDateTime(time1); var time2dt = Convert.ToDateTime(time2); def = time2dt.Subtract(time1dt).ToString(); } EntranceExitViewModel entranceExitListdish = new EntranceExitViewModel() { Username = item.ApplicationUser.UserName, EntranceDate = item.EntranceDate, FirstName = item.ApplicationUser.FirstName, LastName = item.ApplicationUser.LastName, EntranceTime = item.EntranceTime, ExitTime = item.ExitTime, Id = item.Id, workTime = def }; entranceExitList.Add(entranceExitListdish); } return(Ok(entranceExitList)); } return(BadRequest()); } return(BadRequest()); }
public IActionResult Filter(string DateFrom, string DateTo) { if (DateFrom != null && DateTo != null) { // CultureInfo info = new CultureInfo("fa-Ir"); //var applicationDbContext = _context.EntranceExits.Include(e => e.ApplicationUser) // .Where( // s => // DateTime.ParseExact(s.EntranceDate, "yyyy/mm/dd", info) >= // DateTime.ParseExact(DateFrom, "yyyy/mm/dd", info) //&& DateTime.ParseExact(s.EntranceDate, "yyyy/mm/dd", info) <= //DateTime.ParseExact(DateTo, "yyyy/mm/dd", info) //) //.ToList(); var applicationDbContext = _context.EntranceExits.Include(e => e.ApplicationUser) .Where(s => s.EntranceDate.CompareTo(DateFrom) >= 0 && s.EntranceDate.CompareTo(DateTo) <= 0).OrderBy(e => e.ApplicationUser.Email).ToList(); if (applicationDbContext != null) { var entranceExitList = new List <EntranceExitViewModel>(); foreach (var item in applicationDbContext) { var time1 = item.EntranceTime; var time2 = item.ExitTime; string def = ""; if (time2 == null) { def = "0"; } else { var time1dt = Convert.ToDateTime(time1); var time2dt = Convert.ToDateTime(time2); def = time2dt.Subtract(time1dt).ToString(); } EntranceExitViewModel entranceExitListdish = new EntranceExitViewModel() { Username = item.ApplicationUser.UserName, EntranceDate = item.EntranceDate, FirstName = item.ApplicationUser.FirstName, LastName = item.ApplicationUser.LastName, EntranceTime = item.EntranceTime, ExitTime = item.ExitTime, Id = item.Id, workTime = def }; entranceExitList.Add(entranceExitListdish); } return(PartialView("_ReportGrid", entranceExitList)); } return(BadRequest()); } return(BadRequest()); }
public async Task <IActionResult> FilterPerson(string DateFrom, string DateTo) { var user = await _userManager.GetUserAsync(User); if (DateFrom != null && DateTo != null) { var check = user.UserName; if (check != "*****@*****.**") { var applicationDbContext = _context.EntranceExits.Include(e => e.ApplicationUser) .Where(s => s.EntranceDate.CompareTo(DateFrom) >= 0 && s.EntranceDate.CompareTo(DateTo) <= 0 && s.ApplicationUserId == user.Id).ToList(); if (applicationDbContext != null) { var entranceExitList = new List <EntranceExitViewModel>(); foreach (var item in applicationDbContext) { var time1 = item.EntranceTime; var time2 = item.ExitTime; string def = ""; if (time2 == null) { def = "0"; } else { var time1dt = Convert.ToDateTime(time1); var time2dt = Convert.ToDateTime(time2); def = time2dt.Subtract(time1dt).ToString(); } EntranceExitViewModel entranceExitListdish = new EntranceExitViewModel() { Username = item.ApplicationUser.UserName, EntranceDate = item.EntranceDate, FirstName = item.ApplicationUser.FirstName, LastName = item.ApplicationUser.LastName, EntranceTime = item.EntranceTime, ExitTime = item.ExitTime, Id = item.Id, workTime = def }; entranceExitList.Add(entranceExitListdish); } return(PartialView("_ReportGridPerson", entranceExitList)); } return(BadRequest()); } else { var applicationDbContext = _context.EntranceExits.Include(e => e.ApplicationUser) .Where(s => s.EntranceDate.CompareTo(DateFrom) >= 0 && s.EntranceDate.CompareTo(DateTo) <= 0).OrderBy(e => e.ApplicationUser.Email).ToList(); if (applicationDbContext != null) { var entranceExitList = new List <EntranceExitViewModel>(); foreach (var item in applicationDbContext) { var time1 = item.EntranceTime; var time2 = item.ExitTime; string def = ""; if (time2 == null) { def = "0"; } else { var time1dt = Convert.ToDateTime(time1); var time2dt = Convert.ToDateTime(time2); def = time2dt.Subtract(time1dt).ToString(); } EntranceExitViewModel entranceExitListdish = new EntranceExitViewModel() { Username = item.ApplicationUser.UserName, EntranceDate = item.EntranceDate, FirstName = item.ApplicationUser.FirstName, LastName = item.ApplicationUser.LastName, EntranceTime = item.EntranceTime, ExitTime = item.ExitTime, Id = item.Id, workTime = def }; entranceExitList.Add(entranceExitListdish); } return(PartialView("_ReportGrid", entranceExitList)); } } return(BadRequest()); } return(BadRequest()); }