Exemple #1
0
        public IEnumerable <AppointmentAdminViewModel> GetAllNonConfirmedAdminView()
        {
            List <AppointmentViewModel> appointmentRequests = _appointmentsService.GetAllNonConfirmed().ToList();
            HashSet <int> offerIds = appointmentRequests.Select(a => a.offerId).ToHashSet();
            List <AppointmentAdminViewModel> result = new List <AppointmentAdminViewModel>();

            if (appointmentRequests.Count > 0)
            {
                Dictionary <int, OfferViewModel> offers = _offersService.GetManyByIds(offerIds.ToArray(), true);
                appointmentRequests.ForEach(a => a.offer = offers[a.offerId]);
                foreach (var request in appointmentRequests)
                {
                    AppointmentAdminViewModel viewModel = _mapper.Map <AppointmentViewModel, AppointmentAdminViewModel>(request);
                    viewModel.UserInfo = _userService.GetUserPersonalInfo(request.customerId);
                    result.Add(viewModel);
                }
            }
            return(result);
        }
        public void OnGet()
        {
            var userClaims = HttpContext.User.Claims;

            UserName = userClaims.FirstOrDefault(c => c.Type.Equals("preferred_username")).Value;
            FullName = userClaims.FirstOrDefault(c => c.Type.Equals("name")).Value;
            Email    = userClaims.FirstOrDefault(c => c.Type.Equals("email")).Value;

            var currentUserId = HttpContext.User.Claims
                                .FirstOrDefault(cl => cl.Type.Equals("sub"))
                                ?.Value;

            Appointments = _appointmentsService.GetConfirmedByCustomerId(currentUserId).ToList();

            if (Appointments.Count != 0)
            {
                HashSet <int> offerIds = Appointments.Select(a => a.offerId).ToHashSet();

                Dictionary <int, OfferViewModel> offers = _offersService.GetManyByIds(offerIds.ToArray(), true);
                Appointments.ForEach(a => a.offer = offers[a.offerId]);
            }

            Console.WriteLine();
        }