Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        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());
        }
Exemplo n.º 3
0
        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());
        }