public Infrastructure.ApiResponse <Services.ViewModel.UserViewModel> Post([FromBody] Services.ViewModel.CreateUserViewModel model) { var response = new Infrastructure.ApiResponse <Services.ViewModel.UserViewModel>(); try{ var req = new Services.Message.AddUserRequest(); req.model = model; _userService.AddUser(req); response.status = true; Services.ViewModel.UserViewModel u = new Services.ViewModel.UserViewModel(); u.username = model.username; response.data = u; response.code = System.Net.HttpStatusCode.Created; }catch (Infrastructure.BusinessRuleException bex) { response.status = true; response.code = System.Net.HttpStatusCode.BadRequest; response.brokenRules = bex.BrokenRules; response.error_message = bex.Message; }catch (Exception ex) { response.status = true; response.code = System.Net.HttpStatusCode.InternalServerError; response.error_message = "Ocorreu um erro inesperado. Entre em contato com o nosso time de desenvolvimento."; } return(response); }
public async Task <IActionResult> Login([Bind("username,password")] Services.ViewModel.UserViewModel model) { Console.Write(model); AuthenticationModel response = null; System.Net.Http.HttpMethod method = System.Net.Http.HttpMethod.Post; if (model.Id != Guid.Empty) { method = System.Net.Http.HttpMethod.Put; } response = await ApiRequestHelper.postPutEncodedRequest <AuthenticationModel>( EscolaDeVoce.Backend.Helpers.EscolaDeVoceEndpoints.tokenUrl, model.username, model.password ); if (response != null) { const string Issuer = "https://www.escoladevoce.com.br"; var claims = new List <Claim> { new Claim(ClaimTypes.Name, "Charles", ClaimValueTypes.String, Issuer), new Claim(ClaimTypes.Surname, "França", ClaimValueTypes.String, Issuer), new Claim(ClaimTypes.Country, "BR", ClaimValueTypes.String, Issuer), new Claim(ClaimTypes.Country, "BR", ClaimValueTypes.String, Issuer), new Claim("TOKEN", response.access_token, ClaimValueTypes.String, Issuer), new Claim("facebookid", "112345432145432", ClaimValueTypes.String, Issuer), new Claim("id", Guid.NewGuid().ToString(), ClaimValueTypes.String) }; var userIdentity = new ClaimsIdentity(claims, "Passport"); var userPrincipal = new ClaimsPrincipal(userIdentity); await HttpContext.Authentication.SignInAsync("Cookie", userPrincipal, new AuthenticationProperties { ExpiresUtc = DateTime.UtcNow.AddMinutes(20), IsPersistent = true, AllowRefresh = false }); return(RedirectToAction("Index", "Project")); } Console.Write(response); return(View()); }
public Infrastructure.ApiResponse <Services.ViewModel.UserViewModel> Put(string id, [FromBody] Services.ViewModel.UserViewModel model) { var response = new Infrastructure.ApiResponse <Services.ViewModel.UserViewModel>(); try{ Guid userid = Guid.Empty; if (!Guid.TryParse(id, out userid)) { return(Infrastructure.ApiResponse <Services.ViewModel.UserViewModel> .CreateResponse(false, "Usuário não encontrado", null, System.Net.HttpStatusCode.NotFound)); } model.Id = userid; _userService.UpdateUser(new Services.Message.UpdateUserRequest() { user = model }); response.status = true; response.data = model; response.code = System.Net.HttpStatusCode.Created; }catch (Infrastructure.BusinessRuleException bex) { response.status = true; response.code = System.Net.HttpStatusCode.BadRequest; response.brokenRules = bex.BrokenRules; response.error_message = bex.Message; }catch (Exception ex) { response.status = true; response.code = System.Net.HttpStatusCode.InternalServerError; response.error_message = "Ocorreu um erro inesperado. Entre em contato com o nosso time de desenvolvimento."; } return(response); }