public ClienteCompleto BuscarPorId(int Id) { using (var db = new VentasDB()) { return(db.Clientes.Find(Id).ConvertirADTOCompleto()); } }
public IEnumerable <ClienteRegistrado> ListarTodosLosClientes() { using (var db = new VentasDB()) { return(db.Clientes.ToList().Select(x => x.ConvertirADTO())); } }
public void Registrar(NuevoUsuario peticion) { using (var db = new VentasDB()) { var usuario = db.Usuarios .FirstOrDefault(x => x.Alias.Equals(peticion.Alias)); if (usuario != null) { throw new InvalidOperationException("Ya existe un usuario con ese nombre"); } if (!peticion.Password.Equals(peticion.ConfirmacionDePassword)) { throw new InvalidOperationException("El password y su confirmacion no coinciden"); } var nuevoUsuario = peticion.ConvertirAEntidad(); nuevoUsuario.Password = this._gestorDeCriptografia.EncriptarEnAES256(peticion.Password); db.Roles .Where(x => peticion.NombresDeLosRoles.Contains(x.Nombre)) .ToList() .ForEach(x => nuevoUsuario.Roles.Add(x)); db.Usuarios.Add(nuevoUsuario); db.SaveChanges(); } }
public VentaRegistrada RegistrarNuevaVenta(NuevaVenta nuevaVenta) { using (var db = new VentasDB()) { Venta venta = nuevaVenta.ConvertirAEntidad(); db.Ventas.Add(venta); db.SaveChanges(); var informacionDeLaVenta = db.Ventas .Where(x => x.Id.Equals(venta.Id)) .Select(x => new { NombreDelCliente = x.Cliente.NombreCompleto, NombreDelVendedor = x.Vendedor.NombreCompleto }) .First(); return(new VentaRegistrada() { Id = venta.Id, Fecha = venta.Fecha, MontoTotal = venta.Total, NombreCliente = informacionDeLaVenta.NombreDelCliente, NombreDelVendedor = informacionDeLaVenta.NombreDelVendedor }); } }
public IEnumerable <PersonaGenerica> ListarVendedores() { using (var db = new VentasDB()) { return(db.Vendedores.ToList().Select(x => x.ConvertirADTOSimplificado())); } }
public IEnumerable <CategoriaRegistrada> ListarTodasLasCategorias() { using (var db = new VentasDB()) { return(db.Categorias.ToList().Select(x => x.ConvertirADTO())); } }
public ClienteCompleto RegistrarNuevoCliente(NuevoCliente nuevoCliente) { using (var db = new VentasDB()) { var cliente = nuevoCliente.ConvertirAEntidad(); db.Clientes.Add(cliente); db.SaveChanges(); return(cliente.ConvertirADTOCompleto()); } }
public ClienteCompleto ActualizarCliente(ActualizacionDeCliente actualizacionDeCliente) { using (var db = new VentasDB()) { var cliente = db.Clientes.Find(actualizacionDeCliente.Id); actualizacionDeCliente.ActualizarRegistro(cliente); db.SaveChanges(); return(cliente.ConvertirADTOCompleto()); } }
public IEnumerable <ProductoRegistrado> ListarProductosPorCategoria(int categoriaId) { using (var db = new VentasDB()) { return(db.Productos .Where(x => x.CategoriaId.Equals(categoriaId)) .ToList() .Select(x => x.ConvertirADTO()) ); } }
public IEnumerable <MontoDeVentaPorVendedor> ListarVentasPorVendedor() { using (var db = new VentasDB()) { return(db.Ventas .GroupBy(x => x.Vendedor.NombreCompleto, y => y.Total) .Select(x => new { vendedor = x.Key, monto = x.Sum() }) .ToList() .Select(x => new MontoDeVentaPorVendedor() { MontoVendido = x.monto, NombreVendedor = x.vendedor })); } }
public Session Login(IntentoDeInicioDeSession peticion) { using (var db = new VentasDB()) { var usuario = db.Usuarios .Include("Roles") .FirstOrDefault(x => x.Alias.Equals(peticion.Alias)); if (usuario == null) { throw new InvalidOperationException("El usuario no existe o el password es equivocado"); } if (elPasswordEsValido(usuario, peticion.Password)) { return(usuario.ConvertirADTO()); } else { throw new InvalidOperationException("El usuario no existe o el password es equivocado"); } } }
public IEnumerable <VentaRegistrada> ListarTodasLasVentas() { using (var db = new VentasDB()) { return(db.Ventas.Select(x => new { Id = x.Id, Fecha = x.Fecha, NombreVendedor = x.Vendedor.NombreCompleto, NombreCliente = x.Cliente.NombreCompleto, Total = x.Total }) .ToList() .Select(x => new VentaRegistrada() { Fecha = x.Fecha, Id = x.Id, MontoTotal = x.Total, NombreCliente = x.NombreCliente, NombreDelVendedor = x.NombreVendedor })); } }