// // GET: /Company/Details/5 public ActionResult Details(int id, [DefaultValue(1)] int page) { bool isConfirmed = false; // Pobranie firmy po identyfikatorze var company = _companyRepo.GetCompaniesViewModelById(id); // Pobranie listy komentarzy danej firmy var comments = _commentRepo.GetCommentByServiceId(id); var opinions = _opinionRepo.GetOpinionsByCompanyId(id); // Jeżeli użytkownik jest zalogowany i ma potwierdzone konto, to będzie widzieć listę komentarzy. var userId = WebSecurity.CurrentUserId; // Sprawdzenie, czy użytkownik potwierdził konto if (_providerRepo.IsServiceProvider(userId)) { isConfirmed = _providerRepo.IsConfirmed(userId); } else if (_customerRepo.IsCustomer(userId)) { isConfirmed = _customerRepo.IsConfirmed(userId); } // Sortowanie listy komentarzy oraz stronicowanie var commentsList = comments.OrderBy("Date", SortDirection.Ascending).AsPagination(page, 10); var companyDetails = new CompanyDetailsViewModel { Company = company, CommentPagedList = commentsList, Opinions = opinions.AsPagination(page, 10), ConfirmedUser = isConfirmed, }; return(View(companyDetails)); }
public ActionResult Login(LoginModel model, string returnUrl) { bool isConfirmed = false; if (ModelState.IsValid) { int userId = WebSecurity.GetUserId(model.UserName); // Sprawdzenie, czy użytkownik jest usługobiorcą var isCustomer = _customerRepo.IsCustomer(userId); if (isCustomer) { // Sprawdzenie, czy usługobiorca potwierdził swoje konto isConfirmed = _customerRepo.IsConfirmed(userId); } else { // Sprawdzenie, czy użytkownik jest usługodawcą var isProvider = _serviceProviderRepo.IsServiceProvider(userId); if (isProvider) { // Sprawdzenie, czy usługodawca potwierdził swoje konto isConfirmed = _serviceProviderRepo.IsConfirmed(userId); } } if (Roles.IsUserInRole(model.UserName, "Administrator")) { // Jeżeli użytkownik jest administratorem, to jego konto jest potwierdzone isConfirmed = true; } if (isConfirmed) { // Jeżeli użytkownik ma potwierdzone konto, to następuje zalogowanie if (WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe)) { if (Url.IsLocalUrl(returnUrl)) { return(Redirect(returnUrl)); } else { return(RedirectToAction("Index", "Home")); } } else { ModelState.AddModelError("", "Nazwa użytkownika lub hasło są niepoprawne."); return(View(model)); } } else { // Jeżeli wyliczony kod zabezpieczający jest różny od kodu przesłanego, to zwracany jest błąd. TempData["Error"] = "Nie potwierdziłeś jeszcze rejestracji. Twoje konto jest nieaktywne."; return(View(model)); } } // Wpisane do formularza dane są niepoprawne, więc zwracany jest ten sam widok. ModelState.AddModelError("", "Nazwa użytkownika lub hasło są niepoprawne."); return(View(model)); }