예제 #1
0
        void InicializarLocalidades(OBMCateringEntities modelo)
        {
            //Se guardan las localidades cada lote de 20 para que vayan apareciendo en el sistema y se pueda ir usando
            int loteCargadas = 0;

            foreach (string linea in File.ReadAllLines(@"Resources\localidades.txt"))
            {
                string[] campos      = linea.Split('#');
                int      id          = int.Parse(campos[0]);
                string   nombre      = campos[1];
                int      idProvincia = int.Parse(campos[2]);

                modelo.Localidades.Add(new Localidad {
                    ID = id, Nombre = nombre, IDProvincia = idProvincia
                });
                loteCargadas += 1;

                if (loteCargadas == 20)
                {
                    modelo.SaveChanges();
                }
            }

            modelo.SaveChanges();
        }
예제 #2
0
        void InicializarProvincias(OBMCateringEntities modelo)
        {
            foreach (string linea in File.ReadAllLines(@"Resources\provincias.txt"))
            {
                string[] campos = linea.Split('#');
                int      id     = int.Parse(campos[0]);
                string   nombre = campos[1];

                modelo.Provincias.Add(new Provincia {
                    ID = id, Nombre = nombre
                });
            }

            modelo.SaveChanges();
        }
예제 #3
0
        public OBMCateringDAL(OBMCateringEntities modelo)
        {
            this.modelo = modelo;

            empleados           = new EmpleadosDAL(modelo);
            clientes            = new ClientesDAL(modelo);
            proveedores         = new ProveedoresDAL(modelo);
            recetas             = new RecetasDAL(modelo);
            ingredientes        = new IngredientesDAL(modelo);
            preciosIngredientes = new PreciosIngredientesDAL(modelo);
            ordenesVenta        = new OrdenesVentaDAL(modelo);
            facturas            = new FacturasDAL(modelo);
            ordenesCompra       = new OrdenesCompraDAL(modelo);
            ordenesPago         = new OrdenesPagoDAL(modelo);
            provincias          = new ProvinciasDAL(modelo);
            localidades         = new LocalidadesDAL(modelo);
            usuarios            = new UsuariosDAL(modelo);
            bitacora            = new BitacoraDAL(modelo);

            inicializador = new InicializadorDatos(modelo);
            inicializador.DatosInicializados += Inicializador_DatosInicializados;
            inicializador.Inicializar();
        }
예제 #4
0
 public ProveedoresDAL(OBMCateringEntities modelo)
 {
     this.modelo = modelo;
 }
예제 #5
0
 public EmpleadosDAL(OBMCateringEntities modelo)
 {
     this.modelo = modelo;
 }
예제 #6
0
 public ClientesDAL(OBMCateringEntities modelo)
 {
     this.modelo = modelo;
 }
예제 #7
0
 public OrdenesVentaDAL(OBMCateringEntities modelo)
 {
     this.modelo = modelo;
 }
예제 #8
0
 public BitacoraDAL(OBMCateringEntities modelo)
 {
     this.modelo = modelo;
 }
예제 #9
0
 public PreciosIngredientesDAL(OBMCateringEntities modelo)
 {
     this.modelo = modelo;
 }
예제 #10
0
 public RecetasDAL(OBMCateringEntities modelo)
 {
     this.modelo = modelo;
 }
예제 #11
0
 public LocalidadesDAL(OBMCateringEntities modelo)
 {
     this.modelo = modelo;
 }
예제 #12
0
        /// <summary>
        /// Se crea la base de datos si esta aun no existe y en ese caso se crean los datos iniciales necesarios en el sistema
        /// </summary>
        public void Inicializar()
        {
            bool necesitaDatosIniciales = !modelo.Database.Exists();

            modelo.Database.CreateIfNotExists();

            if (necesitaDatosIniciales)
            {
                EstaInicializando = true;

                modelo.EstadosOrdenesCompra.Add(new EstadoOrdenCompra {
                    Estado = "Generada"
                });
                modelo.EstadosOrdenesCompra.Add(new EstadoOrdenCompra {
                    Estado = "Aprobada"
                });
                modelo.EstadosOrdenesCompra.Add(new EstadoOrdenCompra {
                    Estado = "Realizada"
                });

                modelo.EstadosRecetas.Add(new EstadoReceta {
                    Estado = "Activa"
                });
                modelo.EstadosRecetas.Add(new EstadoReceta {
                    Estado = "Inactiva"
                });
                modelo.EstadosRecetas.Add(new EstadoReceta {
                    Estado = "SinPrecio"
                });
                modelo.EstadosRecetas.Add(new EstadoReceta {
                    Estado = "SinIngredientes"
                });

                modelo.PerfilesUsuario.Add(new PerfilUsuario {
                    Nombre = "Admin"
                });
                modelo.PerfilesUsuario.Add(new PerfilUsuario {
                    Nombre = "Cocina"
                });
                modelo.PerfilesUsuario.Add(new PerfilUsuario {
                    Nombre = "Ventas"
                });
                modelo.PerfilesUsuario.Add(new PerfilUsuario {
                    Nombre = "Compras"
                });

                modelo.TiposClientes.Add(new TipoCliente {
                    Tipo = "Persona"
                });
                modelo.TiposClientes.Add(new TipoCliente {
                    Tipo = "Empresa"
                });

                modelo.TiposMensajesBitacora.Add(new TipoMensajeBitacora {
                    Tipo = "Informacion"
                });
                modelo.TiposMensajesBitacora.Add(new TipoMensajeBitacora {
                    Tipo = "Alerta"
                });
                modelo.TiposMensajesBitacora.Add(new TipoMensajeBitacora {
                    Tipo = "Error"
                });

                modelo.UnidadesMedida.Add(new UnidadMedida {
                    Unidad = "gr"
                });
                modelo.UnidadesMedida.Add(new UnidadMedida {
                    Unidad = "ml"
                });
                modelo.UnidadesMedida.Add(new UnidadMedida {
                    Unidad = "u"
                });

                modelo.Usuarios.Add(new Usuario
                {
                    Nick            = "admin",
                    Nombre          = "Administrador",
                    Email           = "*****@*****.**",
                    Password        = "******",
                    CambiarPassword = true, //Se requerira cambiar el password en el primer login
                    IDPerfil        = 1     //Admin
                });

                modelo.SaveChanges();

                //Inicializo Provincias y Localidades en otro hilo para que no tarde en cargar el sistema la primera vez
                //Al finalizar la carga se notifica con un evento para que los que esten observando puedan saberlo
                Task.Run(() =>
                {
                    //Se debe crear otra instancia del modelo para poder ejecutar las operaciones en Base de Datos en otro hilo distinto al que se hizo antes
                    //Se encontro la solucion aqui: https://stackoverflow.com/questions/6126616/is-dbcontext-thread-safe
                    OBMCateringEntities modeloNuevoHilo = new OBMCateringEntities();

                    InicializarProvincias(modeloNuevoHilo);
                    InicializarLocalidades(modeloNuevoHilo);

                    if (DatosInicializados != null)
                    {
                        DatosInicializados(this, EventArgs.Empty);
                    }

                    EstaInicializando = false;
                });
            }
        }
예제 #13
0
 public InicializadorDatos(OBMCateringEntities modelo)
 {
     this.modelo = modelo;
 }
예제 #14
0
 public FacturasDAL(OBMCateringEntities modelo)
 {
     this.modelo = modelo;
 }
예제 #15
0
 public UsuariosDAL(OBMCateringEntities modelo)
 {
     this.modelo = modelo;
 }
예제 #16
0
 public ProvinciasDAL(OBMCateringEntities modelo)
 {
     this.modelo = modelo;
 }