public IEnumerable <APIUsers.Library.Models.User> GetUsers() { #if false List <User> users = new List <User>(); users.Add(new Models.User() { CreateDate = DateTime.Now, ID = 1, Name = "Ramón Gerardo", Nick = "rgatilanov", Password = null, accountType = AccountType.Administrator }); users.Add(new Models.User() { CreateDate = DateTime.Now, ID = 2, Name = "Juan Perez", Nick = "juan.perez", Password = null, accountType = AccountType.Basic, }); #endif List <APIUsers.Library.Models.User> listUsers = new List <APIUsers.Library.Models.User>(); var ConnectionStringLocal = _configuration.GetValue <string>("ServidorLocal"); using (IUser User = Factorizador.CrearConexionServicio(APIUsers.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { listUsers = User.GetUsers(); } return(listUsers); }
public IEnumerable <ApiProducts.Library.Models.ProductoRes> GetProductsIds(object value) { var ConnectionStringLocal = _configuration.GetValue <string>("CadenaConexion"); var jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(value); List <ApiProducts.Library.Models.ProductoRes> list = new List <ApiProducts.Library.Models.ProductoRes>(); ApiProducts.Library.Models.Producto objProducto = new ApiProducts.Library.Models.Producto(); //string json = @"[ {""idPedido"": 1, ""idProducto"": 1, ""cantidad"": 1 }]"; //Deserialize the data var obj = JsonConvert.DeserializeObject <List <ApiProducts.Library.Models.ProductoMinRes> >(value.ToString()); //Loop thrrouch values and save the details into database foreach (ApiProducts.Library.Models.ProductoMinRes p in obj) { using (IProduct producto = Factorizador.CrearConexionServicio(ApiProducts.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { objProducto = producto.GetProduct(p.Id); list.Add(new ApiProducts.Library.Models.ProductoRes() { Id = objProducto.Id, Titulo = objProducto.Titulo, Plataforma = objProducto.Plataforma, Imagen = objProducto.Imagen, Imagen2 = objProducto.Imagen2, Imagen3 = objProducto.Imagen3, PrecioVenta = objProducto.PrecioVenta, Edicion = objProducto.FechaLanzamiento, IdCarrito = p.IdCarrito }); } } return(list); }
//public IActionResult Login([FromBody]Models.Login user) //{ // if (user == null) // return BadRequest("Invalid client request"); // //Lógica de consulta a una base de datos // if (user.Nick == "mtwdm" && user.Password == "123123") // { // var secretKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("rgatilanov-2019-mtwdm")); // var signinCredentials = new SigningCredentials(secretKey, SecurityAlgorithms.HmacSha256); // var tokeOptions = new JwtSecurityToken( // issuer: "https://userapi2.azurewebsites.net", // audience: "https://userapi2.azurewebsites.net", // claims: new List<System.Security.Claims.Claim>(), // expires: DateTime.Now.AddMinutes(5), // signingCredentials: signinCredentials // ); // var tokenString = new JwtSecurityTokenHandler().WriteToken(tokeOptions); // return Ok(new { Token = tokenString }); // } // else // return Unauthorized(); //} public Api.Library.Models.User Login([FromBody] Api.Library.Models.UserMin user) { var ConnectionStringLocal = _configuration.GetValue <string>("ConnectionStringLocal"); var ConnectionStringAzure = _configuration.GetValue <string>("ConnectionStringAzure"); using (ILogin Login = Factorizador.CrearConexionServicio(Api.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { Api.Library.Models.User objusr = Login.EstablecerLogin(user.Nick, user.Password); if (objusr.ID > 0) { var secretKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("maestria-mtwdm-2019")); var signinCredentials = new SigningCredentials(secretKey, SecurityAlgorithms.HmacSha256); var tokeOptions = new JwtSecurityToken( issuer: "http://localhost:44308", audience: "http://localhost:44308", claims: new List <System.Security.Claims.Claim>(), expires: DateTime.Now.AddMinutes(5), signingCredentials: signinCredentials ); var tokenString = new JwtSecurityTokenHandler().WriteToken(tokeOptions); objusr.JWT = tokenString; } return(objusr); } }
public ActionResult <List <User> > GetAllUsers() { using (ILogin Login = Factorizador.CrearConexionServicio(Api.Library.Models.ConnectionType.MSSQL, ConnectionStringAzure)) { List <Api.Library.Models.User> objusrs = Login.ObtenerUsers(); return(objusrs); } }
public IActionResult InsertOrderDetail(ApiProducts.Library.Models.PedidoCabDet value) { int id = 0; int idPedido = 0; var ConnectionStringLocal = _configuration.GetValue <string>("CadenaConexion"); var jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(value); int insertCodigo = 0; ApiProducts.Library.Models.Producto objProducto = new ApiProducts.Library.Models.Producto(); ApiProducts.Library.Models.PedidoCab objPedido = new ApiProducts.Library.Models.PedidoCab(); //string json = @"[ {""idPedido"": 1, ""idProducto"": 1, ""cantidad"": 1 }]"; //Deserialize the data //var obj = JsonConvert.DeserializeObject<List<ApiProducts.Library.Models.PedidoCabDet>>(value.ToString()); //Loop thrrouch values and save the details into database using (IOrder Order = Factorizador.CrearConexionServicioOrder(ApiProducts.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { idPedido = Order.InsertOrder(value.ClienteId, value.Total, "TC", ""); } foreach (int p in value.ListaProductos) { using (ICode Code = Factorizador.CrearConexionServicioCode(ApiProducts.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { insertCodigo = Code.InsertCode(idPedido, p, Functions.RandomCodigo()); } using (IProduct producto = Factorizador.CrearConexionServicio(ApiProducts.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { objProducto = producto.GetProduct(p); } using (IOrder Order = Factorizador.CrearConexionServicioOrder(ApiProducts.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { id = Order.InsertDetail(idPedido, p, insertCodigo, 1, objProducto.PrecioVenta); } using (IOrder order = Factorizador.CrearConexionServicioOrder(ApiProducts.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { objPedido = order.GetOrder(idPedido); } } if (id > 0) { return(Ok(new { Id = objPedido, Estatus = "success", Code = 200, Msg = "Detalle del pedido insertado correctamente!!" })); } return(NotFound()); }
public IEnumerable<APIUsers.Library.Models.User> GetUsers() { List<APIUsers.Library.Models.User> listUsers = new List<APIUsers.Library.Models.User>(); var ConnectionStringLocal = _configuration.GetValue<string>("ServidorAzure"); using (IUser User = Factorizador.CrearConexionServicio(APIUsers.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)){ listUsers = User.GetUsers(); } return listUsers; }
public IActionResult GetUserByNick(string nick) { APIUsers.Library.Models.User user = new APIUsers.Library.Models.User(); var ConnectionStringLocal = _configuration.GetValue<string>("ServidorAzure"); using (IUser User = Factorizador.CrearConexionServicio(APIUsers.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { user = User.GetUser(nick); } return Ok(new { user }); }
public Boolean UpdateUserDomicilio([FromBody] APIUsers.Library.Models.User value) { Boolean status; var ConnectionStringLocal = _configuration.GetValue<string>("ServidorAzure"); using (IUser User = Factorizador.CrearConexionServicio(APIUsers.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { status = User.UpdateUser_domicilio(value); } return status; }
public int InsertUser([FromBody] APIUsers.Library.Models.UserMin value) { int id = 0; var ConnectionStringLocal = _configuration.GetValue <string>("ServidorLocal"); using (IUser User = Factorizador.CrearConexionServicio(APIUsers.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { id = User.InsertUser(value.Nick, Functions.GetSHA256(value.Password)); } return(id); }
public APIUsers.Library.Models.User GetUser(string nick) { APIUsers.Library.Models.User user = new User(); var ConnectionStringLocal = _configuration.GetValue <string>("ServidorLocal"); using (IUser User = Factorizador.CrearConexionServicio(APIUsers.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { user = User.GetUser(nick); } return(user); }
//[Authorize] public IEnumerable <ApiProducts.Library.Models.Producto> GetProductsPlataforma(int id)//[FromBody] ApiProducts.Library.Models.ProductoMin value { List <ApiProducts.Library.Models.Producto> listProducts = new List <ApiProducts.Library.Models.Producto>(); var ConnectionStringLocal = _configuration.GetValue <string>("CadenaConexion"); using (IProduct product = Factorizador.CrearConexionServicio(ApiProducts.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { listProducts = product.GetProductsPlataforma(id); } return(listProducts); }
public Boolean DeleteUser(int id) { Boolean status; var ConnectionStringLocal = _configuration.GetValue<string>("ServidorAzure"); using (IUser User = Factorizador.CrearConexionServicio(APIUsers.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { status = User.DeleteUser(id); } return status; }
public IActionResult InsertUser([FromBody] APIUsers.Library.Models.UserMin value) { int id = 0; var ConnectionStringLocal = _configuration.GetValue<string>("ServidorAzure"); using (IUser User = Factorizador.CrearConexionServicio(APIUsers.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { id = User.InsertUser(value); } if (id != 0) { return Ok(id); } else{ return BadRequest(); } }
public IActionResult Revoke() { var username = User.Identity.Name; //var user = userContext.LoginModels.SingleOrDefault(u => u.UserName == username); var ConnectionStringLocal = _configuration.GetValue <string>("ServidorLocal"); using (IUser User = Factorizador.CrearConexionServicio(APIUsers.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { APIUsers.Library.Models.User user = User.GetUser(username); if (user == null) { return(BadRequest()); } user.RefreshToken = null; //userContext.SaveChanges(); User.UpdateRefreshToken(user); return(NoContent()); } }
//[Authorize] public IActionResult GetProduct(int id)//[FromBody] ApiProducts.Library.Models.CatProductos value { var ConnectionStringLocal = _configuration.GetValue <string>("CadenaConexion"); //var ConnectionStringAzure = _configuration.GetValue<string>("ConnectionStringAzure"); using (IProduct producto = Factorizador.CrearConexionServicio(ApiProducts.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { ApiProducts.Library.Models.Producto objusr = producto.GetProduct(id); if (objusr.Id > 0) { return(Ok(new { Producto = objusr })); } return(NotFound()); } }
public ActionResult <List <Order> > GetOrders() { #if true using (IOrder Login = Factorizador.CrearConexionServicio(ConnectionType.MSSQL, ConnectionStringLocal)) { List <Order> objords = Login.GetOrders(); return(objords); } #endif #region Este código es para sacar la ip del cliente que intenta conectarse a sql server en azure #if false List <Order> orders = new List <Order>(); SqlConexion sql = new SqlConexion() { _conn = new SqlConnection(ConnectionStringAzure) }; try { sql._conn.Open(); } catch (SqlException sqlEx) { orders.Add(new Order() { ShipAddress = sqlEx.Message, }); } catch (Exception ex) { orders.Add(new Order() { ShipAddress = ex.Message, }); } return(orders); #endif #endregion }
public IActionResult InsertProduct([FromBody] ApiProducts.Library.Models.CatProductos value) { int id = 0; var ConnectionStringLocal = _configuration.GetValue <string>("CadenaConexion"); using (IProduct Product = Factorizador.CrearConexionServicio(ApiProducts.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { id = Product.InsertProduct(value.Sku, value.Titulo, value.Descripcion, value.IdPlataforma, value.IdGenero, value.idClasificacion, value.Imagen, value.Imagen2, value.Imagen3, value.UrlVideo, value.Costo, value.PrecioVenta, value.Edicion, value.FechaLanzamiento.ToString()); if (id > 0) { return(Ok(new { Id = id, Estatus = "success", Code = 200, Msg = "Producto insertado correctamnete!!" })); } } return(NotFound()); }
public IActionResult UpdateImage([FromBody] ApiProducts.Library.Models.Imagen value) { int id = 0; var ConnectionStringLocal = _configuration.GetValue <string>("CadenaConexion"); using (IProduct product = Factorizador.CrearConexionServicio(ApiProducts.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { id = product.UpdateImage(value.Id, value.Campo, value.Ruta); if (id > 0) { return(Ok(new { Id = value.Id, Estatus = "success", Code = 200, Msg = "Producto actualizado correctamente!!" })); } } return(NotFound()); }
public IActionResult DeleteProduct([FromBody] ApiProducts.Library.Models.CatProductos value) { int id = 0; var ConnectionStringLocal = _configuration.GetValue <string>("CadenaConexion"); using (IProduct Product = Factorizador.CrearConexionServicio(ApiProducts.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { id = Product.DeleteProduct(value.Id); if (id > 0) { return(Ok(new { Id = id, Estatus = "success", Code = 200, Msg = "Producto eliminado correctamnete!!" })); } } return(NotFound()); }
public IActionResult InsertProductWishList([FromBody] ApiProducts.Library.Models.WishListMin value) { int id = 0; var ConnectionStringLocal = _configuration.GetValue <string>("CadenaConexion"); using (IProduct Product = Factorizador.CrearConexionServicio(ApiProducts.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { id = Product.InsertProductWishList(value.IdCliente, value.IdProducto); if (id > 0) { return(Ok(new { Id = id, Estatus = "success", Code = 200, Msg = "Producto insertado a WishList correctamnete!!" })); } } return(NotFound()); }
public IActionResult Refresh(TokenApiModel tokenApiModel) { if (tokenApiModel is null) { return(BadRequest("Invalid client request")); } string accessToken = tokenApiModel.AccessToken; string refreshToken = tokenApiModel.RefreshToken; //var principal = tokenService.GetPrincipalFromExpiredToken(accessToken); var principal = tokenService.GetPrincipalFromExpiredToken(accessToken, new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration.GetValue <string>("SecretKey")))); var username = principal.Identity.Name; //this is mapped to the Name claim by default //En lugar de usar la conexión por contexto, usamos la conexión mediante los servicios ya creados. //var user = userContext.LoginModels.SingleOrDefault(u => u.UserName == username); //Conexión mediante clase Login var ConnectionStringLocal = _configuration.GetValue <string>("ServidorLocal"); using (IUser User = Factorizador.CrearConexionServicio(APIUsers.Library.Models.ConnectionType.MSSQL, ConnectionStringLocal)) { APIUsers.Library.Models.User user = User.GetUser(username); if (user == null || user.RefreshToken != refreshToken || user.RefreshTokenExpiryTime <= DateTime.Now) { return(BadRequest("Invalid client request")); } //var newAccessToken = tokenService.GenerateAccessToken(principal.Claims); var newAccessToken = tokenService.GenerateAccessToken(principal.Claims, new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration.GetValue <string>("SecretKey")))); var newRefreshToken = tokenService.GenerateRefreshToken(); user.RefreshToken = newRefreshToken; //userContext.SaveChanges(); User.UpdateRefreshToken(user); return(new ObjectResult(new { accessToken = newAccessToken, refreshToken = newRefreshToken })); } }