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)); }
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)); }