示例#1
0
        public IActionResult Index()
        {
            if (User.IsInRole("1"))
            {
                return(RedirectToAction("Index", "Admin"));
            }

            ViewData["Categories"] = _categoryLogic.GetAllCategories().Select(category => category.Name).ToList();

            var model = new HomeViewModel()
            {
                OfferedServices = new List <OfferedServiceViewModel>()
            };

            IEnumerable <IOfferedService> offeredServices;

            if (!User.Identity.IsAuthenticated)
            {
                offeredServices = _offeredServiceLogic.GetAllOfferedServices().Where(offeredService =>
                                                                                     offeredService.Status == 0 && !offeredService.Name.Contains("TEST"));
            }
            else
            {
                var currentUser = _userLogic.GetUserByEmail(User.Identity.Name);
                if (!currentUser.FullName.Contains("TEST"))
                {
                    offeredServices = _offeredServiceLogic.GetAllOfferedServices().Where(offeredService =>
                                                                                         offeredService.Status == 0 && offeredService.ProviderId != currentUser.Id &&
                                                                                         !offeredService.Name.Contains("TEST"));
                }
                else
                {
                    offeredServices = _offeredServiceLogic.GetAllOfferedServices().Where(offeredService =>
                                                                                         offeredService.Status == 0 && offeredService.ProviderId != currentUser.Id &&
                                                                                         offeredService.Name.Contains("TEST"));
                }
            }

            foreach (var offeredService in offeredServices.OrderByDescending(offeredService => offeredService.DateOfPost))
            {
                var provider = new UserViewModel(_userLogic.GetUserById(offeredService.ProviderId));
                var images   = _imageLogic.GetImagesByOfferedServiceId(offeredService.Id)
                               .Select(image => image.ToString()).ToList();
                model.OfferedServices.Add(new OfferedServiceViewModel(offeredService, provider, images));
            }

            return(View(model));
        }
示例#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));
        }
示例#3
0
        private WriteReviewViewModel GetOfferedServiceViewModel(int offeredServiceId)
        {
            var offeredService = _offeredServiceLogic.GetOfferedServiceById(offeredServiceId);
            var images         = _imageLogic.GetImagesByOfferedServiceId(offeredServiceId).Select(image => image.ImageAsString)
                                 .ToList();
            var provider = new UserViewModel(_userLogic.GetUserById(offeredService.ProviderId));

            var model = new WriteReviewViewModel()
            {
                OfferedService = new OfferedServiceViewModel(offeredService, provider, images)
            };

            return(model);
        }
示例#4
0
        public IActionResult ViewOfferedService(int offeredServiceId)
        {
            var offeredService = _offeredServiceLogic.GetOfferedServiceById(offeredServiceId);
            var provider       = new UserViewModel(_userLogic.GetUserById(offeredService.ProviderId));
            var images         = _imageLogic.GetImagesByOfferedServiceId(offeredService.Id).Select(image => image.ToString())
                                 .ToList();
            var amountSold = _usedServiceLogic.GetUsedServicesByOfferdServiceId(offeredServiceId).Count();

            var usedServices = (from review in _reviewLogic.GetReviewsByOfferedServiceId(offeredServiceId)
                                let usedServiceDateOfPurchase =
                                    _usedServiceLogic.GetUsedServiceById(review.UsedServiceId).DateOfPurchase
                                    let reviewViewModel = new ReviewViewModel(review)
                                                          select new UsedServiceViewModel(usedServiceDateOfPurchase, reviewViewModel)).ToList();

            var model = new AdminOfferedServiceViewModel(offeredService, provider, images, usedServices, amountSold);

            return(View(model));
        }