public async Task <ActionResult> Index(OfferListViewModel model) { model.Filter.PageSize = PageSize; Session[FilterSessionKey] = model.Filter; var result = await OfferFacade.ListOffersAsync(model.Filter); var newModel = await InitializeOfferListViewModel(result); return(View("OfferListView", newModel)); }
public new async Task <ActionResult> Profile() { var user = await userFacade.GetUserAccordingToUsernameAsync(User.Identity.Name); var idOffers = await offerFacade.ListOffersAsync(new OfferFilterDTO { SearchedAuthorsIds = new int[] { user.Id } }); var idAppliedOffers = await offerFacade.ListOffersAsync(new OfferFilterDTO { SearchedAppliersIds = new int[] { user.Id } }); var idRatings = await ratingFacade.ListRatingsAsync(new RatingFilterDTO { SearchedRatedUsersId = new int[] { user.Id } }); if (user.UserRole == "Freelancer") { var freelancer = await userFacade.GetFreelancerAsync(user.Id); freelancer.Offers = new List <OfferDTO>(idOffers.Items); freelancer.AppliedToOffers = new List <OfferDTO>(idAppliedOffers.Items); freelancer.Ratings = await RatingHelper.MergeRatingsCreators(userFacade, idRatings.Items.ToList()); freelancer.SumRating = RatingHelper.CountAverageRating(freelancer.RatingCount, freelancer.SumRating); return(View("Users/FreelancerDetailView", ToProfileModel(freelancer, user.UserName))); } else if (user.UserRole == "Corporation") { var corporation = await userFacade.GetCorporationAsync(user.Id); corporation.Offers = new List <OfferDTO>(idOffers.Items); corporation.AppliedToOffers = new List <OfferDTO>(idAppliedOffers.Items); corporation.Ratings = await RatingHelper.MergeRatingsCreators(userFacade, idRatings.Items.ToList()); corporation.SumRating = RatingHelper.CountAverageRating(corporation.RatingCount, corporation.SumRating); return(View("Users/CorporationDetailView", corporation)); } return(RedirectToAction("Index", "Home")); }