Exemplo n.º 1
0
        public IActionResult ViewUser(int userId)
        {
            var user            = _userLogic.GetUserById(userId);
            var offeredServices = _offeredServiceLogic.GetOfferedServicesByUserId(user.Id)
                                  .Select(offeredService => new OfferedServiceViewModel(offeredService)).ToList();
            var usedServices = _usedServiceLogic.GetUsedServicesByConsumerId(userId).Select(usedService =>
                                                                                            new UsedServiceViewModel(usedService,
                                                                                                                     new OfferedServiceViewModel(_offeredServiceLogic.GetOfferedServiceById(usedService.Id))));
            var offeredServicesCount = offeredServices.Count();
            var soldServicesCount    = _offeredServiceLogic.GetOfferedServicesByUserId(user.Id)
                                       .SelectMany(offeredService => _usedServiceLogic.GetUsedServicesByOfferdServiceId(offeredService.Id))
                                       .Count();
            var usedServicesCount = _usedServiceLogic.GetUsedServicesByConsumerId(user.Id).Count();

            var model = new AdminUserViewModel(user, offeredServices, usedServices, offeredServicesCount,
                                               usedServicesCount, soldServicesCount);

            return(View(model));
        }
Exemplo n.º 2
0
        public IActionResult Index()
        {
            var user = _userLogic.GetUserByEmail(User.Identity.Name);

            var model = new ProfileViewModel()
            {
                FirstName   = user.FirstName,
                LastName    = user.LastName,
                Email       = user.Email,
                Description = user.Description,
                OfferedServiceViewModels = new List <OfferedServiceViewModel>(),
                UsedServiceViewModels    = new List <UsedServiceViewModel>()
            };

            foreach (var offeredService in _offeredServiceLogic.GetOfferedServicesByUserId(user.Id))
            {
                var provider = new UserViewModel(_userLogic.GetUserById(offeredService.ProviderId));
                var images   = _imageLogic.GetImagesByOfferedServiceId(offeredService.Id)
                               .Select(image => image.ToString()).ToList();
                var offeredServiceViewModel = new OfferedServiceViewModel(offeredService, provider, images);

                model.OfferedServiceViewModels.Add(offeredServiceViewModel);
            }

            foreach (var usedService in _usedServiceLogic.GetUsedServicesByConsumerId(user.Id))
            {
                var reviewViewModel = _reviewLogic.GetReviewsByWriterId(user.Id)
                                      .Where(review => review.UsedServiceId == usedService.Id)
                                      .Select(review => new ReviewViewModel(review)).FirstOrDefault();

                var offeredService =
                    new OfferedServiceViewModel(
                        _offeredServiceLogic.GetOfferedServiceById(usedService.OfferedServiceId));
                var usedServiceViewModel   = new UsedServiceViewModel(usedService, offeredService, reviewViewModel);
                var consumedOfferedService = _offeredServiceLogic.GetOfferedServiceById(usedService.OfferedServiceId);
                var provider = new UserViewModel(_userLogic.GetUserById(consumedOfferedService.ProviderId));
                var images   = _imageLogic.GetImagesByOfferedServiceId(consumedOfferedService.Id)
                               .Select(image => image.ToString()).ToList();
                usedServiceViewModel.OfferedService =
                    new OfferedServiceViewModel(consumedOfferedService, provider, images);

                model.UsedServiceViewModels.Add(usedServiceViewModel);
            }

            return(View(model));
        }