public static LoadCompanyViewModel GetCompanyToLoadById(int id) { using (var entities = new ITowerCafeDBEntities()) { var cmp = entities.Companies.Include(company => company.CompanyType) .Include(company => company.CompanyCostType).SingleOrDefault(company => company.Id == id); LoadCompanyViewModel result = new LoadCompanyViewModel(); result.Name = cmp.Name; result.Description = cmp.Description; result.LogoUrl = cmp.LogoUrl; result.CompanyType = cmp.CompanyType; result.CompanyCostType = cmp.CompanyCostType; result.RegistrationDate = cmp.CreateDate; var rating = (from r in entities.Ratings join re in entities.Reviews on r.Id equals re.RatingId join o in entities.Orders on re.OrderId equals o.Id where o.CompanyId == id select r.Value); result.AvgRating = rating.Average(); result.RatingCount = rating.Count(); return(result); } }
public ActionResult Details(int id) { System.Diagnostics.Debug.WriteLine("{0}", id); var company = CompanyService.GetCompanyById(id); LoadCompanyViewModel loadCompany = new LoadCompanyViewModel(); loadCompany.Id = company.Id; loadCompany.MenuId = CompanyService.GetMenuIdByCompanyId(company.Id); loadCompany.Name = company.Name; loadCompany.Description = company.Description; loadCompany.LogoUrl = company.LogoUrl; loadCompany.CompanyType = company.CompanyType; loadCompany.CompanyCostType = company.CompanyCostType; loadCompany.RegistrationDate = company.CreateDate; loadCompany.AvgRating = CompanyService.GetAverageRatingByCompanyId(company.Id); loadCompany.RatingCount = CompanyService.GetRatingCountByCompanyId(company.Id); loadCompany.MenuItems = MenuService.GetMenuByCompanyId(company.Id); loadCompany.Comments = OrderService.GetCommentsByCompanyId(company.Id); return(View(loadCompany)); }