Example #1
0
        private void SincronizaComponentes()
        {
            try
            {
                migrationTable  = migrationTableController.SelectOne(5);
                migrationFields = migrationFieldController.SelectByTableId(migrationTable.MigrationTableId);
                Sql             = "SELECT ";

                foreach (var f in migrationFields)
                {
                    if (migrationFields.Last() == f)
                    {
                        Sql += f.Expresion + " FROM " + migrationTable.Tabla;
                    }
                    else
                    {
                        Sql += f.Expresion + " , ";
                    }
                }
                Sql += " " + migrationTable.Condicion;
                GetDataTable(Sql);
                sustancia  = null;
                sustancias = sustanciaController.SelectAll();


                foreach (DataRow row in dataTable.Rows)
                {
                    Ambiente.S1 = row["clave"].ToString().Trim().ToUpper();
                    Ambiente.S2 = row["descrip"].ToString().Trim().ToUpper();

                    sustancia = sustancias.FirstOrDefault(x => x.SustanciaId.ToUpper().Equals(Ambiente.S1));

                    if (sustancia == null)
                    {
                        sustancia             = new Sustancia();
                        sustancia.SustanciaId = Ambiente.S1;
                        sustancia.Nombre      = Ambiente.S2.Length == 0 ? Ambiente.S1 : Ambiente.S2;
                        sustancia.IsDeleted   = false;
                        sustanciaController.InsertOne(sustancia);
                    }
                    else
                    {
                        sustancia.Nombre    = Ambiente.S2;
                        sustancia.IsDeleted = false;
                        sustanciaController.Update(sustancia);
                    }
                }
                Ambiente.Mensaje("Proceso concluido");
            }
            catch (Exception ex)
            {
                Ambiente.Mensaje(ex.ToString());
            }
        }
Example #2
0
        private void Initialize()
        {
            //Controllers
            productoSustanciaController = new ProductoSustanciaController();
            cierreInventariopController = new CierreInventariopController();
            productoImpuestoController  = new ProductoImpuestoController();
            cierreInventarioController  = new CierreInventarioController();
            migrationTableController    = new MigrationTableController();
            migrationFieldController    = new MigrationFieldController();
            presentacionController      = new PresentacionController();
            laboratorioController       = new LaboratorioController();
            categoriaController         = new CategoriaController();
            sustanciaController         = new SustanciaController();
            productoController          = new ProductoController();
            loteController   = new LoteController();
            movInvController = new MovInvController();
            //Objetos
            productoSustancia = null;
            productoImpuesto  = null;
            cierreInventario  = null;
            cierreInventariop = null;
            migrationTable    = null;
            migrationField    = null;
            presentacion      = null;
            laboratorio       = null;
            categoria         = null;
            sustancia         = null;
            producto          = null;
            lote = null;

            //Listas
            productoSustancias = new List <ProductoSustancia>();
            productoImpuestos  = new List <ProductoImpuesto>();
            migrationTables    = new List <MigrationTable>();
            migrationFields    = new List <MigrationField>();
            presentaciones     = new List <Presentacion>();
            laboratorios       = new List <Laboratorio>();
            categorias         = new List <Categoria>();
            sustancias         = new List <Sustancia>();
            productos          = new List <Producto>();
            lotes = new List <Lote>();


            try
            {
                //Conexion vfpro
                Sql              = "";
                dataTable        = new DataTable();
                connectionstring = "Provider=VFPOLEDB.1;Data Source=" + Ambiente.Empresa.MicroPvdb + ";";
                oleDbConnection  = new OleDbConnection(connectionstring);
                oleDbConnection.Open();


                //Llena combo tablas
                migrationTables        = migrationTableController.SelectAll();
                CboTabla.DataSource    = migrationTables;
                CboTabla.DisplayMember = "Tabla";
                CboTabla.ValueMember   = "MigrationTableId";
                CboTabla.SelectedIndex = 0;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
        public static void InicializaDatabaseDefaultsValues()
        {
            try
            {
                using (var db = new DymContext())
                {
                    var estacion = db.Estacion.FirstOrDefault(x => x.EstacionId == "SYS");
                    if (estacion == null)
                    {
                        estacion                   = new Estacion();
                        estacion.EstacionId        = "SYS";
                        estacion.Nombre            = "DEFAUTL";
                        estacion.CanjearPuntosAuto = false;
                        db.Add(estacion);
                    }

                    var sustancia = db.Sustancia.FirstOrDefault(x => x.SustanciaId == "SYS");
                    if (sustancia == null)
                    {
                        sustancia             = new Sustancia();
                        sustancia.SustanciaId = "SYS";
                        sustancia.Nombre      = "DEFAUTL";
                        db.Add(sustancia);
                    }

                    var categoria = db.Categoria.FirstOrDefault(x => x.CategoriaId == "SYS");
                    if (categoria == null)
                    {
                        categoria             = new Categoria();
                        categoria.CategoriaId = "SYS";
                        categoria.Nombre      = "DEFAUTL";
                        db.Add(categoria);
                    }


                    var presentacion = db.Presentacion.FirstOrDefault(x => x.PresentacionId == "SYS");
                    if (presentacion == null)
                    {
                        presentacion = new Presentacion();
                        presentacion.PresentacionId = "SYS";
                        presentacion.Nombre         = "DEFAUTL";
                        db.Add(presentacion);
                    }
                    var laboratorio = db.Laboratorio.FirstOrDefault(x => x.LaboratorioId == "SYS");
                    if (laboratorio == null)
                    {
                        laboratorio = new Laboratorio();
                        laboratorio.LaboratorioId = "SYS";
                        laboratorio.Nombre        = "DEFAUTL";
                        db.Add(laboratorio);
                    }
                    var impuesto = db.Impuesto.FirstOrDefault(x => x.ImpuestoId == "SYS");
                    if (impuesto == null)
                    {
                        impuesto            = new Impuesto();
                        impuesto.ImpuestoId = "SYS";
                        impuesto.Tasa       = 0;
                        impuesto.CImpuesto  = "002";
                        db.Add(impuesto);
                    }

                    var unidadMedida = db.UnidadMedida.FirstOrDefault(x => x.UnidadMedidaId == "SYS");
                    if (unidadMedida == null)
                    {
                        unidadMedida = new UnidadMedida();
                        unidadMedida.UnidadMedidaId = "SYS";
                        unidadMedida.Nombre         = "DEFAUTL";
                        unidadMedida.UnidadSat      = "H87";
                        db.Add(unidadMedida);
                    }

                    var edodocP = db.EstadoDoc.FirstOrDefault(x => x.EstadoDocId == "PEN");
                    if (edodocP == null)
                    {
                        edodocP             = new EstadoDoc();
                        edodocP.EstadoDocId = "PEN";
                        edodocP.Descripcion = "PENDIENTE";
                        db.Add(edodocP);
                    }
                    var edodocCa = db.EstadoDoc.FirstOrDefault(x => x.EstadoDocId == "CAN");
                    if (edodocCa == null)
                    {
                        edodocCa             = new EstadoDoc();
                        edodocCa.EstadoDocId = "CAN";
                        edodocCa.Descripcion = "CANCELADO";
                        db.Add(edodocCa);
                    }
                    var edodocCo = db.EstadoDoc.FirstOrDefault(x => x.EstadoDocId == "CON");
                    if (edodocCo == null)
                    {
                        edodocCo             = new EstadoDoc();
                        edodocCo.EstadoDocId = "CON";
                        edodocCo.Descripcion = "CONFIRMADO";
                        db.Add(edodocCo);
                    }



                    var clienteSYS = db.Cliente.FirstOrDefault(x => x.ClienteId == "SYS");
                    if (clienteSYS == null)
                    {
                        clienteSYS              = new Cliente();
                        clienteSYS.ClienteId    = "SYS";
                        clienteSYS.Rfc          = "XAXX010101000";
                        clienteSYS.Negocio      = "PUBLICO EN GENERAL";
                        clienteSYS.RazonSocial  = "PUBLICO EN GENERAL";
                        clienteSYS.MetodoPagoId = "PUE";
                        clienteSYS.FormaPagoId  = "01";
                        clienteSYS.UsoCfdiid    = "G01";
                        db.Add(clienteSYS);
                    }

                    var proveedorSYS = db.Proveedor.FirstOrDefault(x => x.ProveedorId == "SYS");
                    if (proveedorSYS == null)
                    {
                        proveedorSYS               = new Proveedor();
                        proveedorSYS.ProveedorId   = "SYS";
                        proveedorSYS.Negocio       = "PROVEEDOR GENERICO";
                        proveedorSYS.RazonSocial   = "PROVEEDOR GENERICO";
                        proveedorSYS.Rfc           = "XAXX010101000";
                        proveedorSYS.DiasCredito   = 0;
                        proveedorSYS.LimiteCredito = 0;
                        proveedorSYS.Saldo         = 0;
                        proveedorSYS.IsDeleted     = false;
                        db.Add(proveedorSYS);
                    }

                    var puntosConfig = db.PuntoConfig.FirstOrDefault();
                    if (puntosConfig == null)
                    {
                        puntosConfig               = new PuntoConfig();
                        puntosConfig.DiasReset     = 30;
                        puntosConfig.TasaDescuento = 0.01m;
                        puntosConfig.Vigente       = true;
                        puntosConfig.IsDeleted     = false;
                        db.Add(puntosConfig);
                    }
                    //01010101
                    var prodSys = db.Producto.FirstOrDefault(x => x.ProductoId.Equals("01010101"));

                    if (prodSys == null)
                    {
                        prodSys                 = new Producto();
                        prodSys.ProductoId      = "01010101";
                        prodSys.CategoriaId     = "SYS";
                        prodSys.PresentacionId  = "SYS";
                        prodSys.LaboratorioId   = "SYS";
                        prodSys.Stock           = 0;
                        prodSys.Descripcion     = "Concepto generico facturable";
                        prodSys.PrecioCompra    = 0;
                        prodSys.PrecioCaja      = 0;
                        prodSys.Precio1         = 0;
                        prodSys.Precio2         = 0;
                        prodSys.Precio3         = 0;
                        prodSys.Precio4         = 0;
                        prodSys.Utilidad1       = 0;
                        prodSys.Utilidad2       = 0;
                        prodSys.Utilidad3       = 0;
                        prodSys.Utilidad4       = 0;
                        prodSys.TieneLote       = false;
                        prodSys.IsDeleted       = false;
                        prodSys.CratedAt        = DateTime.Now;
                        prodSys.UnidadMedidaId  = "SYS";
                        prodSys.ClaveProdServId = "01010101";
                        prodSys.ClaveUnidadId   = "H87";
                        prodSys.ChkCaducidad    = false;
                        prodSys.CratedAt        = DateTime.Now;
                        prodSys.CratedBy        = "JMENDOZAJ";

                        db.Add(prodSys);
                    }



                    /**************ACTUALIZA CONEXION REPORTES**************/
                    var informes = db.Informe.ToList();

                    foreach (var informe in informes)
                    {
                        var stiReport = new StiReport();
                        stiReport.LoadPackedReportFromString(informe.Codigo);
                        stiReport.Dictionary.Databases.Clear();
                        stiReport.Dictionary.Databases.Add(new StiSqlDatabase("Dym", Ambiente.Conexion.StandardSecurityConnectionString()));
                        informe.Codigo = stiReport.SavePackedReportToString();
                        db.Update(informe);
                    }
                    /*******************************************************/


                    Ambiente.InformeTicket = db.Informe.FirstOrDefault(x => x.InformeId.Equals(
                                                                           db.InformeConfiguracion.Where(y => y.Ticket == true)
                                                                           .FirstOrDefault().InformeId));

                    Ambiente.InformeFactura = db.Informe.FirstOrDefault(x => x.InformeId.Equals(
                                                                            db.InformeConfiguracion.Where(y => y.Factura == true)
                                                                            .FirstOrDefault().InformeId));

                    Ambiente.InformeCompra = db.Informe.FirstOrDefault(x => x.InformeId.Equals(
                                                                           db.InformeConfiguracion.Where(y => y.Compra == true)
                                                                           .FirstOrDefault().InformeId));

                    Ambiente.InformeCorte = db.Informe.FirstOrDefault(x => x.InformeId.Equals(
                                                                          db.InformeConfiguracion.Where(y => y.Corte == true)
                                                                          .FirstOrDefault().InformeId));

                    Ambiente.InformeDevCom = db.Informe.FirstOrDefault(x => x.InformeId.Equals(
                                                                           db.InformeConfiguracion.Where(y => y.DevCom == true)
                                                                           .FirstOrDefault().InformeId));

                    Ambiente.InformeInvetarios = db.Informe.FirstOrDefault(x => x.InformeId.Equals(
                                                                               db.InformeConfiguracion.Where(y => y.Inventario == true)
                                                                               .FirstOrDefault().InformeId));

                    Ambiente.InformeCierresInv = db.Informe.FirstOrDefault(x => x.InformeId.Equals(
                                                                               db.InformeConfiguracion.Where(y => y.CierresInv == true)
                                                                               .FirstOrDefault().InformeId));


                    if (Ambiente.InformeTicket == null)
                    {
                        Ambiente.Mensaje("!Advertencia! El formato  o regla  de impresión de ticket no existe, esto causará problemas");
                    }

                    if (Ambiente.InformeFactura == null)
                    {
                        Ambiente.Mensaje("!Advertencia! El formato o regla  de impresión de factura no existe, esto causará problemas");
                    }

                    if (Ambiente.InformeCompra == null)
                    {
                        Ambiente.Mensaje("!Advertencia! El formato o regla  de impresión  de compra no existe, esto causará problemas");
                    }

                    if (Ambiente.InformeDevCom == null)
                    {
                        Ambiente.Mensaje("!Advertencia! El formato o regla  de impresión  de devcom no existe, esto causará problemas");
                    }

                    if (Ambiente.InformeCorte == null)
                    {
                        Ambiente.Mensaje("!Advertencia! El formato o regla  de impresión  de corte no existe, esto causará problemas");
                    }

                    if (Ambiente.InformeInvetarios == null)
                    {
                        Ambiente.Mensaje("!Advertencia! El formato o regla  de impresión  de inventarios no existe, esto causará problemas");
                    }

                    if (Ambiente.InformeCierresInv == null)
                    {
                        Ambiente.Mensaje("!Advertencia! El formato o regla  de impresión  de InformeCierresInv no existe, esto causará problemas");
                    }


                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show("Error al inicializar db defautls: " + ex.ToString());
            }

            if (!Ambiente.ServerImgAccesible)
            {
                Ambiente.Mensaje("!Advertencia! Las rutas de red indicadas para llegar al servidor no  pasaron la prueba del 75%. Esto causará rendiento deficiente al acceder a recursos en el server.  valor real: " + Ambiente.ServerImgAccesible);
            }
        }
        private void SeleccionaRegistro()
        {
            if (Grid1.Rows.Count <= 0)
            {
                DialogResult = DialogResult.Abort;
                Dispose();
                return;
            }


            switch (Catalogo)
            {
            case (int)Ambiente.TipoBusqueda.Clientes:

                using (var db = new DymContext())
                {
                    Cliente = db.Cliente.Where(x => x.ClienteId ==
                                               Grid1.Rows[Grid1.CurrentCell.RowIndex].Cells[0].Value.ToString().Trim()).FirstOrDefault();
                }

                break;

            case (int)Ambiente.TipoBusqueda.Proveedores:
                using (var db = new DymContext())
                {
                    Proveedor = db.Proveedor.Where(x => x.ProveedorId ==
                                                   Grid1.Rows[Grid1.CurrentCell.RowIndex].Cells[0].Value.ToString().Trim()).FirstOrDefault();
                }
                break;

            case (int)Ambiente.TipoBusqueda.Productos:
                using (var db = new DymContext())
                {
                    Producto = db.Producto.Where(x => x.ProductoId ==
                                                 Grid1.Rows[Grid1.CurrentCell.RowIndex].Cells[0].Value.ToString().Trim()).FirstOrDefault();
                }
                break;

            case (int)Ambiente.TipoBusqueda.Categorias:
                using (var db = new DymContext())
                {
                    Categoria = db.Categoria.Where(x => x.CategoriaId ==
                                                   Grid1.Rows[Grid1.CurrentCell.RowIndex].Cells[0].Value.ToString().Trim()).FirstOrDefault();
                }
                break;

            case (int)Ambiente.TipoBusqueda.Laboratorios:
                using (var db = new DymContext())
                {
                    Laboratorio = db.Laboratorio.Where(x => x.LaboratorioId ==
                                                       Grid1.Rows[Grid1.CurrentCell.RowIndex].Cells[0].Value.ToString().Trim()).FirstOrDefault();
                }
                break;

            case (int)Ambiente.TipoBusqueda.Impuestos:
                using (var db = new DymContext())
                {
                    Impuesto = db.Impuesto.Where(x => x.ImpuestoId ==
                                                 Grid1.Rows[Grid1.CurrentCell.RowIndex].Cells[0].Value.ToString().Trim()).FirstOrDefault();
                }
                break;

            case (int)Ambiente.TipoBusqueda.Sustancias:
                using (var db = new DymContext())
                {
                    Sustancia = db.Sustancia.Where(x => x.SustanciaId ==
                                                   Grid1.Rows[Grid1.CurrentCell.RowIndex].Cells[0].Value.ToString().Trim()).FirstOrDefault();
                }

                break;



            case (int)Ambiente.TipoBusqueda.Estaciones:
                using (var db = new DymContext())
                {
                    Estacion = db.Estacion.Where(x => x.EstacionId ==
                                                 Grid1.Rows[Grid1.CurrentCell.RowIndex].Cells[0].Value.ToString().Trim()).FirstOrDefault();
                }
                break;

            case (int)Ambiente.TipoBusqueda.ClavesSat:
                using (var db = new DymContext())
                {
                    CClaveProdServ = db.CClaveProdServ.Where(x => x.ClaveProdServId ==
                                                             Grid1.Rows[Grid1.CurrentCell.RowIndex].Cells[0].Value.ToString().Trim()).FirstOrDefault();
                }
                break;

            case (int)Ambiente.TipoBusqueda.Presentaciones:

                using (var db = new DymContext())
                {
                    Presentacion = db.Presentacion.Where(x => x.PresentacionId ==
                                                         Grid1.Rows[Grid1.CurrentCell.RowIndex].Cells[0].Value.ToString().Trim()).FirstOrDefault();
                }
                break;

            case (int)Ambiente.TipoBusqueda.UnidadesMedida:
                using (var db = new DymContext())
                {
                    UnidadMedida = db.UnidadMedida.Where(x => x.UnidadMedidaId ==
                                                         Grid1.Rows[Grid1.CurrentCell.RowIndex].Cells[0].Value.ToString().Trim()).FirstOrDefault();
                }
                break;

            case (int)Ambiente.TipoBusqueda.Usuarios:
                using (var db = new DymContext())
                {
                    Usuario = db.Usuario.Where(x => x.UsuarioId ==
                                               Grid1.Rows[Grid1.CurrentCell.RowIndex].Cells[0].Value.ToString().Trim()).FirstOrDefault();
                }
                break;

            case (int)Ambiente.TipoBusqueda.MetodoPago:
                using (var db = new DymContext())
                {
                    MetodoPago = db.CMetodopago.Where(x => x.MetodoPagoId ==
                                                      Grid1.Rows[Grid1.CurrentCell.RowIndex].Cells[0].Value.ToString().Trim()).FirstOrDefault();
                }
                break;

            case (int)Ambiente.TipoBusqueda.FormaPago:
                using (var db = new DymContext())
                {
                    FormaPago = db.FormaPago.Where(x => x.FormaPagoId ==
                                                   Grid1.Rows[Grid1.CurrentCell.RowIndex].Cells[0].Value.ToString().Trim()).FirstOrDefault();
                }
                break;

            case (int)Ambiente.TipoBusqueda.UsoCDFI:
                using (var db = new DymContext())
                {
                    Usocfdi = db.CUsocfdi.Where(x => x.UsoCfdiid ==
                                                Grid1.Rows[Grid1.CurrentCell.RowIndex].Cells[0].Value.ToString().Trim()).FirstOrDefault();
                }
                break;

            case (int)Ambiente.TipoBusqueda.Tickets:
                using (var db = new DymContext())
                {
                    Venta = db.Venta.Where(x => x.NoRef ==
                                           (int)Grid1.Rows[Grid1.CurrentCell.RowIndex].Cells[0].Value).FirstOrDefault();
                }
                break;

            case (int)Ambiente.TipoBusqueda.Empresas:
                using (var db = new DymContext())
                {
                    Empresa = db.Empresa.Where(x => x.EmpresaId ==
                                               (int)Grid1.Rows[Grid1.CurrentCell.RowIndex].Cells[0].Value).FirstOrDefault();
                }
                break;

            case (int)Ambiente.TipoBusqueda.RegimenFiscal:
                using (var db = new DymContext())
                {
                    Regimenfiscal = db.CRegimenfiscal.Where(x => x.RegimenFiscalId.Equals(
                                                                Grid1.Rows[Grid1.CurrentCell.RowIndex].Cells[0].Value.ToString())).FirstOrDefault();
                }
                break;

            case (int)Ambiente.TipoBusqueda.Sucursal:
                using (var db = new DymContext())
                {
                    Sucursal = db.Sucursal.Where(x => x.SucursalId == (int)Grid1.Rows[Grid1.CurrentCell.RowIndex].Cells[0].Value).FirstOrDefault();
                }
                break;

            case (int)Ambiente.TipoBusqueda.Reportes:
                using (var db = new DymContext())
                {
                    Reporte = db.Reporte.Where(x => x.ReporteId == (int)Grid1.Rows[Grid1.CurrentCell.RowIndex].Cells[0].Value).FirstOrDefault();
                }
                break;

            default:
                MessageBox.Show("Error, no hay enumerador para catalogo");
                break;
            }

            DialogResult = DialogResult.OK;
        }
        public static void InicializaDatabaseDefaultsValues()
        {
            try
            {
                using (var db = new DymContext())
                {
                    var estacion = db.Estacion.FirstOrDefault(x => x.EstacionId == "SYS");
                    if (estacion == null)
                    {
                        estacion                   = new Estacion();
                        estacion.EstacionId        = "SYS";
                        estacion.Nombre            = "DEFAUTL";
                        estacion.CanjearPuntosAuto = false;
                        db.Add(estacion);
                    }

                    var sustancia = db.Sustancia.FirstOrDefault(x => x.SustanciaId == "SYS");
                    if (sustancia == null)
                    {
                        sustancia             = new Sustancia();
                        sustancia.SustanciaId = "SYS";
                        sustancia.Nombre      = "DEFAUTL";
                        db.Add(sustancia);
                    }

                    var categoria = db.Categoria.FirstOrDefault(x => x.CategoriaId == "SYS");
                    if (categoria == null)
                    {
                        categoria             = new Categoria();
                        categoria.CategoriaId = "SYS";
                        categoria.Nombre      = "DEFAUTL";
                        db.Add(categoria);
                    }


                    var presentacion = db.Presentacion.FirstOrDefault(x => x.PresentacionId == "SYS");
                    if (presentacion == null)
                    {
                        presentacion = new Presentacion();
                        presentacion.PresentacionId = "SYS";
                        presentacion.Nombre         = "DEFAUTL";
                        db.Add(presentacion);
                    }
                    var laboratorio = db.Laboratorio.FirstOrDefault(x => x.LaboratorioId == "SYS");
                    if (laboratorio == null)
                    {
                        laboratorio = new Laboratorio();
                        laboratorio.LaboratorioId = "SYS";
                        laboratorio.Nombre        = "DEFAUTL";
                        db.Add(laboratorio);
                    }
                    var impuesto = db.Impuesto.FirstOrDefault(x => x.ImpuestoId == "SYS");
                    if (impuesto == null)
                    {
                        impuesto            = new Impuesto();
                        impuesto.ImpuestoId = "SYS";
                        impuesto.Tasa       = 0;
                        impuesto.CImpuesto  = "002";
                        db.Add(impuesto);
                    }

                    var unidadMedida = db.UnidadMedida.FirstOrDefault(x => x.UnidadMedidaId == "SYS");
                    if (unidadMedida == null)
                    {
                        unidadMedida = new UnidadMedida();
                        unidadMedida.UnidadMedidaId = "SYS";
                        unidadMedida.Nombre         = "DEFAUTL";
                        unidadMedida.UnidadSat      = "H87";
                        db.Add(unidadMedida);
                    }

                    var edodocP = db.EstadoDoc.FirstOrDefault(x => x.EstadoDocId == "PEN");
                    if (edodocP == null)
                    {
                        edodocP             = new EstadoDoc();
                        edodocP.EstadoDocId = "PEN";
                        edodocP.Descripcion = "PENDIENTE";
                        db.Add(edodocP);
                    }
                    var edodocCa = db.EstadoDoc.FirstOrDefault(x => x.EstadoDocId == "CAN");
                    if (edodocCa == null)
                    {
                        edodocCa             = new EstadoDoc();
                        edodocCa.EstadoDocId = "CAN";
                        edodocCa.Descripcion = "CANCELADO";
                        db.Add(edodocCa);
                    }
                    var edodocCo = db.EstadoDoc.FirstOrDefault(x => x.EstadoDocId == "CON");
                    if (edodocCo == null)
                    {
                        edodocCo             = new EstadoDoc();
                        edodocCo.EstadoDocId = "CON";
                        edodocCo.Descripcion = "CONFIRMADO";
                        db.Add(edodocCo);
                    }

                    var tipoDocCom = db.TipoDoc.FirstOrDefault(x => x.TipoDocId == "COM");
                    if (tipoDocCom == null)
                    {
                        tipoDocCom             = new TipoDoc();
                        tipoDocCom.TipoDocId   = "COM";
                        tipoDocCom.Descripcion = "COMPRA";
                        db.Add(tipoDocCom);
                    }

                    var tipoDocDvc = db.TipoDoc.FirstOrDefault(x => x.TipoDocId == "DVC");
                    if (tipoDocDvc == null)
                    {
                        tipoDocDvc             = new TipoDoc();
                        tipoDocDvc.TipoDocId   = "DVC";
                        tipoDocDvc.Descripcion = "DEVOLUCIÓN SOBRE COMPRA";
                        db.Add(tipoDocDvc);
                    }

                    var tipoDocDev = db.TipoDoc.FirstOrDefault(x => x.TipoDocId == "DVV");
                    if (tipoDocDev == null)
                    {
                        tipoDocDev             = new TipoDoc();
                        tipoDocDev.TipoDocId   = "DVV";
                        tipoDocDev.Descripcion = "DEVOLUCIÓN SOBRE VENTA";
                        db.Add(tipoDocDev);
                    }

                    var tipoDocFac = db.TipoDoc.FirstOrDefault(x => x.TipoDocId == "FAC");
                    if (tipoDocFac == null)
                    {
                        tipoDocFac             = new TipoDoc();
                        tipoDocFac.TipoDocId   = "FAC";
                        tipoDocFac.Descripcion = "FACTURA";
                        db.Add(tipoDocFac);
                    }

                    var tipoDocRem = db.TipoDoc.FirstOrDefault(x => x.TipoDocId == "REM");
                    if (tipoDocRem == null)
                    {
                        tipoDocRem             = new TipoDoc();
                        tipoDocRem.TipoDocId   = "REM";
                        tipoDocRem.Descripcion = "REMISIÓN";
                        db.Add(tipoDocRem);
                    }

                    var tipoDocTic = db.TipoDoc.FirstOrDefault(x => x.TipoDocId == "TIC");
                    if (tipoDocTic == null)
                    {
                        tipoDocTic             = new TipoDoc();
                        tipoDocTic.TipoDocId   = "TIC";
                        tipoDocTic.Descripcion = "TICKET";
                        db.Add(tipoDocTic);
                    }

                    var tipoDocNc = db.TipoDoc.FirstOrDefault(x => x.TipoDocId == "NC");
                    if (tipoDocNc == null)
                    {
                        tipoDocNc             = new TipoDoc();
                        tipoDocNc.TipoDocId   = "NC";
                        tipoDocNc.Descripcion = "NOTA DE CRÉDITO";
                        db.Add(tipoDocNc);
                    }

                    var tipoDocCxp = db.TipoDoc.FirstOrDefault(x => x.TipoDocId == "CXP");
                    if (tipoDocCxp == null)
                    {
                        tipoDocCxp             = new TipoDoc();
                        tipoDocCxp.TipoDocId   = "CXP";
                        tipoDocCxp.Descripcion = "CUENTA POR PAGAR";
                        db.Add(tipoDocCxp);
                    }
                    var tipoDocTra = db.TipoDoc.FirstOrDefault(x => x.TipoDocId == "TRA");
                    if (tipoDocTra == null)
                    {
                        tipoDocTra             = new TipoDoc();
                        tipoDocTra.TipoDocId   = "TRA";
                        tipoDocTra.Descripcion = "TRASPASO DE MERCANCIAS";
                        db.Add(tipoDocTra);
                    }

                    var clienteSYS = db.Cliente.FirstOrDefault(x => x.ClienteId == "SYS");
                    if (clienteSYS == null)
                    {
                        clienteSYS              = new Cliente();
                        clienteSYS.ClienteId    = "SYS";
                        clienteSYS.Rfc          = "XAXX010101000";
                        clienteSYS.Negocio      = "PUBLICO EN GENERAL";
                        clienteSYS.RazonSocial  = "PUBLICO EN GENERAL";
                        clienteSYS.MetodoPagoId = "PUE";
                        clienteSYS.FormaPagoId  = "01";
                        clienteSYS.UsoCfdiid    = "G01";
                        db.Add(clienteSYS);
                    }
                    var proveedorSYS = db.Proveedor.FirstOrDefault(x => x.ProveedorId == "SYS");
                    if (proveedorSYS == null)
                    {
                        proveedorSYS               = new Proveedor();
                        proveedorSYS.ProveedorId   = "SYS";
                        proveedorSYS.Negocio       = "PROVEEDOR GENERICO";
                        proveedorSYS.RazonSocial   = "PROVEEDOR GENERICO";
                        proveedorSYS.Rfc           = "XAXX010101000";
                        proveedorSYS.DiasCredito   = 0;
                        proveedorSYS.LimiteCredito = 0;
                        proveedorSYS.Saldo         = 0;
                        proveedorSYS.IsDeleted     = false;
                        db.Add(proveedorSYS);
                    }

                    var puntosConfig = db.PuntoConfig.FirstOrDefault();
                    if (puntosConfig == null)
                    {
                        puntosConfig               = new PuntoConfig();
                        puntosConfig.DiasReset     = 30;
                        puntosConfig.TasaDescuento = 0.01m;
                        puntosConfig.Vigente       = true;
                        puntosConfig.IsDeleted     = false;
                        db.Add(puntosConfig);
                    }
                    //01010101
                    var prodSys = db.Producto.FirstOrDefault(x => x.ProductoId.Equals("01010101"));

                    if (prodSys == null)
                    {
                        prodSys                 = new Producto();
                        prodSys.ProductoId      = "01010101";
                        prodSys.CategoriaId     = "SYS";
                        prodSys.PresentacionId  = "SYS";
                        prodSys.LaboratorioId   = "SYS";
                        prodSys.Stock           = 0;
                        prodSys.Descripcion     = "Concepto generico facturable";
                        prodSys.PrecioCompra    = 0;
                        prodSys.PrecioCaja      = 0;
                        prodSys.Precio1         = 0;
                        prodSys.Precio2         = 0;
                        prodSys.Precio3         = 0;
                        prodSys.Precio4         = 0;
                        prodSys.Utilidad1       = 0;
                        prodSys.Utilidad2       = 0;
                        prodSys.Utilidad3       = 0;
                        prodSys.Utilidad4       = 0;
                        prodSys.TieneLote       = false;
                        prodSys.IsDeleted       = false;
                        prodSys.CratedAt        = DateTime.Now;
                        prodSys.UnidadMedidaId  = "SYS";
                        prodSys.ClaveProdServId = "01010101";
                        prodSys.ClaveUnidadId   = "SYS";
                        prodSys.ChkCaducidad    = false;

                        db.Add(prodSys);
                    }


                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show("Error al inicializar db defautls: " + ex.ToString());
            }
        }