Skip to main content

Manejo de Repositorio de Código Fuente

Como primera medida nos logueamos a Git Hub (o a otro manejador de repositorios) con nuestro usuario

image-1688994561450.png

 

En la rama TESTING se suben los cambios de la versión TESTING. para hacer pruebas particulares a veces conviene realizarlos en

 

una rama diferente para no causar algún cambio no deseado en la rama TESTING

Siempre antes de comenzar a trabajar hay que hacer un FETCH y bajar a tu repositorio los cambios hechos por los demás

image-1688994720559.png

En Changes vemos los cambios realizados por nosotros. En History podemos ve los últimos cambios realizados por los demás. Cada vez que se compile se obtiene la misma versión en cada solución. Se compilan todas

Vemos la ubicación del repositorio

image-1688995065846.png

Vemos los proyectos divididos en tres soluciones: API, B2B y MainSabioGO. Todas tienen el mismo back end realizado en NET STANDAR

Abrimos Visual Studio 2022. Cargamos la libreria externa WISEJ desde Nugget. La primera vez que se carga la solucion puede demorar

image-1688998403932.png

En este caso cargamos la solución B2B, con sus trece proyectos. El que esta en negrita es el inicial

image-1688998485712.png

image-1688998555611.png

Si desplegamos este proyecto vemos tres clases: LoginPage que es la pagina de login principal, la primera que se ejecuta. 

Tambien observamos dos archivos: el Default.html

image-1688998749335.png

y el Default.json. El json no se guarda en el repositorio porque ese archivo depende del equipo en el que se este ejecutando, ya que tiene datos de la conexion con la base entre otras cosas. Pero se debe ubicar en la misma carpeta

image-1689001077105.png

image-1688998851052.png

El Default.json contiene la url del deafult.html. Luego indicamos el 'startup', que en este caso seria el program. main de inicio. Este programa contiene un main, inicializa el entorno, define un par de variables que indican que aplicacion esta informando los logs.

image-1688998996319.png

En SysInfo cargamos quien esta informando los logs, si la aplicacion Web, la de escritorio, la API, etc.

image-1688999154664.png

La función GetPage se fija si ya esta abierta en memoria la pagina, en ese caso no la vuelve a crear. Esto permite no abrir tantas sesiones al mismo tiempo. Si ya esta creada se llama al método Iniciar,

En el json, en la sección 'Settings' cargamos un titulo, logo, una descripción, tipos de cuentas que puede aceptar, etc. parámetros que son propios de esa aplicación que se activaran al momento del despliegue

image-1688999535748.png

Al momento de conectarse a la base, se puede configurar una o varias bases, que se identificarán por un alias

image-1688999649849.png

Guardamos los datos del json, luego ejecutamos la aplicación. (La primera vez tarda)

image-1689001398428.png

La primera vez que se ingresa la clave se valida. El usuario debe tener cargado un mail en la base de datos, en la tabla usuarios. Si ingresamos como cliente, el mail debe estar cargado en la tabla cuentas. Si entra como vendedor, el mail debe estar en la tabla vendedores. 

Para completar esos datos entramos a la version de escritorio y cargamos los datos del mail en el usuario (para esta prueba)

El cliente y el vendedor tiene los permisos del usuario Cliente web y Vendedor Web para los casos de uso.

image-1689001869275.png

En el archivo schema.xml se guardan los datos de la ultima versión de la estructura de los datos. Se encuentra en la raíz de las soluciones. Ese archivo se puede copiar en el BIN->Debug de la solucion para actualizarla

image-1689002546150.png

Luego se verifica la estructura de la base y se repara

image-1689003779230.png

Entramos a la base de datos y completamos los datos del usuario

image-1689003917975.png

Una vez cargado el dato ejecutamos la solución B2B. Nos figura el mail al cargar el nombre de usuario, y se nos envía por mail un código

image-1689004116884.png

Finalmente ingresamos al sistema B2B

image-1689005489458.png

image-1689005513274.png

Wisej Tiene los controles creados en memoria del lado del servidor y en java script del lado del browser, y tiene una comunicación a través de Web Socket, una tecnología que soporta a los navegadores. Para ver dos veces abierto un caso de uso se abre otra solapa en el navegador.

El proyecto BaseControl tiene los controles ya diseñados. BasePage tiene la pagina y BasePanel contiene los controles para cada caso de uso. Por cada nuevo caso de uso creamos un Panel

image-1689009779461.png

POr ejemplo, entramos a un panel. Es muy util, en el cuadro de herramientas el esquema del documento

image-1689010993035.png

 

image-1689011332041.png

Para agregar un nuevo panel, vamos a la solución y agregamos un nuevo elemento

image-1689012295665.png

 

image-1689012393825.png

 

image-1689012485602.png

image-1689012568593.png

Este control hereda de BasePanel, y alli comenzamos a acomodar los demas controles, creando el Layout de modo tal que sea Responsivo

image-1689012846480.png

image-1689012996924.png

Una vez creado el panel, creamos el caso de uso. Alli cargamos en formula (lo hacemos en el sabio de escritorio porque aun no esta terminado el abm de casos de uso en B2B)

image-1689013141672.png

image-1689013289508.png

Acomodamos la ubicacion del panel

image-1689013403324.png

Al ejecutar el caso de uso, ubicado en Dto X Vta se muestra en el navegador

El esta ubicacion se graba los cambios realizados en la base con su codigo en SQL

image-1689013652996.png

En el caso de que el usuario solo tenga permiso para los casos de uso de Gestión de pedidos, lo otros casos de uso no figuran y se acomoda la jerarquía solo para los que si tiene acceso

image-1689013859594.png

Mientras vemos el layout de un panel, veremos solo lo siguiente:

image-1689014851009.png

Es el codigo lo que completa las funcionalidades del caso de uso

image-1689014935122.png

Por ejemplo hacemos lo siguiente para configurar los filtros

image-1689015054154.png

image-1689015121309.png

image-1689015141123.png

image-1689014979030.png

Para crear una nueva rama del repositorio vamos a Current Branch y presionamos New Branch

image-1689015459669.png

lo ideal es hacer un merge en la rama que utilizamos desde la testing antes de hacer un merge en testing