Example #1
0
        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));
        }
Example #2
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());
        }