public int saveData([FromBody] UserCLS userCLS) { int response = 0; //try //{ // using (BDRestauranteContext bd = new BDRestauranteContext()) // { // using( var transaction = new TransactionScope()) // { // if (userCLS.IdUser == 0) // { // // Cifrar contraseña password // SHA256Managed sha = new SHA256Managed(); // //string pssw = userCLS.Password; // byte[] dataPure = Encoding.Default.GetBytes(userCLS.Password); // byte[] encryptedData = sha.ComputeHash(dataPure); // string psswEncrypted = BitConverter.ToString(encryptedData).Replace("-", ""); // Usuario user = new Usuario // { // Bhabilitado = 1, // Nombreusuario = userCLS.NameUser, // Contra = psswEncrypted, // Iidpersona = userCLS.Person.IdPerson, // Iidtipousuario = userCLS.UserType.IdUserType // }; // bd.Usuario.Add(user); // // Modify person // Persona person = bd.Persona.Where(p => p.Iidpersona == user.Iidpersona).FirstOrDefault(); // person.Btieneusuario = 1; // bd.SaveChanges(); // transaction.Complete(); // response = 1; // } // else // { // Usuario user = bd.Usuario.Where(u => u.Iidusuario == userCLS.IdUser).FirstOrDefault(); // user.Nombreusuario = userCLS.NameUser; // user.Iidtipousuario = userCLS.UserType.IdUserType; // bd.SaveChanges(); // transaction.Complete(); // response = 1; // } // } // } //} //catch (Exception) //{ // throw; //} return(response); }
public ActionResult Login(UserCLS user) { HttpClient client = new HttpClient(); client.BaseAddress = new Uri(baseURL); var contentType = new MediaTypeWithQualityHeaderValue("application/json"); client.DefaultRequestHeaders.Accept.Add(contentType); var request = new AuthReqCLS(); request.user = user; request.ClientSecret = ConfigurationManager.AppSettings["CLIENT_SECRET"]; string stringData = JsonConvert.SerializeObject(request); var contentData = new StringContent(stringData, Encoding.UTF8, "application/json"); HttpResponseMessage response = client.PostAsync(basePath + "api/Token", contentData).Result; string stringJWT = response.Content.ReadAsStringAsync().Result; if (!response.IsSuccessStatusCode) { ViewBag.IsLoggedIn = false; ViewBag.Message = "Credenciales incorrectas"; return(View("Index")); } Token token = JsonConvert.DeserializeObject <Token>(stringJWT); token.Username = user.Username; ViewBag.IsLoggedIn = true; ViewBag.Username = user.Username; ViewBag.IsAdmin = token.isAdmin; ViewBag.Message = "Has iniciado sesión correctamente"; Session["token"] = token; return(View("Index")); }
public UserCLS login([FromBody] UserCLS userCLS) { var response = 0; UserCLS user = new UserCLS(); using (BDRestauranteContext bd = new BDRestauranteContext()) { SHA256Managed sha = new SHA256Managed(); byte[] dataPure = Encoding.Default.GetBytes(userCLS.Password); byte[] encryptedData = sha.ComputeHash(dataPure); string psswEncrypted = BitConverter.ToString(encryptedData).Replace("-", ""); response = bd.Usuario .Where(u => u.Nombreusuario.ToLower() == userCLS.NameUser.ToLower() && u.Contra == psswEncrypted).Count(); if (response == 1) { Usuario ususario = bd.Usuario .Where(u => u.Nombreusuario.ToLower() == userCLS.NameUser.ToLower() && u.Contra == psswEncrypted).FirstOrDefault(); HttpContext.Session.SetString("user", ususario.Iidusuario.ToString()); HttpContext.Session.SetString("userType", ususario.Iidtipousuario.ToString()); user.IdUser = ususario.Iidusuario; user.NameUser = ususario.Nombreusuario; } else { user.IdUser = 0; user.NameUser = ""; } } return(user); }
public ActionResult Guardar(UserCLS user) { Token token = HttpContext.Session["token"] as Token; if (token == null || token.ExpiresAt < DateTime.Now) { return(RedirectToAction("Index", "Authentication")); } try { int ID = user.ID; if (user.ID == 1) { user.isAdmin = true; } HttpClient httpClient = new HttpClient(); httpClient.BaseAddress = new Uri(baseURL); httpClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.AccessToken); string reqJson = JsonConvert.SerializeObject(user); HttpContent body = new StringContent(reqJson, Encoding.UTF8, "application/json"); if (ID == 0) { HttpResponseMessage response = httpClient.PostAsync(basePath + "api/Usuario", body).Result; if (response.IsSuccessStatusCode) { return(Json( new { success = true, message = "Usuario creado satisfactoriamente" }, JsonRequestBehavior.AllowGet)); } else if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized) { return(RedirectToAction("Index", "Authentication")); } else if (response.StatusCode == System.Net.HttpStatusCode.Conflict) { return(Json( new { success = false, message = "Nombre de usuario ya existente" }, JsonRequestBehavior.AllowGet)); } } else { HttpResponseMessage response = httpClient.PutAsync($"{basePath}api/Usuario/{ID}", body).Result; if (response.IsSuccessStatusCode) { return(Json( new { success = true, message = "Usuario modificado satisfactoriamente" }, JsonRequestBehavior.AllowGet)); } else if (response.StatusCode == System.Net.HttpStatusCode.Conflict) { return(Json( new { success = false, message = "Nombre de usuario ya existente" }, JsonRequestBehavior.AllowGet)); } } throw new Exception("Error desconocido al guardar Usuario"); } catch (Exception e) { return(Json( new { success = false, message = e.InnerException }, JsonRequestBehavior.AllowGet)); } }