Inheritance: RavenController
Beispiel #1
0
        public IActionResult Index()
        {
            sessionController = new SessionController(HttpContext);

            if (sessionController.IsLoggedIn())
            {
                return(RedirectToAction("Spots", "Spots"));
            }

            return(View());
        }
Beispiel #2
0
        private BookingDTO BuildBookingObject(string spot)
        {
            sessionController = new SessionController(HttpContext);

            BookingDTO bookingDTO = new BookingDTO
            {
                Id       = 0,
                DateTime = DateTime.Now,
                IsPayed  = false,
                UserDTO  = sessionController.GetUser(),
                SpotDTO  = JsonConvert.DeserializeObject <SpotDTO>(Decode(spot))
            };

            return(bookingDTO);
        }
Beispiel #3
0
        public IActionResult LogIn()
        {
            sessionController = new SessionController(HttpContext);

            if (sessionController.IsLoggedIn())
            {
                return(RedirectToAction("Spots", "Spots"));
            }

            LogInViewModel logInViewModel = new LogInViewModel
            {
                Email    = "*****@*****.**",
                Password = "******"
            };

            return(View(logInViewModel));
        }
        public async Task <ActionResult> SignIn(SignInViewModel signin)
        {
            if (ModelState.IsValid)
            {
                HttpClient httpClient = new HttpClient();
                httpClient.BaseAddress = new Uri("http://localhost:5011/");
                httpClient.DefaultRequestHeaders.Accept.Add(
                    new MediaTypeWithQualityHeaderValue("application/json"));

                UserDTO userDTO = UserMapping <SignInViewModel> .MapViewModelDTOObject(signin);

                string json    = JsonConvert.SerializeObject(userDTO);
                var    content = new StringContent(json, Encoding.UTF8, "application/json");

                HttpResponseMessage httpResponseMessage = await httpClient.PostAsync("api/user", content);

                int statusCode = (int)httpResponseMessage.StatusCode;
                switch (statusCode)
                {
                case 412:
                    return(RedirectToAction("SignIn", "SignIn", new { responseMessage = "An user with this email has alredy exists!" }));

                case 200:
                    string jsonResponse = await httpResponseMessage.Content.ReadAsStringAsync();

                    UserDTO signedUser = JsonConvert.DeserializeObject <UserDTO>(jsonResponse);

                    sessionController = new SessionController(HttpContext);
                    sessionController.CreateUserSession(signedUser);

                    return(RedirectToAction("Spots", "Spots"));

                default:
                    return(RedirectToAction("SignIn", "SignIn", new { responseMessage = "" }));
                }
            }

            return(View(signin));
        }
Beispiel #5
0
        public async Task <IActionResult> LogIn(LogInViewModel login)
        {
            if (ModelState.IsValid)
            {
                HttpClient httpClient = new HttpClient();
                httpClient.BaseAddress = new Uri("http://localhost:5011/");
                httpClient.DefaultRequestHeaders.Accept.Add(
                    new MediaTypeWithQualityHeaderValue("application/json"));

                HttpResponseMessage httpResponseMessage = await httpClient.GetAsync("api/user/email/" + login.Email);

                var response = await httpResponseMessage.Content.ReadAsStringAsync();

                UserDTO userDTO = JsonConvert.DeserializeObject <UserDTO>(response);

                if (userDTO.Password.Equals(login.Password))
                {
                    sessionController = new SessionController(HttpContext);
                    sessionController.CreateUserSession(userDTO);
                    return(RedirectToAction("Spots", "Spots"));
                }
            }
            return(View());
        }