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();
            }
        }
예제 #2
0
        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 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());
     }
 }