public ActionResult Create(ServiceProvider providers) { try { // TODO: Add insert logic here ServiceProviderRepository.Add(providers); return(RedirectToAction(nameof(Index))); } catch { return(View()); } }
public void CanServiceProviderRepositoryDeleteProvider() { //arrange var testProvider = new ServiceProvider() { Id = 10, Name = "NoHands McGee" }; //act ServiceProviderRepository.Add(testProvider); ServiceProviderRepository.DeleteProvider(testProvider.Id); //assert var p = ServiceProviderRepository.Providers.FirstOrDefault(x => x.Id == testProvider.Id); Assert.Null(p); }
public void CanServiceProviderRepositoryDeleteProvider() { //arrange var mockSpaContext = new Mock <SpaContext>(null); var mockReadOnlySpaContext = new Mock <IReadOnlySpaContext>(); ServiceProviderRepository repo = new ServiceProviderRepository( mockSpaContext.Object, mockReadOnlySpaContext.Object); var testProvider = new ServiceProvider() { Id = 10, Name = "NoHands McGee" }; //act repo.Add(testProvider); repo.DeleteProvider(testProvider.Id); //assert var p = repo.ServiceProviders.FirstOrDefault(x => x.Id == testProvider.Id); Assert.Null(p); }
public ActionResult Create(ServiceProvider serviceProvider) { serviceProvider.RegistrationDate = DateTime.Now; serviceProvider.UserId = User.Identity.GetUserId(); serviceProvider.IsConfirmed = false; if (ModelState.IsValid) { try { _serviceProviderRepo.Add(serviceProvider); _serviceProviderRepo.SaveChanges(); } catch (Exception) { TempData["Error"] = "Uzupełnij poprawnie formularz!"; } TempData["Message"] = "Profil usługobiorcy został poprawnie dodany"; return(RedirectToAction("Index")); } return(View(serviceProvider)); }
public ActionResult Register(RegisterModel model, bool captchaValid) { if (captchaValid) { if (ModelState.IsValid) { try { // Utworzenie użytkownika przy pomocy mechanizmu SimpleMembership WebSecurity.CreateUserAndAccount(model.UserName, model.Password); int userId = WebSecurity.GetUserId(model.UserName); DateTime registrationDate = DateTime.Now; try { // Tworzenie usługodawcy. if (model.IsProvider) { // Utworzenie roli Usługodawca, jeśli jeszcze nie istnieje string roleName = ConfigurationManager.AppSettings["ProviderRole"]; if (!Roles.RoleExists(roleName)) { Roles.CreateRole(roleName); } // Dodanie użytkownika do roli Roles.AddUserToRole(model.UserName, roleName); // Utworzenie usługodawcy var provider = new ServiceProvider(); if (string.IsNullOrEmpty(model.Name)) { provider.Name = model.UserName; } else { provider.Name = model.Name; } provider.Email = model.Email; provider.UserId = userId; provider.ZipCode = model.ZipCode; provider.City = model.City; provider.Street = model.Street; provider.PhoneNumber = model.PhoneNumber; provider.RegistrationDate = registrationDate; // Zapisanie usługodawcy w bazie danych _serviceProviderRepo.Add(provider); _serviceProviderRepo.SaveChanges(); } else { // Tworzenie usługobiorcy // Utworzenie roli Usługobiorca, jeśli jeszcze nie istnieje string roleName = ConfigurationManager.AppSettings["CustomerRole"]; if (!Roles.RoleExists(roleName)) { Roles.CreateRole(roleName); } // Dodanie użytkownika do roli Roles.AddUserToRole(model.UserName, roleName); // Utworzenie usługobiorcy var customer = new Customer(); customer.LastName = model.LastName; customer.FirstName = model.FirstName; customer.Email = model.Email; customer.UserId = userId; customer.ZipCode = model.ZipCode; customer.City = model.City; customer.Street = model.Street; customer.RegistrationDate = registrationDate; // Zapisanie usługobiorcy w bazie danych _customerRepo.Add(customer); _customerRepo.SaveChanges(); } // Wygenerowanie linku potwierdzającego rejestrację konta w portalu przy użyciu klasy AccountHelper var confirmedUrl = string.Format("http://{0}{1}{2}", Request.Url.Host, (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port), Url.RouteUrl(new { controller = "Account", action = "Confirm", name = model.UserName, securityCode = Konto.CalculateConfirmationCode(model.UserName, model.Email, registrationDate) })); // Wygenerowanie treści e-maila, który zostanie wysłany do użytkownika z linkiem potwierdzającym rejestrację var mailContent = string.Format( "Witaj!\n\nUtworzyłeś nowe konto w serwisie Portal Usług.\nAdres e-mail: {0}\nData utworzenia: {1}\n\nLink potwierdzający założenie konta: {2}", model.Email, DateTime.Now, confirmedUrl); // Wysłanie e-maila przy użyciu klasy MailHelper Mail.SendEmail(model.Email, model.UserName, "Potwierdzenie konta", mailContent); TempData["Message"] = "Użytkownik został zarejestrowany. Potwierdź swoje konto linkiem w e-mailu."; return(RedirectToAction("Index", "Home")); } catch { // W razie niepowodzenia należy usunąć utworzone konto użytkownika ((SimpleMembershipProvider)Membership.Provider).DeleteAccount(model.UserName); TempData["Error"] = "Cos poszło nie tak!"; return(View()); } } catch (MembershipCreateUserException e) { ModelState.AddModelError("", ErrorCodeToString(e.StatusCode)); } } return(View(model)); } else { ModelState.AddModelError("Captcha", "Wpisany wynik jest niepoprawny."); return(View(model)); } }