using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace ERP.TallerAutomotriz.Infrastructure.Persistence.Migrations { /// public partial class InitialCreate : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.EnsureSchema( name: "inventario"); migrationBuilder.EnsureSchema( name: "ventas"); migrationBuilder.EnsureSchema( name: "taller"); migrationBuilder.EnsureSchema( name: "crm"); migrationBuilder.EnsureSchema( name: "personal"); migrationBuilder.EnsureSchema( name: "compras"); migrationBuilder.EnsureSchema( name: "sistema"); migrationBuilder.EnsureSchema( name: "seguridad"); migrationBuilder.CreateTable( name: "Almacenes", schema: "inventario", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Codigo = table.Column(type: "nvarchar(20)", maxLength: 20, nullable: false), Nombre = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), Direccion = table.Column(type: "nvarchar(max)", nullable: true), Responsable = table.Column(type: "nvarchar(max)", nullable: true), EsPrincipal = table.Column(type: "bit", nullable: false), FechaCreacion = table.Column(type: "datetime2", nullable: false), CreadoPor = table.Column(type: "nvarchar(max)", nullable: true), FechaModificacion = table.Column(type: "datetime2", nullable: true), ModificadoPor = table.Column(type: "nvarchar(max)", nullable: true), Activo = table.Column(type: "bit", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Almacenes", x => x.Id); }); migrationBuilder.CreateTable( name: "Cajas", schema: "ventas", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Codigo = table.Column(type: "nvarchar(20)", maxLength: 20, nullable: false), Nombre = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), Abierta = table.Column(type: "bit", nullable: false), FechaApertura = table.Column(type: "datetime2", nullable: true), FechaCierre = table.Column(type: "datetime2", nullable: true), MontoApertura = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), MontoCierre = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), UsuarioApertura = table.Column(type: "nvarchar(max)", nullable: true), UsuarioCierre = table.Column(type: "nvarchar(max)", nullable: true), Observaciones = table.Column(type: "nvarchar(max)", nullable: true), FechaCreacion = table.Column(type: "datetime2", nullable: false), CreadoPor = table.Column(type: "nvarchar(max)", nullable: true), FechaModificacion = table.Column(type: "datetime2", nullable: true), ModificadoPor = table.Column(type: "nvarchar(max)", nullable: true), Activo = table.Column(type: "bit", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Cajas", x => x.Id); }); migrationBuilder.CreateTable( name: "CategoriasRepuesto", schema: "inventario", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Nombre = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), Descripcion = table.Column(type: "nvarchar(max)", nullable: true), CategoriaPadreId = table.Column(type: "int", nullable: true), FechaCreacion = table.Column(type: "datetime2", nullable: false), CreadoPor = table.Column(type: "nvarchar(max)", nullable: true), FechaModificacion = table.Column(type: "datetime2", nullable: true), ModificadoPor = table.Column(type: "nvarchar(max)", nullable: true), Activo = table.Column(type: "bit", nullable: false) }, constraints: table => { table.PrimaryKey("PK_CategoriasRepuesto", x => x.Id); table.ForeignKey( name: "FK_CategoriasRepuesto_CategoriasRepuesto_CategoriaPadreId", column: x => x.CategoriaPadreId, principalSchema: "inventario", principalTable: "CategoriasRepuesto", principalColumn: "Id", onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateTable( name: "CategoriasServicio", schema: "taller", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Nombre = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), Descripcion = table.Column(type: "nvarchar(max)", nullable: true), CategoriaPadreId = table.Column(type: "int", nullable: true), FechaCreacion = table.Column(type: "datetime2", nullable: false), CreadoPor = table.Column(type: "nvarchar(max)", nullable: true), FechaModificacion = table.Column(type: "datetime2", nullable: true), ModificadoPor = table.Column(type: "nvarchar(max)", nullable: true), Activo = table.Column(type: "bit", nullable: false) }, constraints: table => { table.PrimaryKey("PK_CategoriasServicio", x => x.Id); table.ForeignKey( name: "FK_CategoriasServicio_CategoriasServicio_CategoriaPadreId", column: x => x.CategoriaPadreId, principalSchema: "taller", principalTable: "CategoriasServicio", principalColumn: "Id", onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateTable( name: "Clientes", schema: "crm", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Codigo = table.Column(type: "nvarchar(20)", maxLength: 20, nullable: false), Tipo = table.Column(type: "int", nullable: false), NombreRazonSocial = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), NombreComercial = table.Column(type: "nvarchar(max)", nullable: true), DocumentoIdentidad = table.Column(type: "nvarchar(20)", maxLength: 20, nullable: false), Direccion = table.Column(type: "nvarchar(max)", nullable: true), Ciudad = table.Column(type: "nvarchar(max)", nullable: true), TelefonoPrincipal = table.Column(type: "nvarchar(max)", nullable: true), TelefonoSecundario = table.Column(type: "nvarchar(max)", nullable: true), Email = table.Column(type: "nvarchar(150)", maxLength: 150, nullable: true), ContactoPrincipal = table.Column(type: "nvarchar(max)", nullable: true), CargoContacto = table.Column(type: "nvarchar(max)", nullable: true), Notas = table.Column(type: "nvarchar(max)", nullable: true), RecibeNotificaciones = table.Column(type: "bit", nullable: false), TecnicoConfianzaId = table.Column(type: "int", nullable: true), SaldoPendiente = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), LimiteCredito = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), FechaCreacion = table.Column(type: "datetime2", nullable: false), CreadoPor = table.Column(type: "nvarchar(max)", nullable: true), FechaModificacion = table.Column(type: "datetime2", nullable: true), ModificadoPor = table.Column(type: "nvarchar(max)", nullable: true), Activo = table.Column(type: "bit", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Clientes", x => x.Id); }); migrationBuilder.CreateTable( name: "Empresas", schema: "sistema", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), RazonSocial = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), NombreComercial = table.Column(type: "nvarchar(max)", nullable: true), DocumentoFiscal = table.Column(type: "nvarchar(max)", nullable: false), Direccion = table.Column(type: "nvarchar(max)", nullable: true), Telefono = table.Column(type: "nvarchar(max)", nullable: true), Email = table.Column(type: "nvarchar(max)", nullable: true), Sitio = table.Column(type: "nvarchar(max)", nullable: true), UrlLogo = table.Column(type: "nvarchar(max)", nullable: true), Moneda = table.Column(type: "nvarchar(max)", nullable: false), SimboloMoneda = table.Column(type: "nvarchar(max)", nullable: false), PorcentajeImpuesto = table.Column(type: "decimal(5,2)", precision: 5, scale: 2, nullable: false), NombreImpuesto = table.Column(type: "nvarchar(max)", nullable: false), Pais = table.Column(type: "nvarchar(max)", nullable: false), FechaCreacion = table.Column(type: "datetime2", nullable: false), CreadoPor = table.Column(type: "nvarchar(max)", nullable: true), FechaModificacion = table.Column(type: "datetime2", nullable: true), ModificadoPor = table.Column(type: "nvarchar(max)", nullable: true), Activo = table.Column(type: "bit", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Empresas", x => x.Id); }); migrationBuilder.CreateTable( name: "LogsAuditoria", schema: "sistema", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Fecha = table.Column(type: "datetime2", nullable: false), Usuario = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), Accion = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), Entidad = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), EntidadId = table.Column(type: "nvarchar(max)", nullable: true), Detalle = table.Column(type: "nvarchar(max)", nullable: true), IpOrigen = table.Column(type: "nvarchar(max)", nullable: true) }, constraints: table => { table.PrimaryKey("PK_LogsAuditoria", x => x.Id); }); migrationBuilder.CreateTable( name: "NotificacionesEnviadas", schema: "sistema", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Fecha = table.Column(type: "datetime2", nullable: false), Tipo = table.Column(type: "int", nullable: false), Destinatario = table.Column(type: "nvarchar(max)", nullable: true), Asunto = table.Column(type: "nvarchar(max)", nullable: true), Cuerpo = table.Column(type: "nvarchar(max)", nullable: true), Enviada = table.Column(type: "bit", nullable: false), Error = table.Column(type: "nvarchar(max)", nullable: true), PlantillaCodigo = table.Column(type: "nvarchar(max)", nullable: true), ReferenciaTipo = table.Column(type: "nvarchar(max)", nullable: true), ReferenciaId = table.Column(type: "int", nullable: true) }, constraints: table => { table.PrimaryKey("PK_NotificacionesEnviadas", x => x.Id); }); migrationBuilder.CreateTable( name: "Parametros", schema: "sistema", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Clave = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), Valor = table.Column(type: "nvarchar(500)", maxLength: 500, nullable: false), Descripcion = table.Column(type: "nvarchar(max)", nullable: true), Categoria = table.Column(type: "nvarchar(max)", nullable: false), FechaCreacion = table.Column(type: "datetime2", nullable: false), CreadoPor = table.Column(type: "nvarchar(max)", nullable: true), FechaModificacion = table.Column(type: "datetime2", nullable: true), ModificadoPor = table.Column(type: "nvarchar(max)", nullable: true), Activo = table.Column(type: "bit", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Parametros", x => x.Id); }); migrationBuilder.CreateTable( name: "PlantillasNotificacion", schema: "sistema", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Codigo = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), Nombre = table.Column(type: "nvarchar(150)", maxLength: 150, nullable: false), Tipo = table.Column(type: "int", nullable: false), Asunto = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), Cuerpo = table.Column(type: "nvarchar(max)", nullable: false), Variables = table.Column(type: "nvarchar(max)", nullable: true), FechaCreacion = table.Column(type: "datetime2", nullable: false), CreadoPor = table.Column(type: "nvarchar(max)", nullable: true), FechaModificacion = table.Column(type: "datetime2", nullable: true), ModificadoPor = table.Column(type: "nvarchar(max)", nullable: true), Activo = table.Column(type: "bit", nullable: false) }, constraints: table => { table.PrimaryKey("PK_PlantillasNotificacion", x => x.Id); }); migrationBuilder.CreateTable( name: "Proveedores", schema: "compras", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Codigo = table.Column(type: "nvarchar(20)", maxLength: 20, nullable: false), RazonSocial = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), NombreComercial = table.Column(type: "nvarchar(max)", nullable: true), DocumentoIdentidad = table.Column(type: "nvarchar(max)", nullable: false), Direccion = table.Column(type: "nvarchar(max)", nullable: true), Telefono = table.Column(type: "nvarchar(max)", nullable: true), Email = table.Column(type: "nvarchar(max)", nullable: true), Contacto = table.Column(type: "nvarchar(max)", nullable: true), DiasCredito = table.Column(type: "int", nullable: false), DiasEntrega = table.Column(type: "int", nullable: false), CalificacionPrecio = table.Column(type: "decimal(3,1)", precision: 3, scale: 1, nullable: false), CalificacionTiempo = table.Column(type: "decimal(3,1)", precision: 3, scale: 1, nullable: false), CalificacionCalidad = table.Column(type: "decimal(3,1)", precision: 3, scale: 1, nullable: false), Notas = table.Column(type: "nvarchar(max)", nullable: true), FechaCreacion = table.Column(type: "datetime2", nullable: false), CreadoPor = table.Column(type: "nvarchar(max)", nullable: true), FechaModificacion = table.Column(type: "datetime2", nullable: true), ModificadoPor = table.Column(type: "nvarchar(max)", nullable: true), Activo = table.Column(type: "bit", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Proveedores", x => x.Id); }); migrationBuilder.CreateTable( name: "Roles", schema: "seguridad", columns: table => new { Id = table.Column(type: "nvarchar(450)", nullable: false), Descripcion = table.Column(type: "nvarchar(max)", nullable: true), Name = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), NormalizedName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), ConcurrencyStamp = table.Column(type: "nvarchar(max)", nullable: true) }, constraints: table => { table.PrimaryKey("PK_Roles", x => x.Id); }); migrationBuilder.CreateTable( name: "Sucursales", schema: "sistema", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Codigo = table.Column(type: "nvarchar(20)", maxLength: 20, nullable: false), Nombre = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), Direccion = table.Column(type: "nvarchar(max)", nullable: true), Telefono = table.Column(type: "nvarchar(max)", nullable: true), Responsable = table.Column(type: "nvarchar(max)", nullable: true), EsPrincipal = table.Column(type: "bit", nullable: false), FechaCreacion = table.Column(type: "datetime2", nullable: false), CreadoPor = table.Column(type: "nvarchar(max)", nullable: true), FechaModificacion = table.Column(type: "datetime2", nullable: true), ModificadoPor = table.Column(type: "nvarchar(max)", nullable: true), Activo = table.Column(type: "bit", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Sucursales", x => x.Id); }); migrationBuilder.CreateTable( name: "Tecnicos", schema: "personal", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Codigo = table.Column(type: "nvarchar(20)", maxLength: 20, nullable: false), UsuarioIdentityId = table.Column(type: "nvarchar(max)", nullable: true), Nombres = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), Apellidos = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), DocumentoIdentidad = table.Column(type: "nvarchar(max)", nullable: false), Telefono = table.Column(type: "nvarchar(max)", nullable: true), Email = table.Column(type: "nvarchar(max)", nullable: true), Direccion = table.Column(type: "nvarchar(max)", nullable: true), FechaIngreso = table.Column(type: "datetime2", nullable: false), Nivel = table.Column(type: "int", nullable: false), TarifaHora = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), PorcentajeComision = table.Column(type: "decimal(5,2)", precision: 5, scale: 2, nullable: false), Especialidades = table.Column(type: "nvarchar(max)", nullable: true), UrlFoto = table.Column(type: "nvarchar(max)", nullable: true), FechaCreacion = table.Column(type: "datetime2", nullable: false), CreadoPor = table.Column(type: "nvarchar(max)", nullable: true), FechaModificacion = table.Column(type: "datetime2", nullable: true), ModificadoPor = table.Column(type: "nvarchar(max)", nullable: true), Activo = table.Column(type: "bit", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Tecnicos", x => x.Id); }); migrationBuilder.CreateTable( name: "Usuarios", schema: "seguridad", columns: table => new { Id = table.Column(type: "nvarchar(450)", nullable: false), Nombres = table.Column(type: "nvarchar(max)", nullable: true), Apellidos = table.Column(type: "nvarchar(max)", nullable: true), UrlAvatar = table.Column(type: "nvarchar(max)", nullable: true), Activo = table.Column(type: "bit", nullable: false), FechaCreacion = table.Column(type: "datetime2", nullable: false), UltimoAcceso = table.Column(type: "datetime2", nullable: true), TecnicoId = table.Column(type: "int", nullable: true), SucursalId = table.Column(type: "int", nullable: true), UserName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), NormalizedUserName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), Email = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), NormalizedEmail = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), EmailConfirmed = table.Column(type: "bit", nullable: false), PasswordHash = table.Column(type: "nvarchar(max)", nullable: true), SecurityStamp = table.Column(type: "nvarchar(max)", nullable: true), ConcurrencyStamp = table.Column(type: "nvarchar(max)", nullable: true), PhoneNumber = table.Column(type: "nvarchar(max)", nullable: true), PhoneNumberConfirmed = table.Column(type: "bit", nullable: false), TwoFactorEnabled = table.Column(type: "bit", nullable: false), LockoutEnd = table.Column(type: "datetimeoffset", nullable: true), LockoutEnabled = table.Column(type: "bit", nullable: false), AccessFailedCount = table.Column(type: "int", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Usuarios", x => x.Id); }); migrationBuilder.CreateTable( name: "Repuestos", schema: "inventario", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), CodigoInterno = table.Column(type: "nvarchar(30)", maxLength: 30, nullable: false), CodigoOEM = table.Column(type: "nvarchar(450)", nullable: true), CodigoBarras = table.Column(type: "nvarchar(450)", nullable: true), Descripcion = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), DescripcionLarga = table.Column(type: "nvarchar(max)", nullable: true), CategoriaId = table.Column(type: "int", nullable: true), UnidadMedida = table.Column(type: "nvarchar(max)", nullable: false), StockActual = table.Column(type: "decimal(18,4)", precision: 18, scale: 4, nullable: false), StockMinimo = table.Column(type: "decimal(18,4)", precision: 18, scale: 4, nullable: false), StockMaximo = table.Column(type: "decimal(18,4)", precision: 18, scale: 4, nullable: false), PrecioVenta = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), CostoPromedio = table.Column(type: "decimal(18,4)", precision: 18, scale: 4, nullable: false), CostoUltimo = table.Column(type: "decimal(18,4)", precision: 18, scale: 4, nullable: false), MetodoCosteo = table.Column(type: "int", nullable: false), Ubicacion = table.Column(type: "nvarchar(max)", nullable: true), ManejaLote = table.Column(type: "bit", nullable: false), ManejaSerie = table.Column(type: "bit", nullable: false), TieneGarantia = table.Column(type: "bit", nullable: false), MesesGarantia = table.Column(type: "int", nullable: true), UrlImagen = table.Column(type: "nvarchar(max)", nullable: true), FechaCreacion = table.Column(type: "datetime2", nullable: false), CreadoPor = table.Column(type: "nvarchar(max)", nullable: true), FechaModificacion = table.Column(type: "datetime2", nullable: true), ModificadoPor = table.Column(type: "nvarchar(max)", nullable: true), Activo = table.Column(type: "bit", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Repuestos", x => x.Id); table.ForeignKey( name: "FK_Repuestos_CategoriasRepuesto_CategoriaId", column: x => x.CategoriaId, principalSchema: "inventario", principalTable: "CategoriasRepuesto", principalColumn: "Id", onDelete: ReferentialAction.SetNull); }); migrationBuilder.CreateTable( name: "Servicios", schema: "taller", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Codigo = table.Column(type: "nvarchar(20)", maxLength: 20, nullable: false), Nombre = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), Descripcion = table.Column(type: "nvarchar(max)", nullable: true), Tipo = table.Column(type: "int", nullable: false), CategoriaId = table.Column(type: "int", nullable: true), PrecioEstandar = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), TiempoEstimadoMinutos = table.Column(type: "int", nullable: false), CostoManoObra = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), EsPaquete = table.Column(type: "bit", nullable: false), Notas = table.Column(type: "nvarchar(max)", nullable: true), FechaCreacion = table.Column(type: "datetime2", nullable: false), CreadoPor = table.Column(type: "nvarchar(max)", nullable: true), FechaModificacion = table.Column(type: "datetime2", nullable: true), ModificadoPor = table.Column(type: "nvarchar(max)", nullable: true), Activo = table.Column(type: "bit", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Servicios", x => x.Id); table.ForeignKey( name: "FK_Servicios_CategoriasServicio_CategoriaId", column: x => x.CategoriaId, principalSchema: "taller", principalTable: "CategoriasServicio", principalColumn: "Id"); }); migrationBuilder.CreateTable( name: "Vehiculos", schema: "crm", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), ClienteId = table.Column(type: "int", nullable: false), Placa = table.Column(type: "nvarchar(20)", maxLength: 20, nullable: false), VIN = table.Column(type: "nvarchar(450)", nullable: true), Marca = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), Modelo = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), Anio = table.Column(type: "int", nullable: false), Color = table.Column(type: "nvarchar(max)", nullable: true), KilometrajeActual = table.Column(type: "int", nullable: false), Combustible = table.Column(type: "int", nullable: false), Transmision = table.Column(type: "int", nullable: false), Motor = table.Column(type: "nvarchar(max)", nullable: true), NumeroChasis = table.Column(type: "nvarchar(max)", nullable: true), Notas = table.Column(type: "nvarchar(max)", nullable: true), UltimoServicio = table.Column(type: "datetime2", nullable: true), KilometrajeUltimoServicio = table.Column(type: "int", nullable: true), ProximoServicioFecha = table.Column(type: "datetime2", nullable: true), ProximoServicioKm = table.Column(type: "int", nullable: true), FechaCreacion = table.Column(type: "datetime2", nullable: false), CreadoPor = table.Column(type: "nvarchar(max)", nullable: true), FechaModificacion = table.Column(type: "datetime2", nullable: true), ModificadoPor = table.Column(type: "nvarchar(max)", nullable: true), Activo = table.Column(type: "bit", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Vehiculos", x => x.Id); table.ForeignKey( name: "FK_Vehiculos_Clientes_ClienteId", column: x => x.ClienteId, principalSchema: "crm", principalTable: "Clientes", principalColumn: "Id", onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateTable( name: "OrdenesCompra", schema: "compras", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Numero = table.Column(type: "nvarchar(20)", maxLength: 20, nullable: false), Fecha = table.Column(type: "datetime2", nullable: false), FechaEntregaEsperada = table.Column(type: "datetime2", nullable: true), ProveedorId = table.Column(type: "int", nullable: false), AlmacenDestinoId = table.Column(type: "int", nullable: true), Subtotal = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Impuesto = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Total = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Estado = table.Column(type: "int", nullable: false), AprobadaPor = table.Column(type: "nvarchar(max)", nullable: true), FechaAprobacion = table.Column(type: "datetime2", nullable: true), Observaciones = table.Column(type: "nvarchar(max)", nullable: true), FechaCreacion = table.Column(type: "datetime2", nullable: false), CreadoPor = table.Column(type: "nvarchar(max)", nullable: true), FechaModificacion = table.Column(type: "datetime2", nullable: true), ModificadoPor = table.Column(type: "nvarchar(max)", nullable: true), Activo = table.Column(type: "bit", nullable: false) }, constraints: table => { table.PrimaryKey("PK_OrdenesCompra", x => x.Id); table.ForeignKey( name: "FK_OrdenesCompra_Almacenes_AlmacenDestinoId", column: x => x.AlmacenDestinoId, principalSchema: "inventario", principalTable: "Almacenes", principalColumn: "Id", onDelete: ReferentialAction.SetNull); table.ForeignKey( name: "FK_OrdenesCompra_Proveedores_ProveedorId", column: x => x.ProveedorId, principalSchema: "compras", principalTable: "Proveedores", principalColumn: "Id", onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateTable( name: "RolesClaims", schema: "seguridad", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), RoleId = table.Column(type: "nvarchar(450)", nullable: false), ClaimType = table.Column(type: "nvarchar(max)", nullable: true), ClaimValue = table.Column(type: "nvarchar(max)", nullable: true) }, constraints: table => { table.PrimaryKey("PK_RolesClaims", x => x.Id); table.ForeignKey( name: "FK_RolesClaims_Roles_RoleId", column: x => x.RoleId, principalSchema: "seguridad", principalTable: "Roles", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Comisiones", schema: "personal", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), TecnicoId = table.Column(type: "int", nullable: false), Fecha = table.Column(type: "datetime2", nullable: false), OrdenTrabajoId = table.Column(type: "int", nullable: true), MontoBase = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Porcentaje = table.Column(type: "decimal(5,2)", precision: 5, scale: 2, nullable: false), MontoComision = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Pagada = table.Column(type: "bit", nullable: false), FechaPago = table.Column(type: "datetime2", nullable: true) }, constraints: table => { table.PrimaryKey("PK_Comisiones", x => x.Id); table.ForeignKey( name: "FK_Comisiones_Tecnicos_TecnicoId", column: x => x.TecnicoId, principalSchema: "personal", principalTable: "Tecnicos", principalColumn: "Id", onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateTable( name: "RegistrosAsistencia", schema: "personal", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), TecnicoId = table.Column(type: "int", nullable: false), Fecha = table.Column(type: "datetime2", nullable: false), HoraEntrada = table.Column(type: "datetime2", nullable: true), HoraSalida = table.Column(type: "datetime2", nullable: true), HorasTrabajadas = table.Column(type: "decimal(5,2)", precision: 5, scale: 2, nullable: false), HorasExtras = table.Column(type: "decimal(5,2)", precision: 5, scale: 2, nullable: false), Observaciones = table.Column(type: "nvarchar(max)", nullable: true) }, constraints: table => { table.PrimaryKey("PK_RegistrosAsistencia", x => x.Id); table.ForeignKey( name: "FK_RegistrosAsistencia_Tecnicos_TecnicoId", column: x => x.TecnicoId, principalSchema: "personal", principalTable: "Tecnicos", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "UsuariosClaims", schema: "seguridad", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), UserId = table.Column(type: "nvarchar(450)", nullable: false), ClaimType = table.Column(type: "nvarchar(max)", nullable: true), ClaimValue = table.Column(type: "nvarchar(max)", nullable: true) }, constraints: table => { table.PrimaryKey("PK_UsuariosClaims", x => x.Id); table.ForeignKey( name: "FK_UsuariosClaims_Usuarios_UserId", column: x => x.UserId, principalSchema: "seguridad", principalTable: "Usuarios", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "UsuariosLogins", schema: "seguridad", columns: table => new { LoginProvider = table.Column(type: "nvarchar(450)", nullable: false), ProviderKey = table.Column(type: "nvarchar(450)", nullable: false), ProviderDisplayName = table.Column(type: "nvarchar(max)", nullable: true), UserId = table.Column(type: "nvarchar(450)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_UsuariosLogins", x => new { x.LoginProvider, x.ProviderKey }); table.ForeignKey( name: "FK_UsuariosLogins_Usuarios_UserId", column: x => x.UserId, principalSchema: "seguridad", principalTable: "Usuarios", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "UsuariosRoles", schema: "seguridad", columns: table => new { UserId = table.Column(type: "nvarchar(450)", nullable: false), RoleId = table.Column(type: "nvarchar(450)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_UsuariosRoles", x => new { x.UserId, x.RoleId }); table.ForeignKey( name: "FK_UsuariosRoles_Roles_RoleId", column: x => x.RoleId, principalSchema: "seguridad", principalTable: "Roles", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_UsuariosRoles_Usuarios_UserId", column: x => x.UserId, principalSchema: "seguridad", principalTable: "Usuarios", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "UsuariosTokens", schema: "seguridad", columns: table => new { UserId = table.Column(type: "nvarchar(450)", nullable: false), LoginProvider = table.Column(type: "nvarchar(450)", nullable: false), Name = table.Column(type: "nvarchar(450)", nullable: false), Value = table.Column(type: "nvarchar(max)", nullable: true) }, constraints: table => { table.PrimaryKey("PK_UsuariosTokens", x => new { x.UserId, x.LoginProvider, x.Name }); table.ForeignKey( name: "FK_UsuariosTokens_Usuarios_UserId", column: x => x.UserId, principalSchema: "seguridad", principalTable: "Usuarios", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "CompatibilidadesRepuesto", schema: "inventario", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), RepuestoId = table.Column(type: "int", nullable: false), Marca = table.Column(type: "nvarchar(max)", nullable: false), Modelo = table.Column(type: "nvarchar(max)", nullable: true), AnioDesde = table.Column(type: "int", nullable: true), AnioHasta = table.Column(type: "int", nullable: true), Notas = table.Column(type: "nvarchar(max)", nullable: true) }, constraints: table => { table.PrimaryKey("PK_CompatibilidadesRepuesto", x => x.Id); table.ForeignKey( name: "FK_CompatibilidadesRepuesto_Repuestos_RepuestoId", column: x => x.RepuestoId, principalSchema: "inventario", principalTable: "Repuestos", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "MovimientosInventario", schema: "inventario", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), RepuestoId = table.Column(type: "int", nullable: false), AlmacenId = table.Column(type: "int", nullable: false), Tipo = table.Column(type: "int", nullable: false), Fecha = table.Column(type: "datetime2", nullable: false), Cantidad = table.Column(type: "decimal(18,4)", precision: 18, scale: 4, nullable: false), CostoUnitario = table.Column(type: "decimal(18,4)", precision: 18, scale: 4, nullable: false), SaldoAnterior = table.Column(type: "decimal(18,4)", precision: 18, scale: 4, nullable: false), SaldoNuevo = table.Column(type: "decimal(18,4)", precision: 18, scale: 4, nullable: false), NumeroDocumento = table.Column(type: "nvarchar(max)", nullable: true), TipoDocumento = table.Column(type: "nvarchar(max)", nullable: true), DocumentoReferenciaId = table.Column(type: "int", nullable: true), Lote = table.Column(type: "nvarchar(max)", nullable: true), NumeroSerie = table.Column(type: "nvarchar(max)", nullable: true), FechaVencimiento = table.Column(type: "datetime2", nullable: true), Justificacion = table.Column(type: "nvarchar(max)", nullable: true), Usuario = table.Column(type: "nvarchar(max)", nullable: true) }, constraints: table => { table.PrimaryKey("PK_MovimientosInventario", x => x.Id); table.ForeignKey( name: "FK_MovimientosInventario_Almacenes_AlmacenId", column: x => x.AlmacenId, principalSchema: "inventario", principalTable: "Almacenes", principalColumn: "Id", onDelete: ReferentialAction.Restrict); table.ForeignKey( name: "FK_MovimientosInventario_Repuestos_RepuestoId", column: x => x.RepuestoId, principalSchema: "inventario", principalTable: "Repuestos", principalColumn: "Id", onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateTable( name: "StockAlmacenes", schema: "inventario", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), RepuestoId = table.Column(type: "int", nullable: false), AlmacenId = table.Column(type: "int", nullable: false), Cantidad = table.Column(type: "decimal(18,4)", precision: 18, scale: 4, nullable: false), Ubicacion = table.Column(type: "nvarchar(max)", nullable: true) }, constraints: table => { table.PrimaryKey("PK_StockAlmacenes", x => x.Id); table.ForeignKey( name: "FK_StockAlmacenes_Almacenes_AlmacenId", column: x => x.AlmacenId, principalSchema: "inventario", principalTable: "Almacenes", principalColumn: "Id", onDelete: ReferentialAction.Restrict); table.ForeignKey( name: "FK_StockAlmacenes_Repuestos_RepuestoId", column: x => x.RepuestoId, principalSchema: "inventario", principalTable: "Repuestos", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "OrdenesTrabajo", schema: "taller", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Numero = table.Column(type: "nvarchar(20)", maxLength: 20, nullable: false), FechaIngreso = table.Column(type: "datetime2", nullable: false), FechaEntregaEstimada = table.Column(type: "datetime2", nullable: true), FechaEntregaReal = table.Column(type: "datetime2", nullable: true), ClienteId = table.Column(type: "int", nullable: false), VehiculoId = table.Column(type: "int", nullable: false), KilometrajeIngreso = table.Column(type: "int", nullable: false), FallasReportadasCliente = table.Column(type: "nvarchar(max)", nullable: true), SintomasDiagnosticados = table.Column(type: "nvarchar(max)", nullable: true), ObservacionesIngreso = table.Column(type: "nvarchar(max)", nullable: true), Estado = table.Column(type: "int", nullable: false), Prioridad = table.Column(type: "int", nullable: false), TecnicoPrincipalId = table.Column(type: "int", nullable: true), SubtotalManoObra = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), SubtotalRepuestos = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), SubtotalServiciosExternos = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Descuento = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Impuesto = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Total = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), CodigoQR = table.Column(type: "nvarchar(max)", nullable: true), PresupuestoAprobado = table.Column(type: "bit", nullable: false), FechaAprobacionPresupuesto = table.Column(type: "datetime2", nullable: true), AprobadoPor = table.Column(type: "nvarchar(max)", nullable: true), FechaCreacion = table.Column(type: "datetime2", nullable: false), CreadoPor = table.Column(type: "nvarchar(max)", nullable: true), FechaModificacion = table.Column(type: "datetime2", nullable: true), ModificadoPor = table.Column(type: "nvarchar(max)", nullable: true), Activo = table.Column(type: "bit", nullable: false) }, constraints: table => { table.PrimaryKey("PK_OrdenesTrabajo", x => x.Id); table.ForeignKey( name: "FK_OrdenesTrabajo_Clientes_ClienteId", column: x => x.ClienteId, principalSchema: "crm", principalTable: "Clientes", principalColumn: "Id", onDelete: ReferentialAction.Restrict); table.ForeignKey( name: "FK_OrdenesTrabajo_Tecnicos_TecnicoPrincipalId", column: x => x.TecnicoPrincipalId, principalSchema: "personal", principalTable: "Tecnicos", principalColumn: "Id", onDelete: ReferentialAction.SetNull); table.ForeignKey( name: "FK_OrdenesTrabajo_Vehiculos_VehiculoId", column: x => x.VehiculoId, principalSchema: "crm", principalTable: "Vehiculos", principalColumn: "Id", onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateTable( name: "CuentasPagar", schema: "compras", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), ProveedorId = table.Column(type: "int", nullable: false), OrdenCompraId = table.Column(type: "int", nullable: true), NumeroFactura = table.Column(type: "nvarchar(max)", nullable: false), FechaEmision = table.Column(type: "datetime2", nullable: false), FechaVencimiento = table.Column(type: "datetime2", nullable: false), Monto = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), MontoPagado = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Saldo = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Estado = table.Column(type: "int", nullable: false), Observaciones = table.Column(type: "nvarchar(max)", nullable: true), FechaCreacion = table.Column(type: "datetime2", nullable: false), CreadoPor = table.Column(type: "nvarchar(max)", nullable: true), FechaModificacion = table.Column(type: "datetime2", nullable: true), ModificadoPor = table.Column(type: "nvarchar(max)", nullable: true), Activo = table.Column(type: "bit", nullable: false) }, constraints: table => { table.PrimaryKey("PK_CuentasPagar", x => x.Id); table.ForeignKey( name: "FK_CuentasPagar_OrdenesCompra_OrdenCompraId", column: x => x.OrdenCompraId, principalSchema: "compras", principalTable: "OrdenesCompra", principalColumn: "Id", onDelete: ReferentialAction.SetNull); table.ForeignKey( name: "FK_CuentasPagar_Proveedores_ProveedorId", column: x => x.ProveedorId, principalSchema: "compras", principalTable: "Proveedores", principalColumn: "Id", onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateTable( name: "DetallesOrdenCompra", schema: "compras", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), OrdenCompraId = table.Column(type: "int", nullable: false), RepuestoId = table.Column(type: "int", nullable: false), Cantidad = table.Column(type: "decimal(18,4)", precision: 18, scale: 4, nullable: false), CantidadRecibida = table.Column(type: "decimal(18,4)", precision: 18, scale: 4, nullable: false), PrecioUnitario = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Descuento = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Subtotal = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false) }, constraints: table => { table.PrimaryKey("PK_DetallesOrdenCompra", x => x.Id); table.ForeignKey( name: "FK_DetallesOrdenCompra_OrdenesCompra_OrdenCompraId", column: x => x.OrdenCompraId, principalSchema: "compras", principalTable: "OrdenesCompra", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_DetallesOrdenCompra_Repuestos_RepuestoId", column: x => x.RepuestoId, principalSchema: "inventario", principalTable: "Repuestos", principalColumn: "Id", onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateTable( name: "ChecklistInspeccion", schema: "taller", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), OrdenTrabajoId = table.Column(type: "int", nullable: false), Item = table.Column(type: "nvarchar(max)", nullable: false), Estado = table.Column(type: "nvarchar(max)", nullable: false), Observacion = table.Column(type: "nvarchar(max)", nullable: true) }, constraints: table => { table.PrimaryKey("PK_ChecklistInspeccion", x => x.Id); table.ForeignKey( name: "FK_ChecklistInspeccion_OrdenesTrabajo_OrdenTrabajoId", column: x => x.OrdenTrabajoId, principalSchema: "taller", principalTable: "OrdenesTrabajo", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Citas", schema: "taller", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), ClienteId = table.Column(type: "int", nullable: false), VehiculoId = table.Column(type: "int", nullable: true), FechaHora = table.Column(type: "datetime2", nullable: false), DuracionMinutos = table.Column(type: "int", nullable: false), ServicioId = table.Column(type: "int", nullable: true), TecnicoPreferidoId = table.Column(type: "int", nullable: true), Estado = table.Column(type: "int", nullable: false), Comentarios = table.Column(type: "nvarchar(max)", nullable: true), RecordatorioEnviado = table.Column(type: "bit", nullable: false), ConfirmacionEnviada = table.Column(type: "bit", nullable: false), OrdenTrabajoId = table.Column(type: "int", nullable: true), FechaCreacion = table.Column(type: "datetime2", nullable: false), CreadoPor = table.Column(type: "nvarchar(max)", nullable: true), FechaModificacion = table.Column(type: "datetime2", nullable: true), ModificadoPor = table.Column(type: "nvarchar(max)", nullable: true), Activo = table.Column(type: "bit", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Citas", x => x.Id); table.ForeignKey( name: "FK_Citas_Clientes_ClienteId", column: x => x.ClienteId, principalSchema: "crm", principalTable: "Clientes", principalColumn: "Id", onDelete: ReferentialAction.Restrict); table.ForeignKey( name: "FK_Citas_OrdenesTrabajo_OrdenTrabajoId", column: x => x.OrdenTrabajoId, principalSchema: "taller", principalTable: "OrdenesTrabajo", principalColumn: "Id", onDelete: ReferentialAction.SetNull); table.ForeignKey( name: "FK_Citas_Servicios_ServicioId", column: x => x.ServicioId, principalSchema: "taller", principalTable: "Servicios", principalColumn: "Id", onDelete: ReferentialAction.SetNull); table.ForeignKey( name: "FK_Citas_Tecnicos_TecnicoPreferidoId", column: x => x.TecnicoPreferidoId, principalSchema: "personal", principalTable: "Tecnicos", principalColumn: "Id", onDelete: ReferentialAction.SetNull); table.ForeignKey( name: "FK_Citas_Vehiculos_VehiculoId", column: x => x.VehiculoId, principalSchema: "crm", principalTable: "Vehiculos", principalColumn: "Id", onDelete: ReferentialAction.SetNull); }); migrationBuilder.CreateTable( name: "ControlesCalidad", schema: "taller", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), OrdenTrabajoId = table.Column(type: "int", nullable: false), FechaInspeccion = table.Column(type: "datetime2", nullable: false), InspectorId = table.Column(type: "nvarchar(max)", nullable: true), Estado = table.Column(type: "int", nullable: false), PruebaRutaRealizada = table.Column(type: "bit", nullable: false), KilometrajeSalida = table.Column(type: "int", nullable: false), KilometrajeRegreso = table.Column(type: "int", nullable: false), Observaciones = table.Column(type: "nvarchar(max)", nullable: true), FechaCreacion = table.Column(type: "datetime2", nullable: false), CreadoPor = table.Column(type: "nvarchar(max)", nullable: true), FechaModificacion = table.Column(type: "datetime2", nullable: true), ModificadoPor = table.Column(type: "nvarchar(max)", nullable: true), Activo = table.Column(type: "bit", nullable: false) }, constraints: table => { table.PrimaryKey("PK_ControlesCalidad", x => x.Id); table.ForeignKey( name: "FK_ControlesCalidad_OrdenesTrabajo_OrdenTrabajoId", column: x => x.OrdenTrabajoId, principalSchema: "taller", principalTable: "OrdenesTrabajo", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Cotizaciones", schema: "ventas", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Numero = table.Column(type: "nvarchar(20)", maxLength: 20, nullable: false), Fecha = table.Column(type: "datetime2", nullable: false), ValidaHasta = table.Column(type: "datetime2", nullable: false), ClienteId = table.Column(type: "int", nullable: false), OrdenTrabajoId = table.Column(type: "int", nullable: true), Subtotal = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Impuesto = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Total = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Estado = table.Column(type: "nvarchar(max)", nullable: false), FechaAprobacion = table.Column(type: "datetime2", nullable: true), AprobadaPor = table.Column(type: "nvarchar(max)", nullable: true), Observaciones = table.Column(type: "nvarchar(max)", nullable: true), FechaCreacion = table.Column(type: "datetime2", nullable: false), CreadoPor = table.Column(type: "nvarchar(max)", nullable: true), FechaModificacion = table.Column(type: "datetime2", nullable: true), ModificadoPor = table.Column(type: "nvarchar(max)", nullable: true), Activo = table.Column(type: "bit", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Cotizaciones", x => x.Id); table.ForeignKey( name: "FK_Cotizaciones_Clientes_ClienteId", column: x => x.ClienteId, principalSchema: "crm", principalTable: "Clientes", principalColumn: "Id", onDelete: ReferentialAction.Restrict); table.ForeignKey( name: "FK_Cotizaciones_OrdenesTrabajo_OrdenTrabajoId", column: x => x.OrdenTrabajoId, principalSchema: "taller", principalTable: "OrdenesTrabajo", principalColumn: "Id", onDelete: ReferentialAction.SetNull); }); migrationBuilder.CreateTable( name: "DetalleOTRepuestos", schema: "taller", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), OrdenTrabajoId = table.Column(type: "int", nullable: false), RepuestoId = table.Column(type: "int", nullable: false), Cantidad = table.Column(type: "decimal(18,4)", precision: 18, scale: 4, nullable: false), PrecioUnitario = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), CostoUnitario = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Descuento = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Subtotal = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Entregado = table.Column(type: "bit", nullable: false), FechaConsumo = table.Column(type: "datetime2", nullable: true), Notas = table.Column(type: "nvarchar(max)", nullable: true) }, constraints: table => { table.PrimaryKey("PK_DetalleOTRepuestos", x => x.Id); table.ForeignKey( name: "FK_DetalleOTRepuestos_OrdenesTrabajo_OrdenTrabajoId", column: x => x.OrdenTrabajoId, principalSchema: "taller", principalTable: "OrdenesTrabajo", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_DetalleOTRepuestos_Repuestos_RepuestoId", column: x => x.RepuestoId, principalSchema: "inventario", principalTable: "Repuestos", principalColumn: "Id", onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateTable( name: "DetalleOTServicios", schema: "taller", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), OrdenTrabajoId = table.Column(type: "int", nullable: false), ServicioId = table.Column(type: "int", nullable: false), Descripcion = table.Column(type: "nvarchar(max)", nullable: true), Cantidad = table.Column(type: "int", nullable: false), PrecioUnitario = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Descuento = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Subtotal = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), TecnicoId = table.Column(type: "int", nullable: true), TiempoRealMinutos = table.Column(type: "int", nullable: false), FechaInicio = table.Column(type: "datetime2", nullable: true), FechaFin = table.Column(type: "datetime2", nullable: true), Completado = table.Column(type: "bit", nullable: false), Notas = table.Column(type: "nvarchar(max)", nullable: true) }, constraints: table => { table.PrimaryKey("PK_DetalleOTServicios", x => x.Id); table.ForeignKey( name: "FK_DetalleOTServicios_OrdenesTrabajo_OrdenTrabajoId", column: x => x.OrdenTrabajoId, principalSchema: "taller", principalTable: "OrdenesTrabajo", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_DetalleOTServicios_Servicios_ServicioId", column: x => x.ServicioId, principalSchema: "taller", principalTable: "Servicios", principalColumn: "Id", onDelete: ReferentialAction.Restrict); table.ForeignKey( name: "FK_DetalleOTServicios_Tecnicos_TecnicoId", column: x => x.TecnicoId, principalSchema: "personal", principalTable: "Tecnicos", principalColumn: "Id"); }); migrationBuilder.CreateTable( name: "Facturas", schema: "ventas", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), Tipo = table.Column(type: "int", nullable: false), Serie = table.Column(type: "nvarchar(10)", maxLength: 10, nullable: false), Numero = table.Column(type: "nvarchar(20)", maxLength: 20, nullable: false), Fecha = table.Column(type: "datetime2", nullable: false), FechaVencimiento = table.Column(type: "datetime2", nullable: false), ClienteId = table.Column(type: "int", nullable: false), OrdenTrabajoId = table.Column(type: "int", nullable: true), Subtotal = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Descuento = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), BaseImponible = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), PorcentajeImpuesto = table.Column(type: "decimal(5,2)", precision: 5, scale: 2, nullable: false), Impuesto = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Total = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), MontoPagado = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), SaldoPendiente = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Estado = table.Column(type: "int", nullable: false), Observaciones = table.Column(type: "nvarchar(max)", nullable: true), UrlPdf = table.Column(type: "nvarchar(max)", nullable: true), FechaCreacion = table.Column(type: "datetime2", nullable: false), CreadoPor = table.Column(type: "nvarchar(max)", nullable: true), FechaModificacion = table.Column(type: "datetime2", nullable: true), ModificadoPor = table.Column(type: "nvarchar(max)", nullable: true), Activo = table.Column(type: "bit", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Facturas", x => x.Id); table.ForeignKey( name: "FK_Facturas_Clientes_ClienteId", column: x => x.ClienteId, principalSchema: "crm", principalTable: "Clientes", principalColumn: "Id", onDelete: ReferentialAction.Restrict); table.ForeignKey( name: "FK_Facturas_OrdenesTrabajo_OrdenTrabajoId", column: x => x.OrdenTrabajoId, principalSchema: "taller", principalTable: "OrdenesTrabajo", principalColumn: "Id", onDelete: ReferentialAction.SetNull); }); migrationBuilder.CreateTable( name: "FotosOT", schema: "taller", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), OrdenTrabajoId = table.Column(type: "int", nullable: false), Url = table.Column(type: "nvarchar(max)", nullable: false), Descripcion = table.Column(type: "nvarchar(max)", nullable: true), Categoria = table.Column(type: "nvarchar(max)", nullable: false), FechaCaptura = table.Column(type: "datetime2", nullable: false), CapturadoPor = table.Column(type: "nvarchar(max)", nullable: true) }, constraints: table => { table.PrimaryKey("PK_FotosOT", x => x.Id); table.ForeignKey( name: "FK_FotosOT_OrdenesTrabajo_OrdenTrabajoId", column: x => x.OrdenTrabajoId, principalSchema: "taller", principalTable: "OrdenesTrabajo", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "HistorialEstadoOT", schema: "taller", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), OrdenTrabajoId = table.Column(type: "int", nullable: false), EstadoAnterior = table.Column(type: "int", nullable: false), EstadoNuevo = table.Column(type: "int", nullable: false), Fecha = table.Column(type: "datetime2", nullable: false), Usuario = table.Column(type: "nvarchar(max)", nullable: true), Comentario = table.Column(type: "nvarchar(max)", nullable: true) }, constraints: table => { table.PrimaryKey("PK_HistorialEstadoOT", x => x.Id); table.ForeignKey( name: "FK_HistorialEstadoOT_OrdenesTrabajo_OrdenTrabajoId", column: x => x.OrdenTrabajoId, principalSchema: "taller", principalTable: "OrdenesTrabajo", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "TecnicosOT", schema: "taller", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), OrdenTrabajoId = table.Column(type: "int", nullable: false), TecnicoId = table.Column(type: "int", nullable: false), Rol = table.Column(type: "nvarchar(max)", nullable: true), FechaAsignacion = table.Column(type: "datetime2", nullable: false) }, constraints: table => { table.PrimaryKey("PK_TecnicosOT", x => x.Id); table.ForeignKey( name: "FK_TecnicosOT_OrdenesTrabajo_OrdenTrabajoId", column: x => x.OrdenTrabajoId, principalSchema: "taller", principalTable: "OrdenesTrabajo", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_TecnicosOT_Tecnicos_TecnicoId", column: x => x.TecnicoId, principalSchema: "personal", principalTable: "Tecnicos", principalColumn: "Id", onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateTable( name: "DetallesCotizacion", schema: "ventas", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), CotizacionId = table.Column(type: "int", nullable: false), Descripcion = table.Column(type: "nvarchar(max)", nullable: false), Cantidad = table.Column(type: "decimal(18,4)", precision: 18, scale: 4, nullable: false), PrecioUnitario = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Subtotal = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Tipo = table.Column(type: "nvarchar(max)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_DetallesCotizacion", x => x.Id); table.ForeignKey( name: "FK_DetallesCotizacion_Cotizaciones_CotizacionId", column: x => x.CotizacionId, principalSchema: "ventas", principalTable: "Cotizaciones", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "DetallesFactura", schema: "ventas", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), FacturaId = table.Column(type: "int", nullable: false), Descripcion = table.Column(type: "nvarchar(max)", nullable: false), CodigoItem = table.Column(type: "nvarchar(max)", nullable: true), Cantidad = table.Column(type: "decimal(18,4)", precision: 18, scale: 4, nullable: false), PrecioUnitario = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Descuento = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Subtotal = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), Tipo = table.Column(type: "nvarchar(max)", nullable: false) }, constraints: table => { table.PrimaryKey("PK_DetallesFactura", x => x.Id); table.ForeignKey( name: "FK_DetallesFactura_Facturas_FacturaId", column: x => x.FacturaId, principalSchema: "ventas", principalTable: "Facturas", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( name: "Pagos", schema: "ventas", columns: table => new { Id = table.Column(type: "int", nullable: false) .Annotation("SqlServer:Identity", "1, 1"), FacturaId = table.Column(type: "int", nullable: false), Fecha = table.Column(type: "datetime2", nullable: false), FormaPago = table.Column(type: "int", nullable: false), Monto = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), NumeroReferencia = table.Column(type: "nvarchar(max)", nullable: true), Observaciones = table.Column(type: "nvarchar(max)", nullable: true), CajaId = table.Column(type: "int", nullable: true), FechaCreacion = table.Column(type: "datetime2", nullable: false), CreadoPor = table.Column(type: "nvarchar(max)", nullable: true), FechaModificacion = table.Column(type: "datetime2", nullable: true), ModificadoPor = table.Column(type: "nvarchar(max)", nullable: true), Activo = table.Column(type: "bit", nullable: false) }, constraints: table => { table.PrimaryKey("PK_Pagos", x => x.Id); table.ForeignKey( name: "FK_Pagos_Cajas_CajaId", column: x => x.CajaId, principalSchema: "ventas", principalTable: "Cajas", principalColumn: "Id", onDelete: ReferentialAction.SetNull); table.ForeignKey( name: "FK_Pagos_Facturas_FacturaId", column: x => x.FacturaId, principalSchema: "ventas", principalTable: "Facturas", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateIndex( name: "IX_Almacenes_Codigo", schema: "inventario", table: "Almacenes", column: "Codigo", unique: true); migrationBuilder.CreateIndex( name: "IX_Cajas_Codigo", schema: "ventas", table: "Cajas", column: "Codigo", unique: true); migrationBuilder.CreateIndex( name: "IX_CategoriasRepuesto_CategoriaPadreId", schema: "inventario", table: "CategoriasRepuesto", column: "CategoriaPadreId"); migrationBuilder.CreateIndex( name: "IX_CategoriasServicio_CategoriaPadreId", schema: "taller", table: "CategoriasServicio", column: "CategoriaPadreId"); migrationBuilder.CreateIndex( name: "IX_ChecklistInspeccion_OrdenTrabajoId", schema: "taller", table: "ChecklistInspeccion", column: "OrdenTrabajoId"); migrationBuilder.CreateIndex( name: "IX_Citas_ClienteId", schema: "taller", table: "Citas", column: "ClienteId"); migrationBuilder.CreateIndex( name: "IX_Citas_OrdenTrabajoId", schema: "taller", table: "Citas", column: "OrdenTrabajoId"); migrationBuilder.CreateIndex( name: "IX_Citas_ServicioId", schema: "taller", table: "Citas", column: "ServicioId"); migrationBuilder.CreateIndex( name: "IX_Citas_TecnicoPreferidoId", schema: "taller", table: "Citas", column: "TecnicoPreferidoId"); migrationBuilder.CreateIndex( name: "IX_Citas_VehiculoId", schema: "taller", table: "Citas", column: "VehiculoId"); migrationBuilder.CreateIndex( name: "IX_Clientes_Codigo", schema: "crm", table: "Clientes", column: "Codigo", unique: true); migrationBuilder.CreateIndex( name: "IX_Clientes_DocumentoIdentidad", schema: "crm", table: "Clientes", column: "DocumentoIdentidad"); migrationBuilder.CreateIndex( name: "IX_Comisiones_TecnicoId", schema: "personal", table: "Comisiones", column: "TecnicoId"); migrationBuilder.CreateIndex( name: "IX_CompatibilidadesRepuesto_RepuestoId", schema: "inventario", table: "CompatibilidadesRepuesto", column: "RepuestoId"); migrationBuilder.CreateIndex( name: "IX_ControlesCalidad_OrdenTrabajoId", schema: "taller", table: "ControlesCalidad", column: "OrdenTrabajoId"); migrationBuilder.CreateIndex( name: "IX_Cotizaciones_ClienteId", schema: "ventas", table: "Cotizaciones", column: "ClienteId"); migrationBuilder.CreateIndex( name: "IX_Cotizaciones_Numero", schema: "ventas", table: "Cotizaciones", column: "Numero", unique: true); migrationBuilder.CreateIndex( name: "IX_Cotizaciones_OrdenTrabajoId", schema: "ventas", table: "Cotizaciones", column: "OrdenTrabajoId"); migrationBuilder.CreateIndex( name: "IX_CuentasPagar_OrdenCompraId", schema: "compras", table: "CuentasPagar", column: "OrdenCompraId"); migrationBuilder.CreateIndex( name: "IX_CuentasPagar_ProveedorId", schema: "compras", table: "CuentasPagar", column: "ProveedorId"); migrationBuilder.CreateIndex( name: "IX_DetalleOTRepuestos_OrdenTrabajoId", schema: "taller", table: "DetalleOTRepuestos", column: "OrdenTrabajoId"); migrationBuilder.CreateIndex( name: "IX_DetalleOTRepuestos_RepuestoId", schema: "taller", table: "DetalleOTRepuestos", column: "RepuestoId"); migrationBuilder.CreateIndex( name: "IX_DetalleOTServicios_OrdenTrabajoId", schema: "taller", table: "DetalleOTServicios", column: "OrdenTrabajoId"); migrationBuilder.CreateIndex( name: "IX_DetalleOTServicios_ServicioId", schema: "taller", table: "DetalleOTServicios", column: "ServicioId"); migrationBuilder.CreateIndex( name: "IX_DetalleOTServicios_TecnicoId", schema: "taller", table: "DetalleOTServicios", column: "TecnicoId"); migrationBuilder.CreateIndex( name: "IX_DetallesCotizacion_CotizacionId", schema: "ventas", table: "DetallesCotizacion", column: "CotizacionId"); migrationBuilder.CreateIndex( name: "IX_DetallesFactura_FacturaId", schema: "ventas", table: "DetallesFactura", column: "FacturaId"); migrationBuilder.CreateIndex( name: "IX_DetallesOrdenCompra_OrdenCompraId", schema: "compras", table: "DetallesOrdenCompra", column: "OrdenCompraId"); migrationBuilder.CreateIndex( name: "IX_DetallesOrdenCompra_RepuestoId", schema: "compras", table: "DetallesOrdenCompra", column: "RepuestoId"); migrationBuilder.CreateIndex( name: "IX_Facturas_ClienteId", schema: "ventas", table: "Facturas", column: "ClienteId"); migrationBuilder.CreateIndex( name: "IX_Facturas_OrdenTrabajoId", schema: "ventas", table: "Facturas", column: "OrdenTrabajoId"); migrationBuilder.CreateIndex( name: "IX_Facturas_Serie_Numero", schema: "ventas", table: "Facturas", columns: new[] { "Serie", "Numero" }, unique: true); migrationBuilder.CreateIndex( name: "IX_FotosOT_OrdenTrabajoId", schema: "taller", table: "FotosOT", column: "OrdenTrabajoId"); migrationBuilder.CreateIndex( name: "IX_HistorialEstadoOT_OrdenTrabajoId", schema: "taller", table: "HistorialEstadoOT", column: "OrdenTrabajoId"); migrationBuilder.CreateIndex( name: "IX_LogsAuditoria_Fecha", schema: "sistema", table: "LogsAuditoria", column: "Fecha"); migrationBuilder.CreateIndex( name: "IX_MovimientosInventario_AlmacenId", schema: "inventario", table: "MovimientosInventario", column: "AlmacenId"); migrationBuilder.CreateIndex( name: "IX_MovimientosInventario_RepuestoId", schema: "inventario", table: "MovimientosInventario", column: "RepuestoId"); migrationBuilder.CreateIndex( name: "IX_NotificacionesEnviadas_Fecha", schema: "sistema", table: "NotificacionesEnviadas", column: "Fecha"); migrationBuilder.CreateIndex( name: "IX_OrdenesCompra_AlmacenDestinoId", schema: "compras", table: "OrdenesCompra", column: "AlmacenDestinoId"); migrationBuilder.CreateIndex( name: "IX_OrdenesCompra_Numero", schema: "compras", table: "OrdenesCompra", column: "Numero", unique: true); migrationBuilder.CreateIndex( name: "IX_OrdenesCompra_ProveedorId", schema: "compras", table: "OrdenesCompra", column: "ProveedorId"); migrationBuilder.CreateIndex( name: "IX_OrdenesTrabajo_ClienteId", schema: "taller", table: "OrdenesTrabajo", column: "ClienteId"); migrationBuilder.CreateIndex( name: "IX_OrdenesTrabajo_Numero", schema: "taller", table: "OrdenesTrabajo", column: "Numero", unique: true); migrationBuilder.CreateIndex( name: "IX_OrdenesTrabajo_TecnicoPrincipalId", schema: "taller", table: "OrdenesTrabajo", column: "TecnicoPrincipalId"); migrationBuilder.CreateIndex( name: "IX_OrdenesTrabajo_VehiculoId", schema: "taller", table: "OrdenesTrabajo", column: "VehiculoId"); migrationBuilder.CreateIndex( name: "IX_Pagos_CajaId", schema: "ventas", table: "Pagos", column: "CajaId"); migrationBuilder.CreateIndex( name: "IX_Pagos_FacturaId", schema: "ventas", table: "Pagos", column: "FacturaId"); migrationBuilder.CreateIndex( name: "IX_Parametros_Clave", schema: "sistema", table: "Parametros", column: "Clave", unique: true); migrationBuilder.CreateIndex( name: "IX_PlantillasNotificacion_Codigo", schema: "sistema", table: "PlantillasNotificacion", column: "Codigo", unique: true); migrationBuilder.CreateIndex( name: "IX_Proveedores_Codigo", schema: "compras", table: "Proveedores", column: "Codigo", unique: true); migrationBuilder.CreateIndex( name: "IX_RegistrosAsistencia_TecnicoId", schema: "personal", table: "RegistrosAsistencia", column: "TecnicoId"); migrationBuilder.CreateIndex( name: "IX_Repuestos_CategoriaId", schema: "inventario", table: "Repuestos", column: "CategoriaId"); migrationBuilder.CreateIndex( name: "IX_Repuestos_CodigoBarras", schema: "inventario", table: "Repuestos", column: "CodigoBarras"); migrationBuilder.CreateIndex( name: "IX_Repuestos_CodigoInterno", schema: "inventario", table: "Repuestos", column: "CodigoInterno", unique: true); migrationBuilder.CreateIndex( name: "IX_Repuestos_CodigoOEM", schema: "inventario", table: "Repuestos", column: "CodigoOEM"); migrationBuilder.CreateIndex( name: "RoleNameIndex", schema: "seguridad", table: "Roles", column: "NormalizedName", unique: true, filter: "[NormalizedName] IS NOT NULL"); migrationBuilder.CreateIndex( name: "IX_RolesClaims_RoleId", schema: "seguridad", table: "RolesClaims", column: "RoleId"); migrationBuilder.CreateIndex( name: "IX_Servicios_CategoriaId", schema: "taller", table: "Servicios", column: "CategoriaId"); migrationBuilder.CreateIndex( name: "IX_Servicios_Codigo", schema: "taller", table: "Servicios", column: "Codigo", unique: true); migrationBuilder.CreateIndex( name: "IX_StockAlmacenes_AlmacenId", schema: "inventario", table: "StockAlmacenes", column: "AlmacenId"); migrationBuilder.CreateIndex( name: "IX_StockAlmacenes_RepuestoId_AlmacenId", schema: "inventario", table: "StockAlmacenes", columns: new[] { "RepuestoId", "AlmacenId" }, unique: true); migrationBuilder.CreateIndex( name: "IX_Sucursales_Codigo", schema: "sistema", table: "Sucursales", column: "Codigo", unique: true); migrationBuilder.CreateIndex( name: "IX_Tecnicos_Codigo", schema: "personal", table: "Tecnicos", column: "Codigo", unique: true); migrationBuilder.CreateIndex( name: "IX_TecnicosOT_OrdenTrabajoId", schema: "taller", table: "TecnicosOT", column: "OrdenTrabajoId"); migrationBuilder.CreateIndex( name: "IX_TecnicosOT_TecnicoId", schema: "taller", table: "TecnicosOT", column: "TecnicoId"); migrationBuilder.CreateIndex( name: "EmailIndex", schema: "seguridad", table: "Usuarios", column: "NormalizedEmail"); migrationBuilder.CreateIndex( name: "UserNameIndex", schema: "seguridad", table: "Usuarios", column: "NormalizedUserName", unique: true, filter: "[NormalizedUserName] IS NOT NULL"); migrationBuilder.CreateIndex( name: "IX_UsuariosClaims_UserId", schema: "seguridad", table: "UsuariosClaims", column: "UserId"); migrationBuilder.CreateIndex( name: "IX_UsuariosLogins_UserId", schema: "seguridad", table: "UsuariosLogins", column: "UserId"); migrationBuilder.CreateIndex( name: "IX_UsuariosRoles_RoleId", schema: "seguridad", table: "UsuariosRoles", column: "RoleId"); migrationBuilder.CreateIndex( name: "IX_Vehiculos_ClienteId", schema: "crm", table: "Vehiculos", column: "ClienteId"); migrationBuilder.CreateIndex( name: "IX_Vehiculos_Placa", schema: "crm", table: "Vehiculos", column: "Placa", unique: true); migrationBuilder.CreateIndex( name: "IX_Vehiculos_VIN", schema: "crm", table: "Vehiculos", column: "VIN"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "ChecklistInspeccion", schema: "taller"); migrationBuilder.DropTable( name: "Citas", schema: "taller"); migrationBuilder.DropTable( name: "Comisiones", schema: "personal"); migrationBuilder.DropTable( name: "CompatibilidadesRepuesto", schema: "inventario"); migrationBuilder.DropTable( name: "ControlesCalidad", schema: "taller"); migrationBuilder.DropTable( name: "CuentasPagar", schema: "compras"); migrationBuilder.DropTable( name: "DetalleOTRepuestos", schema: "taller"); migrationBuilder.DropTable( name: "DetalleOTServicios", schema: "taller"); migrationBuilder.DropTable( name: "DetallesCotizacion", schema: "ventas"); migrationBuilder.DropTable( name: "DetallesFactura", schema: "ventas"); migrationBuilder.DropTable( name: "DetallesOrdenCompra", schema: "compras"); migrationBuilder.DropTable( name: "Empresas", schema: "sistema"); migrationBuilder.DropTable( name: "FotosOT", schema: "taller"); migrationBuilder.DropTable( name: "HistorialEstadoOT", schema: "taller"); migrationBuilder.DropTable( name: "LogsAuditoria", schema: "sistema"); migrationBuilder.DropTable( name: "MovimientosInventario", schema: "inventario"); migrationBuilder.DropTable( name: "NotificacionesEnviadas", schema: "sistema"); migrationBuilder.DropTable( name: "Pagos", schema: "ventas"); migrationBuilder.DropTable( name: "Parametros", schema: "sistema"); migrationBuilder.DropTable( name: "PlantillasNotificacion", schema: "sistema"); migrationBuilder.DropTable( name: "RegistrosAsistencia", schema: "personal"); migrationBuilder.DropTable( name: "RolesClaims", schema: "seguridad"); migrationBuilder.DropTable( name: "StockAlmacenes", schema: "inventario"); migrationBuilder.DropTable( name: "Sucursales", schema: "sistema"); migrationBuilder.DropTable( name: "TecnicosOT", schema: "taller"); migrationBuilder.DropTable( name: "UsuariosClaims", schema: "seguridad"); migrationBuilder.DropTable( name: "UsuariosLogins", schema: "seguridad"); migrationBuilder.DropTable( name: "UsuariosRoles", schema: "seguridad"); migrationBuilder.DropTable( name: "UsuariosTokens", schema: "seguridad"); migrationBuilder.DropTable( name: "Servicios", schema: "taller"); migrationBuilder.DropTable( name: "Cotizaciones", schema: "ventas"); migrationBuilder.DropTable( name: "OrdenesCompra", schema: "compras"); migrationBuilder.DropTable( name: "Cajas", schema: "ventas"); migrationBuilder.DropTable( name: "Facturas", schema: "ventas"); migrationBuilder.DropTable( name: "Repuestos", schema: "inventario"); migrationBuilder.DropTable( name: "Roles", schema: "seguridad"); migrationBuilder.DropTable( name: "Usuarios", schema: "seguridad"); migrationBuilder.DropTable( name: "CategoriasServicio", schema: "taller"); migrationBuilder.DropTable( name: "Almacenes", schema: "inventario"); migrationBuilder.DropTable( name: "Proveedores", schema: "compras"); migrationBuilder.DropTable( name: "OrdenesTrabajo", schema: "taller"); migrationBuilder.DropTable( name: "CategoriasRepuesto", schema: "inventario"); migrationBuilder.DropTable( name: "Tecnicos", schema: "personal"); migrationBuilder.DropTable( name: "Vehiculos", schema: "crm"); migrationBuilder.DropTable( name: "Clientes", schema: "crm"); } } }