Exemplo n.º 1
0
        public FormMateriaPrima(BiomasaEUPTContext context, MateriaPrima materiaPrima) : this(context)
        {
            gbTitulo.Header = "Editar Materia Prima";

            cbGruposMateriasPrimas.SelectedValue = materiaPrima.TipoMateriaPrima.GrupoMateriaPrima.GrupoMateriaPrimaId;
            cbTiposMateriasPrimas.SelectedValue  = materiaPrima.TipoMateriaPrima.TipoMateriaPrimaId;
            cbProcedencias.SelectedValue         = materiaPrima.Procedencia.ProcedenciaId;
            viewModel.FechaBaja     = materiaPrima.FechaBaja;
            viewModel.HoraBaja      = materiaPrima.FechaBaja;
            viewModel.Observaciones = materiaPrima.Observaciones;
            if (materiaPrima.TipoMateriaPrima.MedidoEnUnidades == true)
            {
                viewModel.Cantidad = materiaPrima.Unidades.Value;
            }
            else
            {
                viewModel.Cantidad = materiaPrima.Volumen.Value;
            }
            viewModel.HistorialHuecosRecepciones = new ObservableCollection <HistorialHuecoRecepcion>(context.HistorialHuecosRecepciones.Where(hhr => hhr.MateriaPrimaId == materiaPrima.MateriaPrimaId).Include(hhr => hhr.HuecoRecepcion).ToList());
            CalcularCantidades();

            // Si ya se han fabricado algún producto terminado con dicha materia prima
            // entonces los controles estarán deshabilitados
            if (context.ProductosTerminadosComposiciones.Any(ptc => ptc.HistorialHuecoRecepcion.MateriaPrimaId == materiaPrima.MateriaPrimaId))
            {
                cbGruposMateriasPrimas.IsEnabled = false;
                cbTiposMateriasPrimas.IsEnabled  = false;
                cbSitiosRecepciones.IsEnabled    = false;
                lbHuecosRecepciones.IsEnabled    = false;
                tbCantidad.IsEnabled             = false;
                wpHuecosRecepciones.IsEnabled    = false;
            }
        }
Exemplo n.º 2
0
        private async void AnadirGrupo()
        {
            var formGrupo = new FormTipo("Nuevo Grupo");

            formGrupo.vNombreUnico.Atributo = "Nombre";

            // Pestaña Clientes
            if (ViewModel is TabClientesViewModel)
            {
                formGrupo.vNombreUnico.Tipo = "GrupoCliente";
            }

            if ((bool)await DialogHost.Show(formGrupo, "RootDialog"))
            {
                using (var context = new BiomasaEUPTContext())
                {
                    if (ViewModel is TabClientesViewModel)
                    {
                        context.GruposClientes.Add(new GrupoCliente()
                        {
                            Nombre = formGrupo.Nombre, Descripcion = formGrupo.Descripcion
                        });
                    }

                    context.SaveChanges();
                }
                CargarFiltro();
            }
        }
Exemplo n.º 3
0
 public FormMateriaPrima(BiomasaEUPTContext context)
 {
     InitializeComponent();
     viewModel    = new FormMateriaPrimaViewModel();
     DataContext  = viewModel;
     this.context = context;
 }
Exemplo n.º 4
0
        private async void BorrarGrupo()
        {
            var mensajeConf = new MensajeConfirmacion();

            // Pestaña Clientes
            if (ViewModel is TabClientesViewModel)
            {
                var grupoSeleccionado = GrupoSeleccionado as GrupoCliente;
                mensajeConf.Mensaje = "¿Está seguro de que desea borrar el grupo " + grupoSeleccionado.Nombre + "?";
                if ((bool)await DialogHost.Show(mensajeConf, "RootDialog"))
                {
                    using (var context = new BiomasaEUPTContext())
                    {
                        if (!context.GruposClientes.Any(gc => gc.GrupoClienteId == grupoSeleccionado.GrupoClienteId))
                        {
                            var grupo = context.GruposClientes.Where(gc => gc.GrupoClienteId == grupoSeleccionado.GrupoClienteId).First();
                            context.GruposClientes.Remove(grupo);
                            context.SaveChanges();
                            CargarFiltro();
                        }
                        else
                        {
                            await DialogHost.Show(new MensajeInformacion("No puede borrar el grupo debido a que está en uso."), "RootDialog");
                        }
                    }
                }
            }
        }
Exemplo n.º 5
0
 public FormPedidoLinea(BiomasaEUPTContext context)
 {
     InitializeComponent();
     viewModel    = new FormPedidoLineaViewModel();
     DataContext  = viewModel;
     this.context = context;
 }
Exemplo n.º 6
0
        void Municipios(BiomasaEUPTContext context)
        {
            context.Configuration.AutoDetectChangesEnabled = false;
            context.Provincias.Load();
            var    municipios   = new List <Municipio>();
            string resourceName = "BiomasaEUPT.Migrations.DatosSeed.SeedMunicipios.csv";

            using (Stream stream = assembly.GetManifestResourceStream(resourceName))
            {
                using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
                {
                    CsvReader csvReader = new CsvReader(reader);
                    csvReader.Configuration.WillThrowOnMissingField = false;
                    csvReader.Configuration.Delimiter = ";";
                    while (csvReader.Read())
                    {
                        var municipio       = csvReader.GetRecord <Municipio>();
                        var codigoProvincia = csvReader.GetField <string>("CodigoProvincia");
                        municipio.Provincia = context.Provincias.Local.Single(c => c.Codigo == codigoProvincia);
                        municipios.Add(municipio);
                        //  context.Municipios.AddOrUpdate(p => p.MunicipioId, municipio);
                    }
                }
            }

            int cantidad = 2500;

            for (int i = 0; i < municipios.Count; i += cantidad)
            {
                var listaMunicipios = municipios.GetRange(i, Math.Min(cantidad, municipios.Count - i));
                context.Municipios.AddOrUpdate(p => p.MunicipioId, listaMunicipios.ToArray());
                context.SaveChanges();
            }
        }
Exemplo n.º 7
0
        private async void ModificarGrupo()
        {
            var formGrupo = new FormTipo("Editar Grupo");

            formGrupo.vNombreUnico.Atributo = "Nombre";

            // Pestaña Clientes
            if (ViewModel is TabClientesViewModel)
            {
                var grupoSeleccionado = GrupoSeleccionado as GrupoCliente;
                formGrupo.Nombre      = grupoSeleccionado.Nombre;
                formGrupo.Descripcion = grupoSeleccionado.Descripcion;
                var nombreViejo = formGrupo.Nombre;
                formGrupo.vNombreUnico.Tipo         = "GrupoCliente";
                formGrupo.vNombreUnico.NombreActual = grupoSeleccionado.Nombre;
                if ((bool)await DialogHost.Show(formGrupo, "RootDialog"))
                {
                    grupoSeleccionado.Nombre      = formGrupo.Nombre;
                    grupoSeleccionado.Descripcion = formGrupo.Descripcion;
                    using (var context = new BiomasaEUPTContext())
                    {
                        var grupoCliente = context.GruposClientes.Single(gc => gc.Nombre == nombreViejo);
                        grupoCliente.Nombre      = formGrupo.Nombre;
                        grupoCliente.Descripcion = formGrupo.Descripcion;
                        context.SaveChanges();
                    }
                    CargarFiltro();
                }
            }
        }
        public FormProductoEnvasado(BiomasaEUPTContext context, ProductoEnvasado productoEnvasado) : this(context)
        {
            gbTitulo.Header = "Editar Producto Envasado";

            cbGruposProductosEnvasados.SelectedValue = productoEnvasado.TipoProductoEnvasado.GrupoProductoEnvasado.GrupoProductoEnvasadoId;
            cbTiposProductosEnvasados.SelectedValue  = productoEnvasado.TipoProductoEnvasado.TipoProductoEnvasadoId;
            //cbGruposMateriasPrimas.SelectedValue = productoTerminado.TipoMateriaPrima.GrupoMateriaPrima.GrupoMateriaPrimaId;
            //cbTiposMateriasPrimas.SelectedValue = productoTerminado.TipoMateriaPrima.TipoMateriaPrimaId;

            viewModel.Observaciones = productoEnvasado.Observaciones;
            if (productoEnvasado.TipoProductoEnvasado.MedidoEnUnidades == true)
            {
                viewModel.Cantidad = productoEnvasado.Unidades.Value;
            }
            else
            {
                viewModel.Cantidad = productoEnvasado.Volumen.Value;
            }
            viewModel.ProductosEnvasadosComposiciones = new ObservableCollection <ProductoEnvasadoComposicion>(context.ProductosEnvasadosComposiciones.Where(ptc => ptc.ProductoId == productoEnvasado.ProductoEnvasadoId).ToList());
            CalcularCantidades();

            // Si ya se han envasado algún producto envasado con dicho producto terminado entonces los controles estarán deshabilitados
            if (context.ProductosEnvasadosComposiciones.Any(pec => pec.ProductoEnvasado.ProductoEnvasadoId == productoEnvasado.ProductoEnvasadoId))
            {
                cbGruposProductosTerminados.IsEnabled = false;
                cbTiposProductosTerminados.IsEnabled  = false;
                cbPicking.IsEnabled  = false;
                tbCantidad.IsEnabled = false;
                wpProductosEnvasadosComposiciones.IsEnabled = false;
            }
        }
 public FormProductoEnvasado(BiomasaEUPTContext context)
 {
     InitializeComponent();
     viewModel    = new FormProductoEnvasadoViewModel();
     DataContext  = viewModel;
     this.context = context;
 }
Exemplo n.º 10
0
        public Trazabilidad()
        {
            context = new BiomasaEUPTContext();

            // https://msdn.microsoft.com/en-us/library/jj574232(v=vs.113).aspx
            context.Configuration.LazyLoadingEnabled = false;
        }
Exemplo n.º 11
0
 public FormTipoUsuarioViewModel(TipoUsuario tipoUsuario, BiomasaEUPTContext context) : this()
 {
     Titulo          = "Editar Tipo de Usuario";
     Nombre          = tipoUsuario.Nombre;
     Descripcion     = tipoUsuario.Descripcion;
     Permisos        = new ObservableCollection <Permiso>(tipoUsuario.Permisos.ToList());
     TabsView.Filter = FiltroTabs;
 }
Exemplo n.º 12
0
 private void RefrescarUsuarios()
 {
     // Hay que volver a instanciar un nuevo context ya que sino no se pueden refrescar los datos
     // debido a que se guardardan en una cache
     context.Dispose();
     context = new BiomasaEUPTContext();
     CargarUsuarios();
 }
Exemplo n.º 13
0
 public FormRecepcion(BiomasaEUPTContext context)
 {
     InitializeComponent();
     DataContext  = this;
     Fecha        = DateTime.Now;
     Hora         = DateTime.Now;
     this.context = context;
 }
Exemplo n.º 14
0
 public FormEnvasado(BiomasaEUPTContext context)
 {
     InitializeComponent();
     DataContext  = this;
     Descripcion  = this.Descripcion;
     this.context = context;
     TiposProductosEnvasadosDisponibles = new ObservableCollection <TipoProductoEnvasado>();
     ProductosEnvasados = new ObservableCollection <ProductoEnvasado>();
 }
Exemplo n.º 15
0
 public FormPedido(BiomasaEUPTContext context)
 {
     InitializeComponent();
     viewModel    = new FormPedidoViewModel();
     DataContext  = viewModel;
     this.context = context;
     FechaPedido  = DateTime.Now;
     HoraPedido   = DateTime.Now;
 }
Exemplo n.º 16
0
 public FormPedidoDetalle(BiomasaEUPTContext context, PedidoLinea pedidoLinea)
 {
     InitializeComponent();
     viewModel = new FormPedidoDetalleViewModel()
     {
         PedidoLinea = pedidoLinea
     };
     DataContext = viewModel;
 }
Exemplo n.º 17
0
        public SeedCodigosPostales(BiomasaEUPTContext context)
        {
            this.context = context;
            assembly     = Assembly.GetExecutingAssembly();

            // Paises(context);
            // Comunidades(context);
            // Provincias(context);
            // Municipios(context);
        }
Exemplo n.º 18
0
 public Usuario IniciarSesion(String usuario, String hashContrasena)
 {
     using (var context = new BiomasaEUPTContext())
     {
         return(context.Usuarios
                .Include("TipoUsuario.Permisos")
                .FirstOrDefault(u => u.Nombre == usuario && u.Contrasena == hashContrasena &&
                                u.Baneado == false));
     }
 }
Exemplo n.º 19
0
        private async void ModificarTipo()
        {
            var formTipo = new FormTipo("Editar Tipo");

            formTipo.vNombreUnico.Atributo = "Nombre";

            // Pestaña Clientes
            if (ViewModel is TabClientesViewModel)
            {
                var tipoSeleccionado = TipoSeleccionado as TipoCliente;
                formTipo.Nombre      = tipoSeleccionado.Nombre;
                formTipo.Descripcion = tipoSeleccionado.Descripcion;
                var nombreViejo = formTipo.Nombre;
                formTipo.vNombreUnico.Tipo         = "TipoCliente";
                formTipo.vNombreUnico.NombreActual = tipoSeleccionado.Nombre;
                if ((bool)await DialogHost.Show(formTipo, "RootDialog"))
                {
                    tipoSeleccionado.Nombre      = formTipo.Nombre;
                    tipoSeleccionado.Descripcion = formTipo.Descripcion;
                    using (var context = new BiomasaEUPTContext())
                    {
                        var tipoCliente = context.TiposClientes.Single(tc => tc.Nombre == nombreViejo);
                        tipoCliente.Nombre      = formTipo.Nombre;
                        tipoCliente.Descripcion = formTipo.Descripcion;
                        context.SaveChanges();
                    }
                    CargarFiltro();
                }
            }

            // Pestaña Proveedores
            else if (ViewModel is TabProveedoresViewModel)
            {
                var tipoSeleccionado = TipoSeleccionado as TipoProveedor;
                formTipo.Nombre      = tipoSeleccionado.Nombre;
                formTipo.Descripcion = tipoSeleccionado.Descripcion;
                var nombreViejo = formTipo.Nombre;
                formTipo.vNombreUnico.Tipo         = "TipoProveedor";
                formTipo.vNombreUnico.NombreActual = tipoSeleccionado.Nombre;
                if ((bool)await DialogHost.Show(formTipo, "RootDialog"))
                {
                    tipoSeleccionado.Nombre      = formTipo.Nombre;
                    tipoSeleccionado.Descripcion = formTipo.Descripcion;
                    using (var context = new BiomasaEUPTContext())
                    {
                        var tipoProveedor = context.TiposProveedores.Single(tc => tc.Nombre == nombreViejo);
                        tipoProveedor.Nombre      = formTipo.Nombre;
                        tipoProveedor.Descripcion = formTipo.Descripcion;
                        context.SaveChanges();
                    }
                    CargarFiltro();
                }
            }
        }
Exemplo n.º 20
0
 public override void Inicializar()
 {
     using (new CursorEspera())
     {
         IndiceMasOpciones = 0;
         context           = new BiomasaEUPTContext();
         CargarOrdenesElaboraciones();
         PaginacionViewModel.GetItemsTotales = () => { return(context.OrdenesElaboraciones.Count()); };
         PaginacionViewModel.ActualizarContadores();
         PaginacionViewModel.CargarItems = CargarOrdenesElaboraciones;
     }
 }
Exemplo n.º 21
0
        private async void BorrarTipo()
        {
            var mensajeConf = new MensajeConfirmacion();

            // Pestaña Clientes
            if (ViewModel is TabClientesViewModel)
            {
                var tipoSeleccionado = TipoSeleccionado as TipoCliente;
                mensajeConf.Mensaje = "¿Está seguro de que desea borrar el tipo " + tipoSeleccionado.Nombre + "?";
                if ((bool)await DialogHost.Show(mensajeConf, "RootDialog"))
                {
                    using (var context = new BiomasaEUPTContext())
                    {
                        if (!context.Clientes.Any(t => t.TipoId == tipoSeleccionado.TipoClienteId))
                        {
                            var tipoABorrar = context.TiposClientes.Single(tc => tc.TipoClienteId == tipoSeleccionado.TipoClienteId);
                            context.TiposClientes.Remove(tipoABorrar);
                            context.SaveChanges();
                            CargarFiltro();
                        }
                        else
                        {
                            await DialogHost.Show(new MensajeInformacion("No puede borrar el tipo debido a que está en uso."), "RootDialog");
                        }
                    }
                }
            }

            // Pestaña Proveedores
            else if (ViewModel is TabProveedoresViewModel)
            {
                var tipoSeleccionado = TipoSeleccionado as TipoProveedor;
                mensajeConf.Mensaje = "¿Está seguro de que desea borrar el tipo " + tipoSeleccionado.Nombre + "?";
                if ((bool)await DialogHost.Show(mensajeConf, "RootDialog"))
                {
                    using (var context = new BiomasaEUPTContext())
                    {
                        if (!context.Proveedores.Any(t => t.TipoId == tipoSeleccionado.TipoProveedorId))
                        {
                            var tipoABorrar = context.TiposProveedores.Single(tc => tc.TipoProveedorId == tipoSeleccionado.TipoProveedorId);
                            context.TiposProveedores.Remove(tipoABorrar);
                            context.SaveChanges();
                            CargarFiltro();
                        }
                        else
                        {
                            await DialogHost.Show(new MensajeInformacion("No puede borrar el tipo debido a que está en uso"), "RootDialog");
                        }
                    }
                }
            }
        }
Exemplo n.º 22
0
        public FormPedidoDetalle(BiomasaEUPTContext context, PedidoLinea pedidoLinea, PedidoDetalle pedidoDetalle) : this(context, pedidoLinea)
        {
            gbTitulo.Header = "Editar Pedido Detalle Manual";

            if (pedidoDetalle.ProductoEnvasado.TipoProductoEnvasado.MedidoEnUnidades == true)
            {
                viewModel.Cantidad = pedidoDetalle.Unidades.Value;
            }
            else
            {
                viewModel.Cantidad = pedidoDetalle.Volumen.Value;
            }
        }
Exemplo n.º 23
0
        public FormPedidoLinea(BiomasaEUPTContext context, PedidoLinea pedidoLinea) : this(context)
        {
            gbTitulo.Header = "Editar pedidoLinea";

            cbGruposProductosEnvasados.SelectedValue = pedidoLinea.TipoProductoEnvasado.GrupoProductoEnvasado.GrupoProductoEnvasadoId;
            cbTiposProductosEnvasados.SelectedValue  = pedidoLinea.TipoProductoEnvasado.TipoProductoEnvasadoId;

            if (pedidoLinea.TipoProductoEnvasado.MedidoEnUnidades == true)
            {
                viewModel.Cantidad = pedidoLinea.Unidades.Value;
            }
            else
            {
                viewModel.Cantidad = pedidoLinea.Volumen.Value;
            }
        }
Exemplo n.º 24
0
        private async void AnadirTipo()
        {
            var formTipo = new FormTipo();

            formTipo.vNombreUnico.Atributo = "Nombre";

            // Pestaña Clientes
            if (ViewModel is TabClientesViewModel)
            {
                formTipo.vNombreUnico.Tipo = "TipoCliente";
            }

            // Pestaña Proveedores
            else if (ViewModel is TabProveedoresViewModel)
            {
                formTipo.vNombreUnico.Tipo = "TipoProveedor";
            }

            if ((bool)await DialogHost.Show(formTipo, "RootDialog"))
            {
                using (var context = new BiomasaEUPTContext())
                {
                    if (ViewModel is TabClientesViewModel)
                    {
                        context.TiposClientes.Add(new TipoCliente()
                        {
                            Nombre      = formTipo.Nombre,
                            Descripcion = formTipo.Descripcion
                        });
                        var tabClientesViewModel = ViewModel as TabClientesViewModel;
                        tabClientesViewModel.CargarClientes();
                    }
                    if (ViewModel is TabProveedoresViewModel)
                    {
                        context.TiposProveedores.Add(new TipoProveedor()
                        {
                            Nombre      = formTipo.Nombre,
                            Descripcion = formTipo.Descripcion
                        });
                        var tabProveedoresViewModel = ViewModel as TabProveedoresViewModel;
                        tabProveedoresViewModel.CargarProveedores();
                    }
                    context.SaveChanges();
                }
                CargarFiltro();
            }
        }
Exemplo n.º 25
0
        void Paises(BiomasaEUPTContext context)
        {
            string resourceName = "BiomasaEUPT.Migrations.DatosSeed.SeedPaises.csv";

            using (Stream stream = assembly.GetManifestResourceStream(resourceName))
            {
                using (StreamReader reader = new StreamReader(stream))
                {
                    CsvReader csvReader = new CsvReader(reader);
                    csvReader.Configuration.WillThrowOnMissingField = false;
                    csvReader.Configuration.Delimiter = ";";
                    var paises = csvReader.GetRecords <Pais>().ToArray();
                    context.Paises.AddOrUpdate(c => c.Codigo, paises);
                }
            }
            context.SaveChanges();
        }
Exemplo n.º 26
0
        public override ValidationResult Validate(object value, CultureInfo cultureInfo)
        {
            Recepcion recepcion = (value as BindingGroup).Items[0] as Recepcion;

            // Número albarán
            if (string.IsNullOrWhiteSpace(recepcion.NumeroAlbaran))
            {
                return(new ValidationResult(false, String.Format(errorObligatorio, "nº albarán")));
            }

            if (recepcion.NumeroAlbaran.Length < minNumeroAlbaran)
            {
                return(new ValidationResult(false, String.Format(errorMin, "nº albarán", minNumeroAlbaran)));
            }

            if (recepcion.NumeroAlbaran.Length > maxNumeroAlbaran)
            {
                return(new ValidationResult(false, String.Format(errorMax, "nº albarán", maxNumeroAlbaran)));
            }

            if (!Regex.IsMatch(recepcion.NumeroAlbaran, regexNumeroAlbaran))
            {
                return(new ValidationResult(false, String.Format(errorRegex, "nº albarán", " (Ej: A-13, B-15A25870)")));
            }


            using (var context = new BiomasaEUPTContext())
            {
                // Valores únicos
                foreach (var c in context.Recepciones.Where(r => r.ProveedorId == recepcion.ProveedorId).ToList())
                {
                    if (c.GetHashCode() != recepcion.GetHashCode())
                    {
                        if (c.NumeroAlbaran == recepcion.NumeroAlbaran)
                        {
                            return(new ValidationResult(false, String.Format(errorUnico, "número albarán")));
                        }
                    }
                }
            }

            return(ValidationResult.ValidResult);
        }
Exemplo n.º 27
0
        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");
        }
Exemplo n.º 28
0
        void Comunidades(BiomasaEUPTContext context)
        {
            context.Paises.Load();
            string resourceName = "BiomasaEUPT.Migrations.DatosSeed.SeedComunidades.csv";

            using (Stream stream = assembly.GetManifestResourceStream(resourceName))
            {
                using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
                {
                    CsvReader csvReader = new CsvReader(reader);
                    csvReader.Configuration.WillThrowOnMissingField = false;
                    csvReader.Configuration.Delimiter = ";";
                    while (csvReader.Read())
                    {
                        var comunidad  = csvReader.GetRecord <Comunidad>();
                        var codigoPais = csvReader.GetField <string>("Codigo").Substring(0, 2);
                        comunidad.Pais = context.Paises.Local.Single(c => c.Codigo == codigoPais);
                        context.Comunidades.AddOrUpdate(p => p.Codigo, comunidad);
                    }
                }
            }
            context.SaveChanges();
        }
Exemplo n.º 29
0
        void MunicipiosLENTO(BiomasaEUPTContext context)
        {
            context.Provincias.Load();
            string resourceName = "BiomasaEUPT.Migrations.DatosSeed.SeedMunicipios.csv";

            using (Stream stream = assembly.GetManifestResourceStream(resourceName))
            {
                using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
                {
                    CsvReader csvReader = new CsvReader(reader);
                    csvReader.Configuration.WillThrowOnMissingField = false;
                    csvReader.Configuration.Delimiter = ";";
                    while (csvReader.Read())
                    {
                        var municipio       = csvReader.GetRecord <Municipio>();
                        var codigoProvincia = csvReader.GetField <string>("CodigoProvincia");
                        municipio.Provincia = context.Provincias.Local.Single(c => c.Codigo == codigoProvincia);
                        context.Municipios.AddOrUpdate(p => p.MunicipioId, municipio);
                    }
                }
            }
            context.SaveChanges();
        }
Exemplo n.º 30
0
        private void IniciarPrograma()
        {
            // Estado 1 - Actualización
            if (Properties.Settings.Default.ActualizarPrograma)
            {
                Dispatcher.Invoke(() =>
                {
                    viewModel.MensajeInformacion = "Buscando actualizaciones...";
                    viewModel.Progreso           = 10;
                });
                if (actualizador.ComprobarActualizacionPrograma())
                {
                    Dispatcher.Invoke(() =>
                    {
                        viewModel.MensajeInformacion = "Actualización encontrada. Actualizando...";
                        viewModel.Progreso           = 50;
                    });
                    try
                    {
                        actualizador.ActualizarPrograma();
                        Dispatcher.Invoke(() =>
                        {
                            viewModel.MensajeInformacion = "Actualización completada. Reiniciando la aplicación...";
                            viewModel.Progreso           = 100;
                        });
#if (!DEBUG)
                        Thread.Sleep(2500);
#endif
                        Process.Start("BiomasaEUPT.exe");   // Inicia la aplicación actualizada
                        Process.GetCurrentProcess().Kill(); // Cierra la aplicación antigua
                    }
                    catch (WebException ex)
                    {
                        Dispatcher.Invoke(() =>
                        {
                            viewModel.MensajeInformacion = "Actualización fallida.";
                            viewModel.Progreso           = 100;
                        });
#if (!DEBUG)
                        Thread.Sleep(2500);
#endif
                    }
                }
                else
                {
                    Dispatcher.Invoke(() =>
                    {
                        viewModel.MensajeInformacion = "No se ha encontrado ninguna actualización.";
                        viewModel.Progreso           = 25;
                    });
                }
            }

            // Estado 2 - Conexión BD
            Dispatcher.Invoke(() =>
            {
                viewModel.MensajeInformacion = "Conectándose a la Base de Datos...";
                viewModel.Progreso           = 50;
            });

            using (var context = new BiomasaEUPTContext())
            {
                try { context.Database.Connection.Open(); }
                catch
                {
                    Dispatcher.Invoke(() =>
                    {
                        viewModel.MensajeInformacion = "No se ha podido conectar con la Base de Datos. Saliendo...";
                        viewModel.Progreso           = 100;
                    });
#if (!DEBUG)
                    Thread.Sleep(3000);
#endif
                    /// Cierra la aplicación
                    Process.GetCurrentProcess().Kill();
                }
            }
        }