Example #1
0
        public static void SetEntityBuilder(ModelBuilder modelBuilder)
        {
            #region Configurando Entidad
            BaseDBConfiguracion <Orden> .SetEntityBuilder(modelBuilder);

            modelBuilder.Entity <Orden>().ToTable("Ordenes");

            modelBuilder.Entity <Orden>().Property(orden => orden.Fecha).IsRequired().HasColumnType("Date");;
            modelBuilder.Entity <Orden>().Property(orden => orden.Cantidad).IsRequired();
            modelBuilder.Entity <Orden>().Property(orden => orden.Estado).IsRequired();

            modelBuilder.Entity <Orden>().HasIndex(orden => orden.Fecha);

            modelBuilder.Entity <Orden>().HasOne(orden => orden.Usuario).WithMany(usuario => usuario.Ordenes)
            .HasPrincipalKey(usuario => usuario.Id)
            .HasForeignKey(orden => orden.UsuarioId)
            .IsRequired(true)
            .OnDelete(DeleteBehavior.Restrict);

            modelBuilder.Entity <Orden>().HasOne(orden => orden.Producto).WithMany(producto => producto.Ordenes)
            .HasPrincipalKey(producto => producto.Id)
            .HasForeignKey(orden => orden.ProductoId)
            .IsRequired(true)
            .OnDelete(DeleteBehavior.Restrict);
            #endregion
            #region Filtros

            #endregion
            #region Datos Inciales
            List <Orden> ordenes = new List <Orden> {
                new Orden {
                    Id = new Guid("4CD7A29E-1E21-4697-B3C9-B7F8EA30A72D"), Fecha = DateTime.Parse("2021-03-12"), Cantidad = 20, Estado = EstadoOrden.Confirmed, ProductoId = new Guid("6C875378-7BF3-4CA3-B056-BC360D65AC8C"), UsuarioId = new Guid("F6A8C8EB-309C-4CA7-91E1-46AA0FF16BC0").ToString()
                },
                new Orden {
                    Id = new Guid("40EA0E5D-C412-45F7-94F6-3E0051350F96"), Fecha = DateTime.Parse("2021-03-12"), Cantidad = 10, Estado = EstadoOrden.Created, ProductoId = new Guid("1DF535E8-9F12-4B9A-A780-F32A21C123A9"), UsuarioId = new Guid("F6A8C8EB-309C-4CA7-91E1-46AA0FF16BC0").ToString()
                },
                new Orden {
                    Id = new Guid("72690B9A-0AFB-4B3C-98C8-26809816BD7D"), Fecha = DateTime.Parse("2021-03-12"), Cantidad = 5, Estado = EstadoOrden.Created, ProductoId = new Guid("1DF535E8-9F12-4B9A-A780-F32A21C123A9"), UsuarioId = new Guid("F6A8C8EB-309C-4CA7-91E1-46AA0FF16BC0").ToString()
                },
                new Orden {
                    Id = new Guid("F2F4A187-3F67-4EB3-8BC8-B1550BD9FFE8"), Fecha = DateTime.Parse("2021-03-12"), Cantidad = 2, Estado = EstadoOrden.Canceled, ProductoId = new Guid("1DF535E8-9F12-4B9A-A780-F32A21C123A9"), UsuarioId = new Guid("F6A8C8EB-309C-4CA7-91E1-46AA0FF16BC0").ToString()
                },
                new Orden {
                    Id = new Guid("0D4D759F-58F6-4DD2-A890-079F2FFEF68C"), Fecha = DateTime.Parse("2021-03-12"), Cantidad = 20, Estado = EstadoOrden.Confirmed, ProductoId = new Guid("6C875378-7BF3-4CA3-B056-BC360D65AC8C"), UsuarioId = new Guid("F6A8C8EB-309C-4CA7-91E1-46AA0FF16BC0").ToString()
                }
            };
            modelBuilder.Entity <Orden>().HasData(ordenes);
            #endregion
        }
        public static void SetEntityBuilder(ModelBuilder modelBuilder)
        {
            #region Configurando Entidad
            BaseDBConfiguracion <Producto> .SetEntityBuilder(modelBuilder);

            modelBuilder.Entity <Producto>().ToTable("Productos");

            modelBuilder.Entity <Producto>().Property(producto => producto.Nombre).IsRequired();
            modelBuilder.Entity <Producto>().Property(producto => producto.Descripcion).HasMaxLength(100);
            modelBuilder.Entity <Producto>().Property(producto => producto.Precio).IsRequired();
            modelBuilder.Entity <Producto>().Property(producto => producto.Cantidad).IsRequired().HasMaxLength(100);

            modelBuilder.Entity <Producto>().HasIndex(producto => producto.Nombre).HasName($"{nameof(Producto.Nombre)}_UNIQUE").IsUnique();

            #endregion
            #region Filtros

            #endregion
            #region Datos Inciales
            List <Producto> productos = new List <Producto> {
                new Producto {
                    Id = new Guid("5D1A6250-4BDC-46C0-8FB7-B965DAD45D79"), Nombre = "MotherBoard", Descripcion = "MotherBoard", Cantidad = 220, Precio = 20.99, CreadoPor = "vendedor", FechaCreado = DateTime.Parse("2021-03-03")
                },
                new Producto {
                    Id = new Guid("4B5A5CAA-8858-4FAA-9E86-C5023D1119CD"), Nombre = "Mouse", Descripcion = "Mouse", Cantidad = 614, Precio = 52, CreadoPor = "vendedor", FechaCreado = DateTime.Parse("2021-03-03")
                },
                new Producto {
                    Id = new Guid("4A7B536F-7777-4AF9-BEC8-E9A9530D630D"), Nombre = "Monitor", Descripcion = "Monitor", Cantidad = 20, Precio = 65.65, CreadoPor = "vendedor", FechaCreado = DateTime.Parse("2021-03-03")
                },
                new Producto {
                    Id = new Guid("1DF535E8-9F12-4B9A-A780-F32A21C123A9"), Nombre = "RAM", Descripcion = "RAM", Cantidad = 220, Precio = 20, CreadoPor = "vendedor", FechaCreado = DateTime.Parse("2021-03-03")
                },
                new Producto {
                    Id = new Guid("6C875378-7BF3-4CA3-B056-BC360D65AC8C"), Nombre = "KeyBoard", Descripcion = "KeyBoard", Cantidad = 220, Precio = 10.99, CreadoPor = "vendedor", FechaCreado = DateTime.Parse("2021-03-03")
                },
            };
            modelBuilder.Entity <Producto>().HasData(productos);
            #endregion
        }
        public static void SetEntityBuilder(ModelBuilder modelBuilder)
        {
            #region Configurando Entidad
            BaseDBConfiguracion <Traza> .SetEntityBuilder(modelBuilder);

            modelBuilder.Entity <Traza>().ToTable("Trazas");

            modelBuilder.Entity <Traza>().Property(trace => trace.Descripcion).IsRequired();
            modelBuilder.Entity <Traza>().Property(trace => trace.NombrePC).IsRequired().HasMaxLength(100);
            modelBuilder.Entity <Traza>().Property(user => user.UserName).IsRequired().HasMaxLength(100);

            modelBuilder.Entity <Traza>().Property(user => user.ObjetoCreado).HasColumnType("json");
            modelBuilder.Entity <Traza>().Property(user => user.ObjetoAntesModificar).HasColumnType("json");
            modelBuilder.Entity <Traza>().Property(user => user.ObjetoModificado).HasColumnType("json");
            modelBuilder.Entity <Traza>().Property(user => user.ObjetoEliminado).HasColumnType("json");


            modelBuilder.Entity <Traza>().HasIndex(trace => trace.NombreAccion).HasName("FK_NombreAccion_Trazas_idx");



            #endregion
        }