public int AgregarCategoriasAProducto(IList <Category> categorias, int idProducto) { // validaciones if (categorias.Count <= 0) { return(0); } // validar que el id de producto exista en BD var producto = _cibertecContext.Products.FirstOrDefault(p => p.ProductId == idProducto); if (producto == null) { return(0); } if (producto.ProductCategories == null) { producto.ProductCategories = new List <ProductCategory>(); } // agregar las categorias foreach (var categoria in categorias) { var newProductCategory = new ProductCategory { CategoryId = categoria.CategoryId, ProductId = idProducto }; producto.ProductCategories.Add(newProductCategory); } _cibertecContext.Commit(); return(categorias.Count); }
public ActionResult GetToken(GetTokenRequest request) { // 1. Validar el usuario var usuario = _accountService.ValidateUser(request.Username, request.Password); if (usuario == null) { // devolver un 401 (no autorizado) return(StatusCode(401)); } // 2. Crear la identidad del usuario (que viajará en el JWT) var identidad = new[] { new Claim(ClaimTypes.Name, usuario.Name), new Claim(ClaimTypes.Email, usuario.Email), new Claim("DNI", usuario.Dni) }; // 3. Crear los elementos para la encriptación var key = new SymmetricSecurityKey(Encoding.ASCII.GetBytes("cibertec12345678")); var credenciales = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); // 4. Generar el token // 4.1. Obtener la fecha de expiración del token var tokenExpirationDate = DateTime.Now.AddSeconds(10); var token = new JwtSecurityToken( issuer: "Cibertec", audience: "app-react", claims: identidad, expires: tokenExpirationDate, signingCredentials: credenciales ); var jwtToken = new JwtSecurityTokenHandler().WriteToken(token); // 5. Crear el refresh token var refreshToken = new RefreshToken { ExpiresAt = tokenExpirationDate, UserId = usuario.Id, Token = Guid.NewGuid().ToString() }; // 5.1. Guardar en BD _cibertecContext.RefreshTokens.Add(refreshToken); var resultado = _cibertecContext.Commit(); // 6. Retornar el token en un objeto JSON basado en la clase GetTokenResponse return(Ok(new GetTokenResponse { AccessToken = jwtToken, RefreshToken = refreshToken.Token, ExpiresIn = 10 })); }
public ActionResult Insertar(Category request) { _cibertecContext.Categories.Add(request); var result = _cibertecContext.Commit(); if (result > 0) { return(Ok(request.CategoryId)); } return(Ok("No se pudo insertar el registro")); }
public ActionResult Insertar(Venta request) { _context.Ventas.Add(request); var result = _context.Commit(); if (result > 0) { return(Ok(request.Id)); } return(Ok("No se pudo insertar el registro")); //var registroCorrecto = _nuevaVentaService.RegistrarNuevaVenta(request); //if (registroCorrecto==0) //{ // return BadRequest(0); //} //return Ok(registroCorrecto); }
public void Registro_de_nombre_existente_debe_retornar_falso() { // 1. Preparar la prueba _cibertecContext.Products.Add(new Product { ProductName = "Repetido" }); _cibertecContext.Commit(); var nuevoProducto = new Product { ProductName = "repetido" }; // 2. Ejecutar el método a probar var resultado = _productService.RegistrarProducto(nuevoProducto); // 3. Hacer la comprobación Assert.IsFalse(resultado); }
public ActionResult Actualizar(Proveedor proveedor) { Proveedor proveedorExistente = null; try { // obtener el producto de BD proveedorExistente = _context.Proveedores.Find(proveedor.Id); } catch (System.Exception) { return(BadRequest("No se pudo obtener la información del proveedor existente")); } // si no existe, devolver un error if (proveedorExistente == null) { return(BadRequest("El proveedor no existe")); } proveedorExistente.Empresa = proveedor.Empresa == null ? proveedorExistente.Empresa : proveedor.Empresa; proveedorExistente.Representante = proveedor.Representante; proveedorExistente.NroDocumento = proveedor.NroDocumento; proveedorExistente.Celular = proveedor.Celular; proveedorExistente.Direccion = proveedor.Direccion; proveedorExistente.Distrito = proveedor.Distrito; proveedorExistente.Provincia = proveedor.Provincia; proveedorExistente.Departamento = proveedor.Departamento; try { var resultado = _context.Commit(); return(Ok(resultado)); } catch (System.Exception ex) { // log del error (ex) return(BadRequest("Ocurrió un error al tratar de grabar en BD")); } }
public ActionResult Actualizar(Producto producto) { Producto productoExistente = null; try { // obtener el producto de BD productoExistente = _context.Productos.Find(producto.ProductoId); } catch (System.Exception) { return(BadRequest("No se pudo obtener la información del producto existente")); } // si no existe, devolver un error if (productoExistente == null) { return(BadRequest("El producto no existe")); } productoExistente.Nombre = producto.Nombre == null ? productoExistente.Nombre : producto.Nombre; //productoExistente.es = product.Discontinued; productoExistente.Cantidad = producto.Cantidad; productoExistente.Precio = producto.Precio; productoExistente.CantidadMaxima = producto.CantidadMaxima; productoExistente.CantidadMinima = producto.CantidadMinima; productoExistente.Descripcion = producto.Descripcion; productoExistente.Estado = producto.Estado; try { var resultado = _context.Commit(); return(Ok(resultado)); } catch (System.Exception ex) { // log del error (ex) return(BadRequest("Ocurrió un error al tratar de grabar en BD")); } }
public ActionResult Actualizar(Cliente cliente) { Cliente clienteExistente = null; try { // obtener el producto de BD clienteExistente = _context.Clientes.Find(cliente.Id); } catch (System.Exception) { return(BadRequest("No se pudo obtener la información del cliente existente")); } // si no existe, devolver un error if (clienteExistente == null) { return(BadRequest("El cliente no existe")); } clienteExistente.Nombre = cliente.Nombre == null ? clienteExistente.Nombre : cliente.Nombre; clienteExistente.Apellido = cliente.Apellido; clienteExistente.NroDocumento = cliente.NroDocumento; clienteExistente.Telefono = cliente.Telefono; clienteExistente.Direccion = cliente.Direccion; clienteExistente.Distrito = cliente.Distrito; clienteExistente.Provincia = cliente.Provincia; clienteExistente.Departamento = cliente.Departamento; try { var resultado = _context.Commit(); return(Ok(resultado)); } catch (System.Exception ex) { // log del error (ex) return(BadRequest("Ocurrió un error al tratar de grabar en BD")); } }
public int RegistrarNuevaVenta(Venta nuevaVenta) { // validaciones //if (string.IsNullOrEmpty(nuevaVenta.Users)) //{ // return 0; //} // agregar el proucto a BD _cibertecContext.Ventas.Add(nuevaVenta); _cibertecContext.Commit(); return(nuevaVenta.Id); }
public ActionResult Actualizar(Product product) { Product productoExistente = null; try { // obtener el producto de BD productoExistente = _context.Products.Find(product.ProductId); } catch (System.Exception) { return(BadRequest("No se pudo obtener la información del producto existente")); } // si no existe, devolver un error if (productoExistente == null) { return(BadRequest("El producto no existe")); } productoExistente.ProductName = product.ProductName == null ? productoExistente.ProductName : product.ProductName; productoExistente.Discontinued = product.Discontinued; productoExistente.QuantityPerUnit = product.QuantityPerUnit; productoExistente.UnitPrice = product.UnitPrice; productoExistente.UnitsInStock = product.UnitsInStock; try { var resultado = _context.Commit(); return(Ok(resultado)); } catch (System.Exception ex) { // log del error (ex) return(BadRequest("Ocurrió un error al tratar de grabar en BD")); } }
public ActionResult Eliminar(int id) { // obtener la entidad que se quiere eliminar var Eliminar = _context.DetalleVentas.Find(id); if (Eliminar == null) { return(BadRequest("El DetalleVentas no existe")); } _context.DetalleVentas.Remove(Eliminar); return(Ok(_context.Commit())); }
public bool RegistrarUsuario(User nuevoUsuario) { // validaciones if (string.IsNullOrEmpty(nuevoUsuario.Email) || (string.IsNullOrEmpty(nuevoUsuario.Name)) || (string.IsNullOrEmpty(nuevoUsuario.Dni)) || (string.IsNullOrEmpty(nuevoUsuario.Password))) { return false; } var ClienteConDNIRepetido = _context.Users.Where(p => p.Email.ToUpper() == nuevoUsuario.Email.ToUpper()); if (ClienteConDNIRepetido.Count() > 0) { return false; } // agregar el proucto a BD _context.Users.Add(nuevoUsuario); return _context.Commit() > 0; }
public bool RegistrarProveedor(Proveedor nuevoProveedor) { // validaciones if (string.IsNullOrEmpty(nuevoProveedor.Empresa) || (string.IsNullOrEmpty(nuevoProveedor.NroDocumento)) || (string.IsNullOrEmpty(nuevoProveedor.Representante))) { return(false); } var DNIRepetido = _cibertecContext.Proveedores.Where(p => p.NroDocumento.ToUpper() == nuevoProveedor.NroDocumento.ToUpper()); if (DNIRepetido.Count() > 0) { return(false); } // agregar el proucto a BD _cibertecContext.Proveedores.Add(nuevoProveedor); return(_cibertecContext.Commit() > 0); }
public bool RegistrarCliente(Cliente nuevoCliente) { // validaciones if (string.IsNullOrEmpty(nuevoCliente.Nombre) || (string.IsNullOrEmpty(nuevoCliente.Apellido)) || (string.IsNullOrEmpty(nuevoCliente.NroDocumento))) { return(false); } var ClienteConDNIRepetido = _cibertecContext.Clientes.Where(p => p.NroDocumento.ToUpper() == nuevoCliente.NroDocumento.ToUpper()); if (ClienteConDNIRepetido.Count() > 0) { return(false); } // agregar el proucto a BD _cibertecContext.Clientes.Add(nuevoCliente); return(_cibertecContext.Commit() > 0); }
public bool RegistrarProducto(Producto nuevoProducto) { // validaciones if (string.IsNullOrEmpty(nuevoProducto.Nombre)) { return(false); } var productsWithSameName = _cibertecContext.Productos.Where(p => p.Nombre.ToUpper() == nuevoProducto.Nombre.ToUpper()); if (productsWithSameName.Count() > 0) { // significa que existen productos registrados que tienen el mismo nombre que el que se desea registrar return(false); } // agregar el proucto a BD _cibertecContext.Productos.Add(nuevoProducto); return(_cibertecContext.Commit() > 0); }