Exemplo n.º 1
0
        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"));
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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));
            }
        }