Esempio n. 1
0
        public (IEnumerable <TicketViewModel>, int) EmployeeDailyTicket(TicketEmployeeSearchModel search)
        {
            var DateOfNow = DateTime.Now.AddServerTimeHours().Date;
            var query     = Context.Tickets.Where(t => t.CreatedAt.Date == DateOfNow &&
                                                  t.BranchDepartementId == search.branchDepartementId &&
                                                  (search.statusIds.Count == 0 || search.statusIds.Contains(t.StatusId)) &&
                                                  (search.ticketIds.Count == 0 || search.ticketIds.Contains(t.Id)) &&
                                                  (search.ticketNumbers.Count == 0 || search.ticketNumbers.Contains(t.TicketNumber)))
                            .Select(t => new TicketViewModel
            {
                Id                  = t.Id,
                CreateTime          = t.CreatedAt,
                TicketNumber        = t.TicketNumber,
                VisitorId           = t.CreatedById.Value,
                VisitorName         = t.CreatedBy.UserName,
                BranchId            = t.BranchDepartement.BranchId,
                BranchNameAR        = t.BranchDepartement.Branch.NameAR,
                BranchNameEN        = t.BranchDepartement.Branch.NameEN,
                DepartementId       = t.BranchDepartement.DepartementId,
                DepartementNameAR   = t.BranchDepartement.Departement.NameAR,
                DepartementNameEN   = t.BranchDepartement.Departement.NameEN,
                StatusId            = t.StatusId,
                StatusNameAR        = t.Status.NameAR,
                StatusNameEN        = t.Status.NameEN,
                BranchDepartementId = t.BranchDepartementId
            });
            var count = query.Count();
            var data  = query.OrderBy(c => c.TicketNumber).Skip((search.pageNumber - 1) * search.pageSize).Take(search.pageSize);

            return(data, count);
        }
Esempio n. 2
0
        public ActionResult EmployeeDailyTickets([FromQuery] TicketEmployeeSearchModel search)
        {
            int branchDepartementId = int.Parse(User.GetClaims("BranchDepartementId"));

            search.branchDepartementId = branchDepartementId;
            var response = service.EmployeeDailyTickets(search);

            return(Ok(response));
        }
Esempio n. 3
0
        public IResponse EmployeeDailyTickets(TicketEmployeeSearchModel search)
        {
            var(result, totalRows)  = UOW.Tickets.EmployeeDailyTicket(search);
            response.pagesTotalRows = totalRows;
            float all_pages = (float)totalRows / search.pageSize;

            response.pagesTotalNumber = (int)Math.Ceiling(all_pages);
            response.pageSize         = search.pageSize;
            response.pageNumber       = search.pageNumber;
            response.data             = result;
            return(response);
        }