C7/ CRUD con Arquitectura Tradicional en Capas + POO+DDD+PEAA+Validaciones/ Nivel Avanzado 1/ VB-SQL

Поделиться
HTML-код
  • Опубликовано: 7 фев 2025
  • MENÚ DE NAVEGACIÓN
    Capitulo Anterior (C6): Practica CRUD con Arquitectura Tradicional en Capas + POO+DDD+PEAA+Validaciones/ Nivel Avanzado 1/ C#-SQL
    • C6/ CRUD con Arquitect...
    TEMAS DEL VÍDEO ACTUAL(C7)
    Crud Completo(Insertar,Actualizar, Eliminar y Leer datos) + Validaciones con VISUAL BASIC .NET
    Capas de datos/Persistencia:
    _Modelo de Datos/Entidad de Datos.
    _Contratos/Interfaces de repositorios
    _Repositorios
    _Repositorio Maestro
    _Repositorio de Entidades.
    _Validar datos duplicados
    Capa de Dominio/Negocio
    _Modelo de dominio/Entidad de Dominio
    _Modelo de Vistas
    _Objetos de Valores
    _Propiedades
    _Validaciones de datos
    _Reglas comerciales
    _Estados de entidad
    Capa de presentación
    _Validación de datos
    ENLACES
    Descargar Base de Datos:
    www.mediafire.c...
    //OBTENER PROYECTO LOGIN + CRUD COMPLETO - NIVEL AVANZADO
    rjcodeadvance....

Комментарии • 68

  • @adolfovanegas7802
    @adolfovanegas7802 5 лет назад

    Gracias por toda la explicación, me sirvió para irme por nuevas rutas. Se que esto es una pequeña practica pero quisiera ampliar mas la función d calculo de fecha, porque en la forma actual no te dice los meses exactos y te añade un año independientemente si solo tienes 1 mes mas:
    1. Cambiar de integer a single la propiedad Age
    2. Probar de esta forma el calculo:
    Private Function Get_Edad(birthday As Date) As Single
    Dim hoy = Date.Now
    Dim m As Integer = DateDiff(DateInterval.Month, birthday, Today)
    Dim y As Single = Fix(m / 12)
    Dim m1 = (m - (y * 12)) / 100
    Dim edad As Single = y + m1
    Return edad
    End Function
    Gracias por el tiempo y la dedicación, muy buen tutorial

  • @user-xd2qk7yp9k
    @user-xd2qk7yp9k 3 года назад

    ME FUNCIONÓ CORRECTAMENTE, MUCHAS GRACIAS CRACK

  • @Chronos123
    @Chronos123 5 лет назад +2

    Vaya, es uno de los mejores tutoriales que he visto. Temas complejos explicados de manera sencilla y todavia explicas las cosas simples. Ojala sacaras mas videos con respeto a estas metodologias de desarrollo por que es lo que ando buscado. Tienes cursos en Udemy?

    • @RJCodeAdvance
      @RJCodeAdvance  5 лет назад +1

      gracias 👍, trataré de subir mas vídeos. No doy cursos en udemy. .
      Saludos

  • @wgomez1176
    @wgomez1176 6 лет назад +1

    Muchaa gracias, me dio muchas ideas para trabajar mis proyectos.

  • @elkhayyat85
    @elkhayyat85 6 лет назад +1

    Awesome video, really so important and professional explanation

    • @elkhayyat85
      @elkhayyat85 6 лет назад

      Muchísimas gracias por sus tutoriales. Tengo en mi mente una idea de cómo hacer un formulario para conectar la base de datos cuando instalo el software por primera vez para obtener la cadena de conexión y guardarlo en la configuración de la aplicación del archivo usando el mismo proyecto vb.net

    • @RJCodeAdvance
      @RJCodeAdvance  6 лет назад +1

      Seria lo mas ideal :) 👍

  • @cruze.riveroc.5028
    @cruze.riveroc.5028 4 года назад

    Buenos días equipos RJ Advance, saludos. Mis gratas felicitaciones por este gran aporte en cuanto a conocimientos, tecnología, manejo de la información y construcción de proyectos informáticos de Base de Datos. Les informo que hice el proyecto y funciona correctamente, incluso lo repetí tomando en cuenta una información sobre materiales y funciona excelente. Sin embargo, tengo una duda, estoy tratando de ampliar el proyecto, en el sentido de agregar otras tablas, ponle 2 ó 3 tablas más, pero la duda que tengo es cómo insertar ó actualizar registros en las otras tablas, ya que hay campos que son Clave Foránea de la 1ra tabla. Es decir, el campo IdEmpleado de la 1ra tabla es Clave Foránea de la Tabla EntradaEmpleados, codificado como CodEmpleado. Mi pregunta es cómo hacer en Visual Basic.Net la nueva inserción en la 2da tabla si necesito el campo IdEmpleado, que es Primary key de la 1ra tabla. He realizado las pruebas a nivel de Sql server y los comandos funcionan bien porque tengo la información, la duda la tengo a nivel de Visual Basic.Net. Agradezco si me pueden recomendar alguna estrategia sobre eso. Saludos a todos, gracias mil por el aporte desde Venezuela.

  • @angelvela2398
    @angelvela2398 6 лет назад +1

    VB... Gracias bro aun no lo veo todo pero se que estará bueno......

  • @esteeeban10
    @esteeeban10 6 лет назад +1

    Muy buen vídeo, no hay muchos vídeos en español explicando estas cosas.

    • @erickmanuel7852
      @erickmanuel7852 3 года назад

      Pro tip: watch series on Flixzone. I've been using it for watching loads of movies lately.

    • @bakerasher8516
      @bakerasher8516 3 года назад

      @Erick Manuel yea, I've been watching on flixzone} for years myself :D

  • @jackmc71ify
    @jackmc71ify 3 года назад

    Maestro !!!!

  • @jcmanuel443
    @jcmanuel443 3 года назад

    Ola, muy buen material, siendo muy ordenado, es muy complejo seguir el ritmo cuando se trata de agregar otras funciones en esa arquitectura, tengo una problemática y consulta, el código usado para listar los datos en el DataGridView que debería cambiar para usarlo con un combo box?

  • @oscarmirandacandia4903
    @oscarmirandacandia4903 5 лет назад

    Genial, muchas gracias.........

  • @EzKuLaKa
    @EzKuLaKa 4 года назад

    De nuevo gran video. una pregunta...y si en la parte que usas para listar todos los registros (selecttall) también la usaras para buscar ... como seria ??

  • @victoraguileralara
    @victoraguileralara 3 года назад

    Excelente video. No sé si es por alguna configuración del Visual Studio u otro motivo, pero al usar la opción "acciones rápidas y refactorizaciones/encapsular campos (y usar propiedad)" me genera los métodos con el nombre de la propiedad + 1, ejemplo: para Private nombre As String, me genera
    Public Property Nombre1 As String
    Get
    Return nombre
    End Get
    Set(value As String)
    nombre = value
    End Set
    End Property
    ¿Cómo puedo corregir esto?

  • @warezzatende1700
    @warezzatende1700 5 лет назад

    muchas gracias...

  • @elperro9999
    @elperro9999 4 года назад

    Like, no hay mucho material de DDD en español, ojala y tuvieras tiempo de hablarnos un poco más.
    saludos

  • @josuecarlos1292
    @josuecarlos1292 3 года назад

    Tengo un problema con la IDE de Visual Studio, tengo instalada la version community 2019, mi problema es que cuando quiero hacer la referencia del system.configuration; no me aparece en el cuadro de dialogo la opcion de Ensamblados, he buscado por todos lados y nada, ya desinstale el visual studio y sigue aun el mismo problema.

  • @danielvalenzuela8738
    @danielvalenzuela8738 5 лет назад +1

    Tengo descargados todos tus vídeos y los uso como guía , pero quiero aprender más por mi cuenta. Algún canal de RUclips, libro, foro, grupo o lo que sea que recomiendes sobre patrones de software y arquitecturas . O mismo algún curso pago. Gracias

    • @RJCodeAdvance
      @RJCodeAdvance  5 лет назад +1

      Hola Daniel, te recomendaría leer estos libros.
      1.-Design patterns, Elements of Reusable Object- Oriented Software (GOF)
      2.-Patterns of Enterprise Application Architecture (Martin Fowler)
      3.-Domain-driven design-DDD (Eric Evans)
      No creo que haya canales o grupos, pero puedes pasar por el foro statckOverFlow

    • @danielvalenzuela8738
      @danielvalenzuela8738 5 лет назад

      Muchas gracias! Saludos

  • @charlesbaltazarvela6411
    @charlesbaltazarvela6411 5 лет назад

    Buen Video, una consulta: cuando quiero mostrar datos de dos clases en una lista, de la base de datos con inner join, como lo muestro en el datagridview, por que lo que hice de acuerdo a la metodologia enseñada no me muestra mi datos en el datagridview, te muestro el metodo:
    Public Function BuscarID() As List(Of ReduccionModel)
    Dim listarReduccionDataModel = repositorio.BuscarID(IdReduccion)
    Dim listarReduccionVerModel = New List(Of ReduccionModel)
    For Each item As Reduccion In listarReduccionDataModel
    listarReduccionVerModel.Add(New ReduccionModel With {
    .IdReduccion = item.IdReduccion,
    .NOperativo = item.NOperativo,
    .Parcelas = item.Parcelas,
    .Reduccion = item.Reduccion,
    .IdPersona = item.IdPersona,
    .IdOperacional = item.IdOperacional,
    .IdGrupo = New GrupoModel With {.IdGrupo = item.IdGrupo.IdGrupo,
    .Nombre = item.IdGrupo.Nombre}
    })
    Next
    Return listarReduccionVerModel
    End Function
    Esto realizo en el formulario, para llamar a la lista, y no me muestra los datos de la tabla, que debo hacer, una sugerencia para que me muestre los datos:
    Public Sub ListaReduccion()
    Dim listarReduccion = reduccionData.listar
    Dim row As DataGridViewRow = DataGridView1.CurrentRow
    For Each item As ReduccionModel In listarReduccion
    With row
    .Cells(0).Value = item.IdReduccion
    .Cells(1).Value = item.NOperativo
    .Cells(2).Value = item.Parcelas
    .Cells(3).Value = item.Reduccion
    .Cells(4).Value = item.IdPersona
    .Cells(5).Value = item.IdOperacional
    .Cells(6).Value = item.IdGrupo.IdGrupo
    End With
    Next
    End Sub
    Me produce un error en la primera llamada de la .Cells(0).Value = item.IdReduccion
    : Referencia a objeto no establecida como instancia de un objeto, nesecito su ayuda, ya estoy varios dias probando varias formas y no llego a nada. Espero tu pronta respuesta para continuar con mi proyecto. Gracias

  • @juanenriquez8093
    @juanenriquez8093 3 года назад

    Excelente video, solo que tengo un problema el datagridview en la segunda columna (char) solo me aparece una letra por que puede ser ?

  • @rogelioguerra9287
    @rogelioguerra9287 3 года назад

    cunado doy inicio a la aplicación marca este error en la cadena de conexión del repository System.NullReferenceException: 'Referencia a objeto no establecida como instancia de un objeto.'

  • @german2540
    @german2540 5 лет назад

    Hola, una consulto: Los patrones de Entity y Contracts puede ser que también vayan en la capa de dominio? o No.

  • @EduardoBonillaAircraftDriver
    @EduardoBonillaAircraftDriver 4 года назад

    Buenas Tarde Amigo, muchas gracias por tus videos, he aprendido muchas cosas gracias a ti, bueno tengo una pregunta como se puede hacer para filtrar las fechas, por ejemplo quiero mostrar los empleados que cumplan años entre Julio y Agosto , oh cualquier otra fecha, gracias y espero que me puedas ayudar con esto

  • @Fernando-yj1rj
    @Fernando-yj1rj 5 лет назад

    Hola en la clase EmployeeModel inicias una variable Repository como IEmployeeRepository, y en el constructor haces Repository = New EmployeeRepository?, a mi me tira una exepcion, o sea la misma variable contiene dos tipos de valores distintos. Me podrias explicar como resolverlo? Gracias

  • @abelardosarabia2176
    @abelardosarabia2176 4 года назад

    Estoy desarrollando este patron pero enlazado a acces (oledb) todo me ha resultado menos el insert ni update. podias ayudarme con un ejemplo de codigo? el error lo tengo en el repositorio de empleado al momento de insertar

  • @rosolinoherlestintayallact479
    @rosolinoherlestintayallact479 4 года назад

    Buen video pero tengo una duda:
    Usar el "Asistente de configuración de orígenes de datos" tiene sus desventajas? cuales serian?

  • @cuentapuente6808
    @cuentapuente6808 5 лет назад

    Hola como puedo convertir esto a un query, es decir para no usar un procedimineto almacenado:
    public int remove(int id)
    {
    List parameters = new List();
    parameters.Add(new SqlParameter("@id", id));
    return ExecuteNonQuery("removeUser", parameters);
    }

  • @dennismolina04
    @dennismolina04 5 лет назад

    Disculpa, como puedo utilizar el metodo GetEmployees pasando valores y en lugar de un query "SelectAll" utilizar un stored procedure. Saludos

  • @javiopakan2
    @javiopakan2 6 лет назад

    gracias, sabes me preguntaba si en un futuro, veremos mas que solo el CRUD, y mas logica de negocio

    • @RJCodeAdvance
      @RJCodeAdvance  6 лет назад +1

      No estoy seguro, para tratar mas sobre la capa de dominio/Negocio, se requiere un proyecto de gran tamaño que realmente tenga muchas reglas comerciales, por lo que no será posible.
      Saludos

    • @javiopakan2
      @javiopakan2 6 лет назад

      @@RJCodeAdvance ok gracias por todo

  • @sebastiansaavedraalvarez9929
    @sebastiansaavedraalvarez9929 5 лет назад

    Buen vídeo, muy explicativo. Tengo una duda, cuando cargo el datagrid de esa forma, no me permite hacer el ordenamiento por columnas ya que las listas no son de tipo IBindingList, hay alguna alternativa para eso?

  • @joaobatistasilvalopes7209
    @joaobatistasilvalopes7209 6 лет назад

    usted podría mostrar un ejemplo de cómo implementar el método Get By Salary ()?

  • @charlesbaltazarvela6411
    @charlesbaltazarvela6411 5 лет назад

    Buen Video, una consulta: cuando quiero mostrar datos de dos clases en una lista, de la base de datos con inner join, como lo muestro en el datagridview, por que lo que hice de acuerdo a la metodologia enseñada no me muestra mi datos en el datagridview, te muestro el metodo:
    Public Function listar() As List(Of ReduccionModel)
    Dim listarReduccionDataModel = repositorio.Listar
    Dim listarReduccionVerModel = New List(Of ReduccionModel)
    For Each item As Reduccion In listarReduccionDataModel
    listarReduccionVerModel.Add(New ReduccionModel With {
    .IdReduccion = item.IdReduccion,
    .NOperativo = item.NOperativo,
    .Parcelas = item.Parcelas,
    .Reduccion = item.Reduccion,
    .IdPersona = item.IdPersona,
    .IdOperacional = item.IdOperacional,
    .IdGrupo = New GrupoModel With {.IdGrupo = item.IdGrupo.IdGrupo,
    .Nombre = item.IdGrupo.Nombre}
    })
    Next
    Return listarReduccionVerModel
    End FunctionEsto realizo en el formulario, para llamar a la lista, y no me muestra los datos de la tabla, que debo hacer, una sugerencia para que me muestre los datos:
    Public Sub ListaReduccion()
    Dim listarReduccion = reduccionData.listar
    Dim row As DataGridViewRow = DataGridView1.CurrentRow
    For Each item As ReduccionModel In listarReduccion
    With row
    .Cells(0).Value = item.IdReduccion
    .Cells(1).Value = item.NOperativo
    .Cells(2).Value = item.Parcelas
    .Cells(3).Value = item.Reduccion
    .Cells(4).Value = item.IdPersona
    .Cells(5).Value = item.IdOperacional
    .Cells(6).Value = item.IdGrupo.IdGrupo
    End With
    Next
    End Sub
    Me produce un error en la primera llamada de la .Cells(0).Value = item.IdReduccion : Referencia a objeto no establecida como instancia de un objeto, necesito su ayuda, ya estoy varios días probando varias formas y no llego a nada. Espero tu pronta respuesta para continuar con mi proyecto. Gracias

    • @RJCodeAdvance
      @RJCodeAdvance  5 лет назад

      Hola,
      Tengo una duda...Por qué realizas un bucle en la lista y en el datagridview?
      No sería mas sencillo, colocar datagridview1.DataSource=reduccionData.listar , como se realiza en el video.

    • @charlesbaltazarvela6411
      @charlesbaltazarvela6411 5 лет назад

      @@RJCodeAdvance gracias por la respuesta, pense que no ivan a responder.
      te comento, que cuando realizo la llamada a la lista con el datagridview: datagridview1.DataSource=reduccionData.listar; no me muestra los datos de la clase GrupoModel cuaquiera que referencie (IdGrupo o Nombre que son campos de esa clase), me muestra en esa columna IdGrupo: Dominio.GrupoModel.
      tambien lo realice por este metodo y me muestra el error: El índice estaba fuera de rango. Debe ser no negativo y menor que el tamaño de la colección. Como puedo mostrar los datos en el datagridview, una ayuda
      Public Sub ListaReduccion()
      Dim listarReduccion = reduccionData.listar
      For i As Integer = 0 To listarReduccion.Count - 1
      Me.DataGridView1.Rows(i).Cells(0).Value = listarReduccion.Item(i).IdReduccion
      Me.DataGridView1.Rows(i).Cells(1).Value = listarReduccion.Item(i).NOperativo
      Me.DataGridView1.Rows(i).Cells(2).Value = listarReduccion.Item(i).Parcelas
      Me.DataGridView1.Rows(i).Cells(3).Value = listarReduccion.Item(i).Reduccion
      Me.DataGridView1.Rows(i).Cells(4).Value = listarReduccion.Item(i).IdPersona
      Me.DataGridView1.Rows(i).Cells(5).Value = listarReduccion.Item(i).IdOperacional
      Me.DataGridView1.Rows(i).Cells(6).Value = listarReduccion.Item(i).IdGrupo.IdGrupo
      Next
      End Sub
      algo de los dos metodos mencionados de llamar a los datos en el datagridview requiere modificar o hay otra forma, toda ayuda es factible para resolver este caso. Gracias

    • @RJCodeAdvance
      @RJCodeAdvance  5 лет назад

      Si solo tienes el ID y Nombres en la clase GrupoModel, tienes que anular el metodo ToString() y devolver el nombre de GrupoModel para mostrar en el datagridview.
      Public Overrides Function ToString() As String
      Return positionName
      End Function
      Y normalmente colocar datagridview1.DataSource=reduccionData.listar.
      Sin embargo, si en la clase GrupoModel tienes mas de 2 atributos que mostrar, tienes que crear los modelos de vista en capa de presentación con todos los campos de ambos entidades que deseas mostrar *en una sola clase*
      Ver: ruclips.net/video/SGXR0pDCP38/видео.html

  • @yurifabiorodriguezalvarez7243
    @yurifabiorodriguezalvarez7243 4 года назад

    Hola, en la clase "DataValidation " me da un error cuando voy a inicializar context = New ValidationContext(instace), Me dice que faltan parámetros (serviceProvider as IServiceProvides, items as IDictionary). Me podrías orientar sobre ese error?
    Estuve leyendo que estos parámetros son opcionales pero entonces ¿Por qué el error?

  • @dacrugon
    @dacrugon 5 лет назад +1

    ayuda! como se usaría un procedimiento almacenado con joins dentro de este proyecto, como lo jalo desde la base de datos?

    • @dacrugon
      @dacrugon 5 лет назад +1

      ya lo hice jaja excelentes videos

  • @onilmetal
    @onilmetal 3 года назад

    has una continuacion de este porfavor

  • @Fernando-yj1rj
    @Fernando-yj1rj 5 лет назад

    Pregunta, como deberia hacer si en lugar de trabajar con parametros trabajo con Stored Procedures? Como quedaria el MasterRepository?

    • @RJCodeAdvance
      @RJCodeAdvance  5 лет назад +1

      Hola Fernando, quedaría igual, solamente reemplaza los transact sql(select *from...) por procedimientos almacenados y cambia el tipo de sql comando.
      cmd.CommandText = CommandType.StoredProcedure;

    • @Fernando-yj1rj
      @Fernando-yj1rj 5 лет назад

      @@RJCodeAdvance Muchas gracias por tu respuesta

    • @dacrugon
      @dacrugon 5 лет назад

      @@RJCodeAdvance "Protected Function ExecuteNonQuery(transactSql As String) As Integer"->en esta función solo se cambia transact sql , por StoredProcedure?

  • @CERO-K1
    @CERO-K1 3 года назад

    Estoy hice todo tal cual y solo me muestra un registro en el DataGridView los demas registros no me lo muestra

    • @CERO-K1
      @CERO-K1 3 года назад

      Ya encontré el error, Tenia el *Return ListEmployee* dentro del *For Each* y por eso no me estaba mostrando la lista completa

  • @azazelgore3784
    @azazelgore3784 3 года назад

    •|| Hasta el momento, no sé en qué circunstancias puedo usar la carpeta de ViewModels /: ¿Alguien una breve explicación? please uu'

  • @angelvela2398
    @angelvela2398 6 лет назад

    Amigo una consulta. que sabes sobre formularios Ribbon. se que se hacen con "devexpress" pero existe una versión gratuita que funcione o existen otros métodos de realizarlos.

    • @RJCodeAdvance
      @RJCodeAdvance  6 лет назад

      Hola Angel, según yo sepa, no hay versiones gratuitas de los paquetes de DevExpress, se puede hacer manualmente(las librerías de DevExpress son un conjunto de clases y interfaces), pero la codificación seria muy extensa. Sin embargo, hay un proyecto de Ribbon (de codigo abierto )creado por el programador José Menéndez Poo.
      archive.codeplex.com/?p=ribbon
      github.com/RibbonWinForms/RibbonWinForms

  • @pedroibarguen4198
    @pedroibarguen4198 5 лет назад +1

    excelente aporte amigo, el link del codigo esta roto !

  • @rikuk5696
    @rikuk5696 6 лет назад

    Bro, solo necesito instalar el VS con las 3 primeras opciones o no:(? saludos!

    • @RJCodeAdvance
      @RJCodeAdvance  6 лет назад

      Hola, mmm ..a que te refieres con instalar las 3 primeras opciones?

    • @rikuk5696
      @rikuk5696 6 лет назад

      @@RJCodeAdvance buenas, esque recien empiezo en el mundo de la programación y bueno la pregunta seria: a la hora de instalar el visual studio que opciones debo seleccionar para poder diseñar el login, la interfaz de usuario y para que pueda ser usado desde cualquier red externa (me refiero online) ya que en las ultimas versiones pide seleccionar que cosas deseas instalar y la verdad amigo esque no tengo ni idea, solo me centrare en esos tipos de proyectos.. saludos y muchas gracias! espero mas videos!

    • @RJCodeAdvance
      @RJCodeAdvance  6 лет назад +1

      Si estas instalando VS 2017, y tienes pensado desarrollar aplicaciones de escritorio(windows forms - WPF)
      selecciona solo : Desarrollo de escritorio de .NET

  • @LordBrahaam
    @LordBrahaam 5 лет назад

    no entiendo esta forma de programar tuya

    • @RJCodeAdvance
      @RJCodeAdvance  5 лет назад

      Hola, este tutorial es un ejemplo resumen básico demostrativo de los los libros PEAA y DDD.
      Te recomiendo la teoría de la arquitectura en capas.
      ruclips.net/video/SGXR0pDCP38/видео.html