private string Validate(string memberName) { string error = null; if (memberName == "Contrasena" || memberName == null) { if (Contrasena == null || Contrasena.Length == 0) { error = "El campo contraseña es obligatorio."; } else if (Contrasena != null && ContrasenaConfirmacion != null && !ContrasenaHashing.SecureStringEqual(Contrasena, ContrasenaConfirmacion)) { error = "El campo contraseña y contraseña confirmación no son iguales."; } } if (memberName == "ContrasenaConfirmacion" || memberName == null) { if (ContrasenaConfirmacion == null || ContrasenaConfirmacion.Length == 0) { error = "El campo contraseña confirmación es obligatorio."; } else { // Fuerza a comprobar la validación de la propiedad Contraseña para saber si son iguales OnPropertyChanged("Contrasena"); } } return(error); }
private async void EditarCeldaEndingUsuario(DataGridCellEditEndingEventArgs e) { if (e.EditAction == DataGridEditAction.Commit) { var usuarioSeleccionado = e.Row.DataContext as Usuario; if (e.Column.DisplayIndex == 1) // 1 = Posición columna contraseña { ContentPresenter contentPresenter = e.EditingElement as ContentPresenter; DataTemplate editingTemplate = contentPresenter.ContentTemplate; PasswordBox contrasena = editingTemplate.FindName("pbContrasena", contentPresenter) as PasswordBox; string hashContrasena = ContrasenaHashing.ObtenerHashSHA256(ContrasenaHashing.SecureStringToString(contrasena.SecurePassword)); usuarioSeleccionado.Contrasena = hashContrasena; } // Comprueba si se va a baneado al admin que haya a menos otro admin activo if (usuarioSeleccionado.TipoUsuario.TipoUsuarioId == 1 && usuarioSeleccionado.Baneado == true && !context.Usuarios.Any(u => u.TipoId == 1 && u.Baneado != false && u.UsuarioId != usuarioSeleccionado.UsuarioId)) { usuarioSeleccionado.Baneado = false; await DialogHost.Show(new MensajeInformacion() { Mensaje = "No se puede banear el usuario ya que al menos tiene que haber un admin activo." }, "RootDialog"); } context.SaveChanges(); if (e.Column.DisplayIndex == 3) // 3 = Posición columna tipo usuario { ContadorViewModel.Tipos = new ObservableCollection <TipoUsuario>(context.TiposUsuarios.ToList()); } } }
private async void ModificarUsuario() { var usuarioLogeado = context.Usuarios.Single(u => u.Nombre == Properties.Settings.Default.usuario); // El usuario Super Administrador no se puede borrar if (UsuarioSeleccionado.TipoId == 1 && usuarioLogeado.TipoId != 1) { await DialogHost.Show(new MensajeInformacion() { Mensaje = "No se puede modificar ese usuario." }, "RootDialog"); } // Si el usuario logeado o tiene la gestión de permisos y el usuario seleccionado sí, entonces no se puede modificar else if (!usuarioLogeado.TipoUsuario.Permisos.Select(p => p.Tab).Contains(Tab.Permisos) && UsuarioSeleccionado.TipoUsuario.Permisos.Select(p => p.Tab).Contains(Tab.Permisos)) { await DialogHost.Show(new MensajeInformacion() { Mensaje = "No se puede modificar ese usuario ya que no se tiene permisos suficientes." }, "RootDialog"); } // Se procede a modificar else { var formUsuario = new FormUsuario(UsuarioSeleccionado); if ((bool)await DialogHost.Show(formUsuario, "RootDialog")) { var formUsuarioViewModel = formUsuario.DataContext as FormUsuarioViewModel; var hashContrasena = ContrasenaHashing.ObtenerHashSHA256( ContrasenaHashing.SecureStringToString(formUsuarioViewModel.Contrasena) ); UsuarioSeleccionado.Nombre = formUsuarioViewModel.Nombre; UsuarioSeleccionado.Email = formUsuarioViewModel.Email; UsuarioSeleccionado.TipoId = formUsuarioViewModel.TipoUsuarioSeleccionado.TipoUsuarioId; UsuarioSeleccionado.Contrasena = hashContrasena; UsuarioSeleccionado.Baneado = formUsuarioViewModel.Baneado; context.SaveChanges(); } } }
private async void bCambiarContrasena_Click(object sender, RoutedEventArgs e) { int usuarioId = ((winAjustes.Owner as MainWindow).DataContext as MainWindowViewModel).Usuario.UsuarioId; var viewModel = DataContext as WinAjustesViewModel; var hashContrasena = ContrasenaHashing.ObtenerHashSHA256( ContrasenaHashing.SecureStringToString(viewModel.Contrasena) ); using (var context = new BiomasaEUPTContext()) { var usuario = context.Usuarios.Single(u => u.UsuarioId == usuarioId); usuario.Contrasena = hashContrasena; context.SaveChanges(); } var mensaje = new MensajeInformacion() { Titulo = "Contraseña Cambiada", Mensaje = "La contraseña se ha cambiado correctamente." }; var resultado = await DialogHost.Show(mensaje, "RootDialog"); }
private async void AnadirUsuario() { var formUsuario = new FormUsuario(); if ((bool)await DialogHost.Show(formUsuario, "RootDialog")) { var formUsuarioViewModel = formUsuario.DataContext as FormUsuarioViewModel; var hashContrasena = ContrasenaHashing.ObtenerHashSHA256( ContrasenaHashing.SecureStringToString(formUsuarioViewModel.Contrasena) ); context.Usuarios.Add(new Usuario() { Nombre = formUsuarioViewModel.Nombre, Email = formUsuarioViewModel.Email, TipoId = formUsuarioViewModel.TipoUsuarioSeleccionado.TipoUsuarioId, Contrasena = hashContrasena, Baneado = formUsuarioViewModel.Baneado }); context.SaveChanges(); CargarUsuarios(); } }
private void IniciarSesion() { Console.WriteLine(Usuario); String hashContrasena = ""; if (Contrasena != null) { hashContrasena = ContrasenaHashing.ObtenerHashSHA256(ContrasenaHashing.SecureStringToString(Contrasena)); } var usuario = IniciarSesion(Usuario, hashContrasena); if (usuario != null) { Properties.Settings.Default.contrasena = RecordarContrasena == true ? hashContrasena : ""; Properties.Settings.Default.usuario = Usuario; Properties.Settings.Default.Save(); CargarVistaMain(usuario); } else { MensajeLoginIncorrecto(); } }
public SeedTablas(BiomasaEUPTContext context) { this.context = context; assembly = Assembly.GetExecutingAssembly(); CsvConfiguration csvConfig = new CsvConfiguration() { WillThrowOnMissingField = false, Delimiter = ";" }; string resourceName = String.Format(NOMBRE_CSV, "TiposUsuarios"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = csvReader.GetRecords <TipoUsuario>().ToArray(); context.TiposUsuarios.AddOrUpdate(d => d.Nombre, datos); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "Permisos"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = new List <Permiso>(); while (csvReader.Read()) { // Alternativa a PermisoMap datos.Add(new Permiso() { PermisoId = csvReader.GetField <int>("PermisoId"), Tab = (Tab)Enum.Parse(typeof(Tab), csvReader.GetField <string>("Tab")), TipoId = csvReader.GetField <int>("TipoId") }); } context.Permisos.AddOrUpdate(d => d.PermisoId, datos.ToArray()); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "Usuarios"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); csvReader.Configuration.RegisterClassMap <UsuarioMap>(); var datos = csvReader.GetRecords <Usuario>().ToArray(); foreach (var d in datos) { if (d.Contrasena == null) { d.Contrasena = ContrasenaHashing.ObtenerHashSHA256(d.Nombre); } } context.Usuarios.AddOrUpdate(d => d.Nombre, datos); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "TiposProveedores"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = csvReader.GetRecords <TipoProveedor>().ToArray(); context.TiposProveedores.AddOrUpdate(d => d.Nombre, datos); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "TiposClientes"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = csvReader.GetRecords <TipoCliente>().ToArray(); context.TiposClientes.AddOrUpdate(d => d.Nombre, datos); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "GruposClientes"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = csvReader.GetRecords <GrupoCliente>().ToArray(); context.GruposClientes.AddOrUpdate(d => d.Nombre, datos); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "Paises"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = csvReader.GetRecords <Pais>().ToArray(); context.Paises.AddOrUpdate(d => d.Codigo, datos); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "Comunidades"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); // Hay que mapear cada columna ya que la columna Codigo // piensa que es la de la tabla Pais csvReader.Configuration.RegisterClassMap <ComunidadMap>(); var datos = csvReader.GetRecords <Comunidad>().ToArray(); foreach (var d in datos) { if (d.PaisId == null) { d.PaisId = context.Paises.Single(c => c.Codigo == d.Codigo.Substring(0, 2)).PaisId; } } context.Comunidades.AddOrUpdate(d => d.Codigo, datos); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "Provincias"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); csvReader.Configuration.RegisterClassMap <ProvinciaMap>(); while (csvReader.Read()) { var provincia = csvReader.GetRecord <Provincia>(); var codigoComunidad = csvReader.GetField <string>("CodigoComunidad"); provincia.ComunidadId = context.Comunidades.Single(c => c.Codigo == codigoComunidad).ComunidadId; context.Provincias.AddOrUpdate(p => p.Codigo, provincia); } } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "Municipios"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); csvReader.Configuration.RegisterClassMap <MunicipioMap>(); while (csvReader.Read()) { var municipio = csvReader.GetRecord <Municipio>(); var codigoProvincia = csvReader.GetField <string>("CodigoProvincia"); municipio.ProvinciaId = context.Provincias.Single(c => c.Codigo == codigoProvincia).ProvinciaId; // Si se ejecuta dos veces el seed puede machacar municipios por tener el mismo código postal context.Municipios.AddOrUpdate(m => m.CodigoPostal, municipio); } } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "Clientes"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); csvReader.Configuration.RegisterClassMap <ClienteMap>(); var datos = csvReader.GetRecords <Cliente>().ToArray(); foreach (var d in datos) { if (d.Observaciones == string.Empty) { d.Observaciones = null; } } context.Clientes.AddOrUpdate(p => p.ClienteId, datos); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "Proveedores"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); csvReader.Configuration.RegisterClassMap <ProveedorMap>(); var datos = csvReader.GetRecords <Proveedor>().ToArray(); foreach (var d in datos) { if (d.Observaciones == string.Empty) { d.Observaciones = null; } } context.Proveedores.AddOrUpdate(p => p.ProveedorId, datos); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "EstadosRecepciones"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = csvReader.GetRecords <EstadoRecepcion>().ToArray(); context.EstadosRecepciones.AddOrUpdate(d => d.Nombre, datos); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "SitiosRecepciones"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = csvReader.GetRecords <SitioRecepcion>().ToArray(); context.SitiosRecepciones.AddOrUpdate(d => d.Nombre, datos); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "HuecosRecepciones"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = new List <HuecoRecepcion>(); while (csvReader.Read()) { // Alternativa a HuecoRecepcionMap datos.Add(new HuecoRecepcion() { HuecoRecepcionId = csvReader.GetField <int>("HuecoRecepcionId"), Nombre = csvReader.GetField <string>("Nombre"), UnidadesTotales = csvReader.GetField <int>("UnidadesTotales"), VolumenTotal = csvReader.GetField <double>("VolumenTotal"), SitioId = csvReader.GetField <int>("SitioId") }); } context.HuecosRecepciones.AddOrUpdate(d => d.HuecoRecepcionId, datos.ToArray()); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "Procedencias"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = csvReader.GetRecords <Procedencia>().ToArray(); context.Procedencias.AddOrUpdate(d => d.ProcedenciaId, datos); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "Recepciones"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = new List <Recepcion>(); while (csvReader.Read()) { // Alternativa a RecepcionMap datos.Add(new Recepcion() { NumeroAlbaran = csvReader.GetField <string>("NumeroAlbaran"), FechaRecepcion = csvReader.GetField <DateTime>("FechaRecepcion"), ProveedorId = csvReader.GetField <int>("ProveedorId"), EstadoId = csvReader.GetField <int>("EstadoId") }); } context.Recepciones.AddOrUpdate(d => d.NumeroAlbaran, datos.ToArray()); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "GruposMateriasPrimas"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = new List <GrupoMateriaPrima>(); while (csvReader.Read()) { // Alternativa a GrupoMateriaPrimaMap datos.Add(new GrupoMateriaPrima() { GrupoMateriaPrimaId = csvReader.GetField <int>("GrupoMateriaPrimaId"), Nombre = csvReader.GetField <string>("Nombre"), Descripcion = csvReader.GetField <string>("Descripcion") }); } context.GruposMateriasPrimas.AddOrUpdate(d => d.GrupoMateriaPrimaId, datos.ToArray()); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "TiposMateriasPrimas"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = new List <TipoMateriaPrima>(); while (csvReader.Read()) { // Alternativa a TipoMateriaPrimaMap datos.Add(new TipoMateriaPrima() { TipoMateriaPrimaId = csvReader.GetField <int>("TipoMateriaPrimaId"), Nombre = csvReader.GetField <string>("Nombre"), Descripcion = csvReader.GetField <string>("Descripcion"), MedidoEnUnidades = csvReader.GetField <bool>("MedidoEnUnidades"), MedidoEnVolumen = csvReader.GetField <bool>("MedidoEnVolumen"), GrupoId = csvReader.GetField <int>("GrupoId") }); } context.TiposMateriasPrimas.AddOrUpdate(d => d.TipoMateriaPrimaId, datos.ToArray()); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "MateriasPrimas"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = new List <MateriaPrima>(); while (csvReader.Read()) { // Campos opcionales csvReader.TryGetField <string>("Observaciones", out var observaciones); observaciones = (observaciones == "") ? null : observaciones; datos.Add(new MateriaPrima() { MateriaPrimaId = csvReader.GetField <int>("MateriaPrimaId"), TipoId = csvReader.GetField <int>("TipoId"), Volumen = csvReader.GetField <double?>("Volumen"), Unidades = csvReader.GetField <int?>("Unidades"), RecepcionId = csvReader.GetField <int>("RecepcionId"), ProcedenciaId = csvReader.GetField <int>("ProcedenciaId"), FechaBaja = csvReader.GetField <DateTime?>("FechaBaja"), Observaciones = observaciones }); } context.MateriasPrimas.AddOrUpdate(d => d.MateriaPrimaId, datos.ToArray()); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "HistorialHuecosRecepciones"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = new List <HistorialHuecoRecepcion>(); while (csvReader.Read()) { // Alternativa a HistorialHuecoRecepcionMap datos.Add(new HistorialHuecoRecepcion() { HistorialHuecoRecepcionId = csvReader.GetField <int>("HistorialHuecoRecepcionId"), Volumen = csvReader.GetField <double?>("Volumen"), Unidades = csvReader.GetField <int?>("Unidades"), MateriaPrimaId = csvReader.GetField <int>("MateriaPrimaId"), HuecoRecepcionId = csvReader.GetField <int>("HuecoRecepcionId") }); } context.HistorialHuecosRecepciones.AddOrUpdate(d => d.HistorialHuecoRecepcionId, datos.ToArray()); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "EstadosElaboraciones"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = csvReader.GetRecords <EstadoElaboracion>().ToArray(); context.EstadosElaboraciones.AddOrUpdate(d => d.Nombre, datos); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "GruposProductosTerminados"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = new List <GrupoProductoTerminado>(); while (csvReader.Read()) { // Alternativa a GrupoProductoTerminadoMap datos.Add(new GrupoProductoTerminado() { GrupoProductoTerminadoId = csvReader.GetField <int>("GrupoProductoTerminadoId"), Nombre = csvReader.GetField <string>("Nombre"), Descripcion = csvReader.GetField <string>("Descripcion") }); } context.GruposProductosTerminados.AddOrUpdate(d => d.GrupoProductoTerminadoId, datos.ToArray()); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "TiposProductosTerminados"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = new List <TipoProductoTerminado>(); while (csvReader.Read()) { // Alternativa a TipoProductoTerminadoMap datos.Add(new TipoProductoTerminado() { TipoProductoTerminadoId = csvReader.GetField <int>("TipoProductoTerminadoId"), Nombre = csvReader.GetField <string>("Nombre"), Tamano = csvReader.GetField <string>("Tamano"), Humedad = csvReader.GetField <double>("Humedad"), MedidoEnUnidades = csvReader.GetField <bool>("MedidoEnUnidades"), MedidoEnVolumen = csvReader.GetField <bool>("MedidoEnVolumen"), GrupoId = csvReader.GetField <int>("GrupoId") }); } context.TiposProductosTerminados.AddOrUpdate(d => d.TipoProductoTerminadoId, datos.ToArray()); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "OrdenesElaboraciones"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = new List <OrdenElaboracion>(); while (csvReader.Read()) { // Alternativa a OrdenElaboracionMap datos.Add(new OrdenElaboracion() { OrdenElaboracionId = csvReader.GetField <int>("OrdenElaboracionId"), EstadoElaboracionId = csvReader.GetField <int>("EstadoElaboracionId"), Descripcion = csvReader.GetField <string>("Descripcion") }); } context.OrdenesElaboraciones.AddOrUpdate(d => d.OrdenElaboracionId, datos.ToArray()); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "SitiosAlmacenajes"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = csvReader.GetRecords <SitioAlmacenaje>().ToArray(); context.SitiosAlmacenajes.AddOrUpdate(d => d.Nombre, datos); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "HuecosAlmacenajes"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = new List <HuecoAlmacenaje>(); while (csvReader.Read()) { // Alternativa a HuecoAlmacenajeMap datos.Add(new HuecoAlmacenaje() { HuecoAlmacenajeId = csvReader.GetField <int>("HuecoAlmacenajeId"), Nombre = csvReader.GetField <string>("Nombre"), UnidadesTotales = csvReader.GetField <int>("UnidadesTotales"), VolumenTotal = csvReader.GetField <double>("VolumenTotal"), SitioId = csvReader.GetField <int>("SitioId") }); } context.HuecosAlmacenajes.AddOrUpdate(d => d.HuecoAlmacenajeId, datos.ToArray()); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "ProductosTerminados"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = new List <ProductoTerminado>(); while (csvReader.Read()) { // Campos opcionales csvReader.TryGetField <string>("Observaciones", out var observaciones); observaciones = (observaciones == "") ? null : observaciones; datos.Add(new ProductoTerminado() { ProductoTerminadoId = csvReader.GetField <int>("ProductoTerminadoId"), TipoId = csvReader.GetField <int>("TipoId"), Volumen = csvReader.GetField <double?>("Volumen"), Unidades = csvReader.GetField <int?>("Unidades"), OrdenId = csvReader.GetField <int>("OrdenId"), FechaBaja = csvReader.GetField <DateTime?>("FechaBaja"), Observaciones = observaciones }); } context.ProductosTerminados.AddOrUpdate(d => d.ProductoTerminadoId, datos.ToArray()); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "HistorialHuecosAlmacenajes"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = new List <HistorialHuecoAlmacenaje>(); while (csvReader.Read()) { // Alternativa a HistorialHuecoAlmacenajeMap datos.Add(new HistorialHuecoAlmacenaje() { HistorialHuecoAlmacenajeId = csvReader.GetField <int>("HistorialHuecoAlmacenajeId"), Volumen = csvReader.GetField <double?>("Volumen"), Unidades = csvReader.GetField <int?>("Unidades"), ProductoTerminadoId = csvReader.GetField <int>("ProductoTerminadoId"), HuecoAlmacenajeId = csvReader.GetField <int>("HuecoAlmacenajeId") }); } context.HistorialHuecosAlmacenajes.AddOrUpdate(d => d.HistorialHuecoAlmacenajeId, datos.ToArray()); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "ProductosTerminadosComposiciones"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = new List <ProductoTerminadoComposicion>(); while (csvReader.Read()) { // Alternativa a ProductoTerminadoComposicionMap datos.Add(new ProductoTerminadoComposicion() { ProductoTerminadoComposicionId = csvReader.GetField <int>("ProductoTerminadoComposicionId"), Volumen = csvReader.GetField <int?>("Volumen"), Unidades = csvReader.GetField <int?>("Unidades"), HistorialHuecoId = csvReader.GetField <int>("HistorialHuecoId"), ProductoId = csvReader.GetField <int>("ProductoId") }); } context.ProductosTerminadosComposiciones.AddOrUpdate(d => d.ProductoTerminadoComposicionId, datos.ToArray()); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "EstadosPedidos"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = csvReader.GetRecords <EstadoPedido>().ToArray(); context.EstadosPedidos.AddOrUpdate(d => d.Nombre, datos); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "EstadosEnvasados"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = csvReader.GetRecords <EstadoEnvasado>().ToArray(); context.EstadosEnvasados.AddOrUpdate(d => d.Nombre, datos); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "GruposProductosEnvasados"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = new List <GrupoProductoEnvasado>(); while (csvReader.Read()) { // Alternativa a GrupoProductoEnvasadoMap datos.Add(new GrupoProductoEnvasado() { GrupoProductoEnvasadoId = csvReader.GetField <int>("GrupoProductoEnvasadoId"), Nombre = csvReader.GetField <string>("Nombre"), Descripcion = csvReader.GetField <string>("Descripcion") }); } context.GruposProductosEnvasados.AddOrUpdate(d => d.GrupoProductoEnvasadoId, datos.ToArray()); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "TiposProductosEnvasados"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = new List <TipoProductoEnvasado>(); while (csvReader.Read()) { datos.Add(new TipoProductoEnvasado() { TipoProductoEnvasadoId = csvReader.GetField <int>("TipoProductoEnvasadoId"), Nombre = csvReader.GetField <string>("Nombre"), Descripcion = csvReader.GetField <string>("Descripcion"), MedidoEnVolumen = csvReader.GetField <bool>("MedidoEnVolumen"), MedidoEnUnidades = csvReader.GetField <bool>("MedidoEnUnidades"), GrupoId = csvReader.GetField <int>("GrupoId") }); } context.TiposProductosEnvasados.AddOrUpdate(d => d.TipoProductoEnvasadoId, datos.ToArray()); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "Picking"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = new List <Picking>(); while (csvReader.Read()) { datos.Add(new Picking() { PickingId = csvReader.GetField <int>("PickingId"), Nombre = csvReader.GetField <string>("Nombre"), VolumenTotal = csvReader.GetField <double>("VolumenTotal"), UnidadesTotales = csvReader.GetField <int>("UnidadesTotales") }); } context.Picking.AddOrUpdate(d => d.PickingId, datos.ToArray()); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "OrdenesEnvasados"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = new List <OrdenEnvasado>(); while (csvReader.Read()) { // Alternativa a OrdenEnvasadoMap datos.Add(new OrdenEnvasado() { OrdenEnvasadoId = csvReader.GetField <int>("OrdenEnvasadoId"), EstadoEnvasadoId = csvReader.GetField <int>("EstadoEnvasadoId"), Descripcion = csvReader.GetField <string>("Descripcion") }); } context.OrdenesEnvasados.AddOrUpdate(d => d.OrdenEnvasadoId, datos.ToArray()); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "ProductosEnvasados"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = new List <ProductoEnvasado>(); while (csvReader.Read()) { // Campos opcionales csvReader.TryGetField <string>("Observaciones", out var observaciones); observaciones = (observaciones == "") ? null : observaciones; datos.Add(new ProductoEnvasado() { ProductoEnvasadoId = csvReader.GetField <int>("ProductoEnvasadoId"), Volumen = csvReader.GetField <double?>("Volumen"), Unidades = csvReader.GetField <int?>("Unidades"), TipoProductoEnvasadoId = csvReader.GetField <int>("TipoProductoEnvasadoId"), OrdenId = csvReader.GetField <int>("OrdenId"), PickingId = csvReader.GetField <int>("PickingId"), Observaciones = observaciones }); } context.ProductosEnvasados.AddOrUpdate(d => d.ProductoEnvasadoId, datos.ToArray()); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "ProductosEnvasadosComposiciones"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = new List <ProductoEnvasadoComposicion>(); while (csvReader.Read()) { // Alternativa a ProductoTerminadoComposicionMap datos.Add(new ProductoEnvasadoComposicion() { ProductoEnvasadoComposicionId = csvReader.GetField <int>("ProductoEnvasadoComposicionId"), Volumen = csvReader.GetField <int?>("Volumen"), Unidades = csvReader.GetField <int?>("Unidades"), HistorialHuecoId = csvReader.GetField <int>("HistorialHuecoId"), ProductoId = csvReader.GetField <int>("ProductoId") }); } context.ProductosEnvasadosComposiciones.AddOrUpdate(d => d.ProductoEnvasadoComposicionId, datos.ToArray()); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "PedidosCabeceras"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = new List <PedidoCabecera>(); while (csvReader.Read()) { datos.Add(new PedidoCabecera() { PedidoCabeceraId = csvReader.GetField <int>("PedidoCabeceraId"), FechaPedido = csvReader.GetField <DateTime>("FechaPedido"), EstadoId = csvReader.GetField <int>("EstadoId"), ClienteId = csvReader.GetField <int>("ClienteId") }); } context.PedidosCabeceras.AddOrUpdate(d => d.PedidoCabeceraId, datos.ToArray()); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "PedidosLineas"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = new List <PedidoLinea>(); while (csvReader.Read()) { datos.Add(new PedidoLinea() { PedidoLineaId = csvReader.GetField <int>("PedidoLineaId"), Volumen = csvReader.GetField <double?>("Volumen"), Unidades = csvReader.GetField <int?>("Unidades"), VolumenPreparado = csvReader.GetField <double?>("VolumenPreparado"), UnidadesPreparadas = csvReader.GetField <int?>("UnidadesPreparadas"), PedidoCabeceraId = csvReader.GetField <int>("PedidoCabeceraId"), TipoProductoEnvasadoId = csvReader.GetField <int>("TipoProductoEnvasadoId") }); } context.PedidosLineas.AddOrUpdate(d => d.PedidoLineaId, datos.ToArray()); } } context.SaveChanges(); resourceName = String.Format(NOMBRE_CSV, "PedidosDetalles"); using (Stream stream = assembly.GetManifestResourceStream(resourceName)) { using (StreamReader reader = new StreamReader(stream)) { CsvReader csvReader = new CsvReader(reader, csvConfig); var datos = new List <PedidoDetalle>(); while (csvReader.Read()) { datos.Add(new PedidoDetalle() { PedidoDetalleId = csvReader.GetField <int>("PedidoDetalleId"), Volumen = csvReader.GetField <double?>("Volumen"), Unidades = csvReader.GetField <int?>("Unidades"), PedidoLineaId = csvReader.GetField <int>("PedidoLineaId"), ProductoEnvasadoId = csvReader.GetField <int>("ProductoEnvasadoId") }); } context.PedidosDetalles.AddOrUpdate(d => d.PedidoDetalleId, datos.ToArray()); } } context.SaveChanges(); }
private void InsertarDatos(Modelos.BiomasaEUPTContext context) { context.TiposUsuarios.AddOrUpdate( tu => tu.Nombre, new TipoUsuario() { Nombre = "Super Administrador", Descripcion = "Super usuario con máximos privilegios" }, new TipoUsuario() { Nombre = "Administrador", Descripcion = "Usuario con máximos privilegios" }, new TipoUsuario() { Nombre = "Administrativo", Descripcion = "Encargado de los clientes y proveedores" }, new TipoUsuario() { Nombre = "Técnico", Descripcion = "Encargado de las recepciones, elaboraciones y ventas" }); context.SaveChanges(); context.Permisos.AddOrUpdate( p => p.PermisoId, new Permiso() { PermisoId = 1, Tab = Tab.Permisos, TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Super Administrador").TipoUsuarioId }, new Permiso() { PermisoId = 2, Tab = Tab.Usuarios, TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Super Administrador").TipoUsuarioId }, new Permiso() { PermisoId = 3, Tab = Tab.Clientes, TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Super Administrador").TipoUsuarioId }, new Permiso() { PermisoId = 4, Tab = Tab.Proveedores, TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Super Administrador").TipoUsuarioId }, new Permiso() { PermisoId = 5, Tab = Tab.Recepciones, TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Super Administrador").TipoUsuarioId }, new Permiso() { PermisoId = 6, Tab = Tab.Elaboraciones, TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Super Administrador").TipoUsuarioId }, new Permiso() { PermisoId = 7, Tab = Tab.Ventas, TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Super Administrador").TipoUsuarioId }, new Permiso() { PermisoId = 8, Tab = Tab.Trazabilidad, TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Super Administrador").TipoUsuarioId }, new Permiso() { PermisoId = 9, Tab = Tab.Usuarios, TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Administrador").TipoUsuarioId }, new Permiso() { PermisoId = 10, Tab = Tab.Clientes, TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Administrador").TipoUsuarioId }, new Permiso() { PermisoId = 11, Tab = Tab.Proveedores, TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Administrador").TipoUsuarioId }, new Permiso() { PermisoId = 12, Tab = Tab.Recepciones, TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Administrador").TipoUsuarioId }, new Permiso() { PermisoId = 13, Tab = Tab.Elaboraciones, TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Administrador").TipoUsuarioId }, new Permiso() { PermisoId = 14, Tab = Tab.Ventas, TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Administrador").TipoUsuarioId }, new Permiso() { PermisoId = 15, Tab = Tab.Trazabilidad, TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Administrador").TipoUsuarioId }, new Permiso() { PermisoId = 16, Tab = Tab.Clientes, TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Administrativo").TipoUsuarioId }, new Permiso() { PermisoId = 17, Tab = Tab.Proveedores, TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Administrativo").TipoUsuarioId }, new Permiso() { PermisoId = 18, Tab = Tab.Trazabilidad, TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Administrativo").TipoUsuarioId }, new Permiso() { PermisoId = 19, Tab = Tab.Recepciones, TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Técnico").TipoUsuarioId }, new Permiso() { PermisoId = 20, Tab = Tab.Elaboraciones, TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Técnico").TipoUsuarioId }, new Permiso() { PermisoId = 21, Tab = Tab.Ventas, TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Técnico").TipoUsuarioId }, new Permiso() { PermisoId = 22, Tab = Tab.Trazabilidad, TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Técnico").TipoUsuarioId }); context.SaveChanges(); context.Usuarios.AddOrUpdate( u => u.Nombre, new Usuario() { Nombre = "superadmin", Contrasena = ContrasenaHashing.ObtenerHashSHA256("superadmin"), Email = "*****@*****.**", TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Super Administrador").TipoUsuarioId }, new Usuario() { Nombre = "admin", Contrasena = ContrasenaHashing.ObtenerHashSHA256("admin"), Email = "*****@*****.**", TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Administrador").TipoUsuarioId }, new Usuario() { Nombre = "efonte", Contrasena = ContrasenaHashing.ObtenerHashSHA256("efonte"), Email = "*****@*****.**", TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Administrativo").TipoUsuarioId }, new Usuario() { Nombre = "jbielsa", Contrasena = ContrasenaHashing.ObtenerHashSHA256("jbielsa"), Email = "*****@*****.**", TipoId = context.TiposUsuarios.Local.Single(u => u.Nombre == "Técnico").TipoUsuarioId }); context.SaveChanges(); context.TiposProveedores.AddOrUpdate( tp => tp.Nombre, new TipoProveedor() { Nombre = "Ecológico", Descripcion = "Provee de madera ecológica" }, new TipoProveedor() { Nombre = "Puntual", Descripcion = "No tarda en servir" }); context.SaveChanges(); context.GruposClientes.AddOrUpdate( gc => gc.Nombre, new GrupoCliente() { Nombre = "GrupoCliente 1", Descripcion = "Este es el GrupoCliente 1" }, new GrupoCliente() { Nombre = "GrupoCliente 2", Descripcion = "Este es el GrupoCliente 2" }); context.SaveChanges(); context.TiposClientes.AddOrUpdate( tc => tc.Nombre, new TipoCliente() { Nombre = "TipoCliente 1", Descripcion = "Este es el TipoCliente 1" }, new TipoCliente() { Nombre = "TipoCliente 2", Descripcion = "Este es el TipoCliente 2" }); context.SaveChanges(); context.Paises.AddOrUpdate( p => p.Codigo, new Pais() { Codigo = "ES", Nombre = "España" }, new Pais() { Codigo = "FR", Nombre = "Francia" }); context.SaveChanges(); context.Comunidades.AddOrUpdate( c => c.Codigo, new Comunidad() { Codigo = "ES-AR", Nombre = "Aragón", PaisId = context.Paises.Local.Single(p => p.Codigo == "ES").PaisId }, new Comunidad() { Codigo = "ES-VC", Nombre = "Comunidad Valenciana", PaisId = context.Paises.Local.Single(p => p.Codigo == "ES").PaisId }, new Comunidad() { Codigo = "FR-11", Nombre = "Île-de-France", PaisId = context.Paises.Local.Single(p => p.Codigo == "FR").PaisId }, new Comunidad() { Codigo = "ES-CL", Nombre = "Castilla y León", PaisId = context.Paises.Local.Single(p => p.Codigo == "ES").PaisId }); context.SaveChanges(); context.Provincias.AddOrUpdate( p => p.Codigo, new Provincia() { Codigo = "ES-CS", Nombre = "Castellón", ComunidadId = context.Comunidades.Local.Single(c => c.Codigo == "ES-VC").ComunidadId }, new Provincia() { Codigo = "FR-75", Nombre = "París", ComunidadId = context.Comunidades.Local.Single(c => c.Codigo == "FR-11").ComunidadId }, new Provincia() { Codigo = "ES-TE", Nombre = "Teruel", ComunidadId = context.Comunidades.Local.Single(c => c.Codigo == "ES-AR").ComunidadId }, new Provincia() { Codigo = "ES-V", Nombre = "Valencia", ComunidadId = context.Comunidades.Local.Single(c => c.Codigo == "ES-VC").ComunidadId }, new Provincia() { Codigo = "ES-Z", Nombre = "Zaragoza", ComunidadId = context.Comunidades.Local.Single(c => c.Codigo == "ES-AR").ComunidadId }, new Provincia() { Codigo = "ES-SA", Nombre = "Salamanca", ComunidadId = context.Comunidades.Local.Single(c => c.Codigo == "ES-CL").ComunidadId }); context.SaveChanges(); context.Municipios.AddOrUpdate( m => m.CodigoPostal, new Municipio() { CodigoPostal = "44500", Nombre = "Andorra", Latitud = "40.9766", Longitud = "-0.4472", ProvinciaId = context.Provincias.Local.Single(p => p.Codigo == "ES-TE").ProvinciaId }, new Municipio() { CodigoPostal = "44600", Nombre = "Alcañiz", Latitud = "41.05", Longitud = "-0.1333", ProvinciaId = context.Provincias.Local.Single(p => p.Codigo == "ES-TE").ProvinciaId }, new Municipio() { CodigoPostal = "12449", Nombre = "Benafer", Latitud = "39.9333", Longitud = "-0.5667", ProvinciaId = context.Provincias.Local.Single(p => p.Codigo == "ES-CS").ProvinciaId }, new Municipio() { CodigoPostal = "46100", Nombre = "Burjassot", Latitud = "39.5167", Longitud = "-0.4167", ProvinciaId = context.Provincias.Local.Single(p => p.Codigo == "ES-V").ProvinciaId }, new Municipio() { CodigoPostal = "46176", Nombre = "Chelva", Latitud = "39.7493", Longitud = "-0.9968", ProvinciaId = context.Provincias.Local.Single(p => p.Codigo == "ES-V").ProvinciaId }, new Municipio() { CodigoPostal = "50376", Nombre = "Cubel", Latitud = "41.096", Longitud = "-1.6373", ProvinciaId = context.Provincias.Local.Single(p => p.Codigo == "ES-Z").ProvinciaId }, new Municipio() { CodigoPostal = "12122", Nombre = "Figueroles", Latitud = "40.1167", Longitud = "-0.2333", ProvinciaId = context.Provincias.Local.Single(p => p.Codigo == "ES-CS").ProvinciaId }, new Municipio() { CodigoPostal = "75000", Nombre = "Paris", Latitud = "48.8534", Longitud = "2.3488", ProvinciaId = context.Provincias.Local.Single(p => p.Codigo == "FR-75").ProvinciaId }, new Municipio() { CodigoPostal = "75020", Nombre = "Paris", Latitud = "48.8534", Longitud = "2.3488", ProvinciaId = context.Provincias.Local.Single(p => p.Codigo == "FR-75").ProvinciaId }, new Municipio() { CodigoPostal = "44003", Nombre = "Teruel", Latitud = "40.3456", Longitud = "-1.1065", ProvinciaId = context.Provincias.Local.Single(p => p.Codigo == "ES-TE").ProvinciaId }, new Municipio() { CodigoPostal = "50580", Nombre = "Vera De Moncayo", Latitud = "41.824", Longitud = "-1.688", ProvinciaId = context.Provincias.Local.Single(p => p.Codigo == "ES-Z").ProvinciaId }, new Municipio() { CodigoPostal = "37700", Nombre = "Béjar", Latitud = "40.1167", Longitud = "-0.2333", ProvinciaId = context.Provincias.Local.Single(p => p.Codigo == "ES-SA").ProvinciaId }); context.SaveChanges(); context.Clientes.AddOrUpdate( c => c.RazonSocial, new Cliente() { RazonSocial = "Justo Madera, S.L.", Nif = "B-44010101", Email = "*****@*****.**", TipoId = context.TiposClientes.Local.Single(tc => tc.Nombre == "TipoCliente 1").TipoClienteId, GrupoId = context.GruposClientes.Local.Single(gc => gc.Nombre == "GrupoCliente 1").GrupoClienteId, MunicipioId = context.Municipios.Local.Single(gc => gc.CodigoPostal == "44003").MunicipioId, Calle = "Ctra. Alcañiz, 60" }, new Cliente() { RazonSocial = "BinMaderas, S.L.", Nif = "B-50010101", Email = "*****@*****.**", TipoId = context.TiposClientes.Local.Single(tc => tc.Nombre == "TipoCliente 1").TipoClienteId, GrupoId = context.GruposClientes.Local.Single(gc => gc.Nombre == "GrupoCliente 2").GrupoClienteId, MunicipioId = context.Municipios.Local.Single(gc => gc.CodigoPostal == "44600").MunicipioId, Calle = "Calle Ábabol, 12" }); context.SaveChanges(); context.Proveedores.AddOrUpdate( p => p.RazonSocial, new Proveedor() { RazonSocial = "Maderas Gami, S.L.", Nif = "B-37381563", Email = "*****@*****.**", TipoId = context.TiposProveedores.Local.Single(tp => tp.Nombre == "Ecológico").TipoProveedorId, MunicipioId = context.Municipios.Local.Single(gc => gc.CodigoPostal == "37700").MunicipioId, Calle = "Paseo Santa Ana, 10" }, new Proveedor() { RazonSocial = "J Gorbe, S.L.", Nif = "B-44122562", Email = "*****@*****.**", TipoId = context.TiposProveedores.Local.Single(tp => tp.Nombre == "Puntual").TipoProveedorId, MunicipioId = context.Municipios.Local.Single(gc => gc.CodigoPostal == "44003").MunicipioId, Calle = "Polígono La Paz, 92" }); context.SaveChanges(); context.EstadosRecepciones.AddOrUpdate( sr => sr.Nombre, new EstadoRecepcion() { Nombre = "Disponible", Descripcion = "Las materias primas aún no se ha descargado" }, new EstadoRecepcion() { Nombre = "Aceptada", Descripcion = "Las materias primas se han descargado" }); context.SaveChanges(); context.SitiosRecepciones.AddOrUpdate( sr => sr.Nombre, new SitioRecepcion() { Nombre = "Sitio A", Descripcion = "Este es el Sitio A" }, new SitioRecepcion() { Nombre = "Sitio B", Descripcion = "Este es el Sitio A" }); context.SaveChanges(); context.HuecosRecepciones.AddOrUpdate( hr => hr.Nombre, new HuecoRecepcion() { Nombre = "A01", UnidadesTotales = 30, VolumenTotal = 20, SitioId = context.SitiosRecepciones.Local.Single(sr => sr.Nombre == "Sitio A").SitioRecepcionId }, new HuecoRecepcion() { Nombre = "A02", UnidadesTotales = 25, VolumenTotal = 15, SitioId = context.SitiosRecepciones.Local.Single(sr => sr.Nombre == "Sitio A").SitioRecepcionId }, new HuecoRecepcion() { Nombre = "A03", UnidadesTotales = 70, VolumenTotal = 50, SitioId = context.SitiosRecepciones.Local.Single(sr => sr.Nombre == "Sitio A").SitioRecepcionId }, new HuecoRecepcion() { Nombre = "A04", UnidadesTotales = 40, VolumenTotal = 50, SitioId = context.SitiosRecepciones.Local.Single(sr => sr.Nombre == "Sitio A").SitioRecepcionId }, new HuecoRecepcion() { Nombre = "A05", UnidadesTotales = 60, VolumenTotal = 50, SitioId = context.SitiosRecepciones.Local.Single(sr => sr.Nombre == "Sitio A").SitioRecepcionId }, new HuecoRecepcion() { Nombre = "B01", UnidadesTotales = 10, VolumenTotal = 5, SitioId = context.SitiosRecepciones.Local.Single(sr => sr.Nombre == "Sitio B").SitioRecepcionId }, new HuecoRecepcion() { Nombre = "B02", UnidadesTotales = 60, VolumenTotal = 50, SitioId = context.SitiosRecepciones.Local.Single(sr => sr.Nombre == "Sitio B").SitioRecepcionId }, new HuecoRecepcion() { Nombre = "B03", UnidadesTotales = 50, VolumenTotal = 40, SitioId = context.SitiosRecepciones.Local.Single(sr => sr.Nombre == "Sitio B").SitioRecepcionId }, new HuecoRecepcion() { Nombre = "B04", UnidadesTotales = 60, VolumenTotal = 50, SitioId = context.SitiosRecepciones.Local.Single(sr => sr.Nombre == "Sitio B").SitioRecepcionId }, new HuecoRecepcion() { Nombre = "B05", UnidadesTotales = 80, VolumenTotal = 40, SitioId = context.SitiosRecepciones.Local.Single(sr => sr.Nombre == "Sitio B").SitioRecepcionId }); context.SaveChanges(); context.Procedencias.AddOrUpdate( tc => tc.Nombre, new Procedencia() { Nombre = "Monte Soria", Descripcion = "Lado norte" }, new Procedencia() { Nombre = "Dehesa del Moncayo", Descripcion = "Lado sur" }); context.SaveChanges(); context.Recepciones.AddOrUpdate( rc => rc.NumeroAlbaran, new Recepcion() { NumeroAlbaran = "A-0100B", FechaRecepcion = new DateTime(2017, 02, 10, 10, 15, 0), ProveedorId = context.Proveedores.Local.Single(p => p.ProveedorId == 1).ProveedorId, EstadoId = context.EstadosRecepciones.Local.Single(e => e.EstadoRecepcionId == 1).EstadoRecepcionId }, new Recepcion() { NumeroAlbaran = "A-010VB", FechaRecepcion = new DateTime(2017, 01, 20, 12, 16, 0), ProveedorId = context.Proveedores.Local.Single(p => p.ProveedorId == 2).ProveedorId, EstadoId = context.EstadosRecepciones.Local.Single(e => e.EstadoRecepcionId == 2).EstadoRecepcionId }); context.SaveChanges(); context.GruposMateriasPrimas.AddOrUpdate( gmp => gmp.Nombre, new GrupoMateriaPrima() { Nombre = "Ramas", Descripcion = "Ramas de árboles" }, new GrupoMateriaPrima() { Nombre = "Troncos", Descripcion = "Troncos de árboles" }); context.SaveChanges(); context.TiposMateriasPrimas.AddOrUpdate( tmp => tmp.Nombre, new TipoMateriaPrima() { Nombre = "Ramas de abeto", Descripcion = "Abetos de 300 años", MedidoEnUnidades = true, GrupoId = context.GruposMateriasPrimas.Local.Single(gc => gc.Nombre == "Ramas").GrupoMateriaPrimaId }, new TipoMateriaPrima() { Nombre = "Tronco de roble", Descripcion = "Robles de 5 m altura", MedidoEnUnidades = true, GrupoId = context.GruposMateriasPrimas.Local.Single(gc => gc.Nombre == "Troncos").GrupoMateriaPrimaId }); context.SaveChanges(); context.MateriasPrimas.AddOrUpdate( mp => mp.MateriaPrimaId, new MateriaPrima() { MateriaPrimaId = 1, TipoId = context.TiposMateriasPrimas.Local.Single(tmp => tmp.Nombre == "Ramas de abeto").TipoMateriaPrimaId, Unidades = 35, Observaciones = "En buen estado", RecepcionId = context.Recepciones.Local.Single(r => r.NumeroAlbaran == "A-0100B").RecepcionId, ProcedenciaId = context.Procedencias.Local.Single(p => p.Nombre == "Monte Soria").ProcedenciaId, }, new MateriaPrima() { MateriaPrimaId = 2, TipoId = context.TiposMateriasPrimas.Local.Single(tmp => tmp.Nombre == "Ramas de abeto").TipoMateriaPrimaId, Unidades = 107, Observaciones = "Buena conservación", RecepcionId = context.Recepciones.Local.Single(r => r.NumeroAlbaran == "A-0100B").RecepcionId, ProcedenciaId = context.Procedencias.Local.Single(p => p.Nombre == "Monte Soria").ProcedenciaId, }, new MateriaPrima() { MateriaPrimaId = 3, TipoId = context.TiposMateriasPrimas.Local.Single(tmp => tmp.Nombre == "Tronco de roble").TipoMateriaPrimaId, Unidades = 48, Observaciones = "Dura y pesada", RecepcionId = context.Recepciones.Local.Single(r => r.NumeroAlbaran == "A-010VB").RecepcionId, ProcedenciaId = context.Procedencias.Local.Single(p => p.Nombre == "Dehesa del Moncayo").ProcedenciaId, }); context.SaveChanges(); context.HistorialHuecosRecepciones.AddOrUpdate( hhr => hhr.HistorialHuecoRecepcionId, new HistorialHuecoRecepcion() { HistorialHuecoRecepcionId = 1, Unidades = 30, MateriaPrimaId = context.MateriasPrimas.Local.Single(mp => mp.Codigo == "1000000001").MateriaPrimaId, HuecoRecepcionId = context.HuecosRecepciones.Local.Single(hr => hr.Nombre == "A01").HuecoRecepcionId }, new HistorialHuecoRecepcion() { HistorialHuecoRecepcionId = 2, Unidades = 5, MateriaPrimaId = context.MateriasPrimas.Local.Single(mp => mp.Codigo == "1000000001").MateriaPrimaId, HuecoRecepcionId = context.HuecosRecepciones.Local.Single(hr => hr.Nombre == "B01").HuecoRecepcionId }, new HistorialHuecoRecepcion() { HistorialHuecoRecepcionId = 3, Unidades = 25, MateriaPrimaId = context.MateriasPrimas.Local.Single(mp => mp.Codigo == "1000000002").MateriaPrimaId, HuecoRecepcionId = context.HuecosRecepciones.Local.Single(hr => hr.Nombre == "A02").HuecoRecepcionId }, new HistorialHuecoRecepcion() { HistorialHuecoRecepcionId = 4, Unidades = 50, MateriaPrimaId = context.MateriasPrimas.Local.Single(mp => mp.Codigo == "1000000002").MateriaPrimaId, HuecoRecepcionId = context.HuecosRecepciones.Local.Single(hr => hr.Nombre == "B03").HuecoRecepcionId }, new HistorialHuecoRecepcion() { HistorialHuecoRecepcionId = 5, Unidades = 32, MateriaPrimaId = context.MateriasPrimas.Local.Single(mp => mp.Codigo == "1000000002").MateriaPrimaId, HuecoRecepcionId = context.HuecosRecepciones.Local.Single(hr => hr.Nombre == "B04").HuecoRecepcionId }, new HistorialHuecoRecepcion() { HistorialHuecoRecepcionId = 6, Unidades = 48, MateriaPrimaId = context.MateriasPrimas.Local.Single(mp => mp.Codigo == "1000000003").MateriaPrimaId, HuecoRecepcionId = context.HuecosRecepciones.Local.Single(hr => hr.Nombre == "B02").HuecoRecepcionId }); context.SaveChanges(); context.EstadosElaboraciones.AddOrUpdate( ee => ee.Nombre, new EstadoElaboracion() { Nombre = "Nueva", Descripcion = "Se ha añadido la cantidad de cada producto terminado a elaborar" }, new EstadoElaboracion() { Nombre = "Procesando", Descripcion = "Los productos terminados se están elaborando" }, new EstadoElaboracion() { Nombre = "Finalizada", Descripcion = "Los productos terminados se han elaborado" }); context.SaveChanges(); context.GruposProductosTerminados.AddOrUpdate( gpt => gpt.Nombre, new GrupoProductoTerminado() { Nombre = "Pellets", Descripcion = "Pellet de muy buena calidad" }, new GrupoProductoTerminado() { Nombre = "Tablones", Descripcion = "Tablón alargado" }); context.SaveChanges(); context.TiposProductosTerminados.AddOrUpdate( tpt => tpt.Nombre, new TipoProductoTerminado() { Nombre = "Pellet abeto", Tamano = "0.75", Humedad = 75, MedidoEnVolumen = true, GrupoId = context.GruposProductosTerminados.Local.Single(gi => gi.Nombre == "Pellets").GrupoProductoTerminadoId }, new TipoProductoTerminado() { Nombre = "Tablón roble", Tamano = "0.80", Humedad = 85, MedidoEnUnidades = true, GrupoId = context.GruposProductosTerminados.Local.Single(gi => gi.Nombre == "Tablones").GrupoProductoTerminadoId }); context.SaveChanges(); context.OrdenesElaboraciones.AddOrUpdate( oe => oe.OrdenElaboracionId, new OrdenElaboracion() { OrdenElaboracionId = 1, Descripcion = "Fallo de máquina", EstadoElaboracionId = context.EstadosElaboraciones.Local.Single(ee => ee.Nombre == "Procesando").EstadoElaboracionId }, new OrdenElaboracion() { OrdenElaboracionId = 2, Descripcion = "Según lo previsto", EstadoElaboracionId = context.EstadosElaboraciones.Local.Single(ee => ee.Nombre == "Finalizada").EstadoElaboracionId }); context.SaveChanges(); context.ProductosTerminados.AddOrUpdate( pt => pt.ProductoTerminadoId, new ProductoTerminado() { ProductoTerminadoId = 1, Unidades = 40, Observaciones = "Baja humedad", TipoId = context.TiposProductosTerminados.Local.Single(ti => ti.Nombre == "Tablón roble").TipoProductoTerminadoId, OrdenId = context.OrdenesElaboraciones.Local.Single(oe => oe.OrdenElaboracionId == 1).OrdenElaboracionId }, new ProductoTerminado() { ProductoTerminadoId = 2, Volumen = 10, Observaciones = "Muy buena calidad", TipoId = context.TiposProductosTerminados.Local.Single(ti => ti.Nombre == "Pellet abeto").TipoProductoTerminadoId, OrdenId = context.OrdenesElaboraciones.Local.Single(oe => oe.OrdenElaboracionId == 1).OrdenElaboracionId }); context.SaveChanges(); context.ProductosTerminadosComposiciones.AddOrUpdate( ptc => ptc.ProductoTerminadoComposicionId, new ProductoTerminadoComposicion() { ProductoTerminadoComposicionId = 1, Unidades = 30, HistorialHuecoId = context.HistorialHuecosRecepciones.Local.Single(hh => hh.HistorialHuecoRecepcionId == 1).HistorialHuecoRecepcionId, ProductoId = context.ProductosTerminados.Local.Single(p => p.Codigo == "2000000001").ProductoTerminadoId }, new ProductoTerminadoComposicion() { ProductoTerminadoComposicionId = 2, Unidades = 15, HistorialHuecoId = context.HistorialHuecosRecepciones.Local.Single(hh => hh.HistorialHuecoRecepcionId == 3).HistorialHuecoRecepcionId, ProductoId = context.ProductosTerminados.Local.Single(p => p.Codigo == "2000000001").ProductoTerminadoId }, new ProductoTerminadoComposicion() { ProductoTerminadoComposicionId = 3, Unidades = 10, HistorialHuecoId = context.HistorialHuecosRecepciones.Local.Single(hh => hh.HistorialHuecoRecepcionId == 6).HistorialHuecoRecepcionId, ProductoId = context.ProductosTerminados.Local.Single(p => p.Codigo == "2000000001").ProductoTerminadoId }, new ProductoTerminadoComposicion() { ProductoTerminadoComposicionId = 4, Unidades = 5, HistorialHuecoId = context.HistorialHuecosRecepciones.Local.Single(hh => hh.HistorialHuecoRecepcionId == 3).HistorialHuecoRecepcionId, ProductoId = context.ProductosTerminados.Local.Single(p => p.Codigo == "2000000002").ProductoTerminadoId }); context.SaveChanges(); context.SitiosAlmacenajes.AddOrUpdate( sa => sa.Nombre, new SitioAlmacenaje() { Nombre = "Sitio A", Descripcion = "Este es el Sitio A" }, new SitioAlmacenaje() { Nombre = "Sitio B", Descripcion = "Este es el Sitio A" }); context.SaveChanges(); context.HuecosAlmacenajes.AddOrUpdate( ha => ha.Nombre, new HuecoAlmacenaje() { Nombre = "A01", UnidadesTotales = 30, VolumenTotal = 20, SitioId = context.SitiosAlmacenajes.Local.Single(sa => sa.Nombre == "Sitio A").SitioAlmacenajeId }, new HuecoAlmacenaje() { Nombre = "A02", UnidadesTotales = 25, VolumenTotal = 15, SitioId = context.SitiosAlmacenajes.Local.Single(sa => sa.Nombre == "Sitio A").SitioAlmacenajeId }, new HuecoAlmacenaje() { Nombre = "A03", UnidadesTotales = 60, VolumenTotal = 50, SitioId = context.SitiosAlmacenajes.Local.Single(sa => sa.Nombre == "Sitio A").SitioAlmacenajeId }, new HuecoAlmacenaje() { Nombre = "B01", UnidadesTotales = 10, VolumenTotal = 5, SitioId = context.SitiosAlmacenajes.Local.Single(sa => sa.Nombre == "Sitio B").SitioAlmacenajeId }, new HuecoAlmacenaje() { Nombre = "B02", UnidadesTotales = 60, VolumenTotal = 50, SitioId = context.SitiosAlmacenajes.Local.Single(sa => sa.Nombre == "Sitio B").SitioAlmacenajeId }, new HuecoAlmacenaje() { Nombre = "B03", UnidadesTotales = 50, VolumenTotal = 40, SitioId = context.SitiosAlmacenajes.Local.Single(sa => sa.Nombre == "Sitio B").SitioAlmacenajeId }); context.SaveChanges(); context.HistorialHuecosAlmacenajes.AddOrUpdate( hha => hha.HistorialHuecoAlmacenajeId, new HistorialHuecoAlmacenaje() { HistorialHuecoAlmacenajeId = 1, Unidades = 25, ProductoTerminadoId = context.ProductosTerminados.Local.Single(pt => pt.Codigo == "2000000001").ProductoTerminadoId, HuecoAlmacenajeId = context.HuecosAlmacenajes.Local.Single(ha => ha.Nombre == "A02").HuecoAlmacenajeId }, new HistorialHuecoAlmacenaje() { HistorialHuecoAlmacenajeId = 2, Unidades = 10, ProductoTerminadoId = context.ProductosTerminados.Local.Single(pt => pt.Codigo == "2000000001").ProductoTerminadoId, HuecoAlmacenajeId = context.HuecosAlmacenajes.Local.Single(ha => ha.Nombre == "B01").HuecoAlmacenajeId }, new HistorialHuecoAlmacenaje() { HistorialHuecoAlmacenajeId = 3, Unidades = 5, ProductoTerminadoId = context.ProductosTerminados.Local.Single(pt => pt.Codigo == "2000000001").ProductoTerminadoId, HuecoAlmacenajeId = context.HuecosAlmacenajes.Local.Single(ha => ha.Nombre == "B02").HuecoAlmacenajeId }, new HistorialHuecoAlmacenaje() { HistorialHuecoAlmacenajeId = 4, Volumen = 10, ProductoTerminadoId = context.ProductosTerminados.Local.Single(pt => pt.Codigo == "2000000002").ProductoTerminadoId, HuecoAlmacenajeId = context.HuecosAlmacenajes.Local.Single(ha => ha.Nombre == "B03").HuecoAlmacenajeId }); context.SaveChanges(); context.EstadosPedidos.AddOrUpdate( ep => ep.Nombre, new EstadoPedido() { Nombre = "Nuevo", Descripcion = "Cuando un pedido nuevo se realiza su estado podría estar pendiente." }, new EstadoPedido() { Nombre = "Preparar", Descripcion = "Una vez el pago ha sido confirmado el estado podría ser puesto a preparando." }, new EstadoPedido() { Nombre = "Facturar", Descripcion = "Una vez el pago ha sido confirmado el estado podría ser puesto a facturar." }, new EstadoPedido() { Nombre = "Finalizado", Descripcion = "Si el pedido ha llegado a su destino puede ser puesto como completo o terminado." }); context.SaveChanges(); context.Picking.AddOrUpdate( sr => sr.Nombre, new Picking() { Nombre = "P01", VolumenTotal = 20, VolumenRestante = 15 }, new Picking() { Nombre = "P02", VolumenTotal = 45, VolumenRestante = 10 }); context.SaveChanges(); context.TiposProductosEnvasados.AddOrUpdate( tpe => tpe.Nombre, new TipoProductoEnvasado() { Nombre = "Saco", Descripcion = "Saco medido en metros cúbicos.", MedidoEnVolumen = true }, new TipoProductoEnvasado() { Nombre = "Saca", Descripcion = "Saca medida en metros cúbicos.", MedidoEnVolumen = true }, new TipoProductoEnvasado() { Nombre = "Paquete 10", Descripcion = "Paquete con 10 unidades.", MedidoEnUnidades = true }, new TipoProductoEnvasado() { Nombre = "Paquete 20", Descripcion = "Paquete con 20 unidades.", MedidoEnUnidades = true }); context.SaveChanges(); }