instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web...

76
Documentación del Proyecto CommerciaMobileNEXT

Transcript of instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web...

Page 1: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Documentación del Proyecto CommerciaMobileNEXT

Page 2: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Se crea proyecto base Eys.CommerciaMobileNext en TFS para Inicio de desarrollo del Proyecto.

Se crean Proyecto Cross-Platform Xamarin.Forms (Portable)

Se eliminan proyectos No necesarios (ios, etc.)

Page 3: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Se crean los Directorios (Capas para el desarrollo del Proyecto)

Se agregan Referencias Nugget al Proyecto para el Uso de SQLite

- SQLite-Net-PCL- SQLiteNetExtensions

Page 4: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Se agrega Patrón de Diseño ServiceLocator a la Capa BLLX

Page 5: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Se agrega Clase DBManager para la creación de la Base de Datos local

Código fuente

Se crean los directorios de proyecto inicial

Se agrega Clase para el login

Page 6: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Se realiza el diseño del login

Page 7: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs
Page 8: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs
Page 9: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Se realiza el diseño del login para nip

Page 10: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs
Page 11: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Para agregar el menú Hamburger se necesitan las siguientes clases:

- RootPage.cs

Es la clase root que contiene el MenuPage, en esta clase se extraen los datos de la tabla MenuUsuario para formar el menú utilizando el método ServiceLocator, filtrado por la categoría MOB que significa Mobile.

Page 12: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

- MainMenu.cs

Es la clase que contiene el contenido del menú principal tipo Tiles.

Page 13: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Evento Tapped(Click) que detecta el click en el Tile para decidir que acción se va a realizar tomando en cuenta el campo Elemento de la tabla MenuElemento

Page 14: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

- MenuCell.cs

Es la clase que contiene el contenido de la celda del menú.

- MenuItem.cs

Es la clase que contiene los elementos del menú.

Page 15: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

- MenuListData.cs

Clase donde se obtiene el listado de elementos para el menú.

Revisar si tiene misma compatibilidad de campos 100% vs Menu/MenuElemento C.NET

Se revisó y no existe compatibilidad 100%

SUBIR A SHAREPOINT

Page 16: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs
Page 17: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

- MenuListView.cs

Es la clase que le da el diseño al contenido del menú.

- MenuPage.cs

Es la clase que contiene el menú.

Page 18: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Diseño del menú principal

Diseño del menú Hamburger

Buscadores

Page 19: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

1. Poner titulo de componente en titulo ventanaNo aplica ya que es un “control de usuario”, pero si es posible.

2. Investigar como poner pivot grid para búsqueda acelerada de elementos -> Ver con Arturo funcionalidad similar

3. Determinar presupuesto de hrs para decidir – 2 díasNo es posible, Xamarin.Forms no lo soporta.

Los buscadores se componen de cuatro elementos:

- Un Label con el titulo

- Un Picker con los filtros

- Una SearchBar

- Un ListView con los resultados de la búsqueda

Page 20: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs
Page 21: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

El método searchBar_TextChanged() es llamado por el evento TextChanged del Search bar, aquí es donde se realiza la búsqueda

Una vez realizada la búsqueda, ejecuta el método cargarClientesEncontrados que muestra la lista de coincidencias.

Page 22: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

MultilenguajeAgregamos una carpeta que contendrá los Resources para los diferentes lenguajes.

Agregamos tres ítems de tipo Resource que serán los lenguajes (español, inglés y el default)

Agregamos una interfaz ILocalize.cs a nuestra carpeta Util para obtener la Cultura

En la carpeta Util de nuestro proyecto Droid es necesario agregar una clase Localize para obtener la cultura (no es necesario para UWP)

Page 23: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Por ultimo, inicializamos la cultura en la clase App.cs de nuestro proyecto compartido(Portable)

Para utilizarlo se utiliza la siguiente sintaxis

En donde lbl_usuario es el identificador del valor.

Page 24: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

ConfiguraciónPara la configuración creamos dos clases, una clase Config.cs y otra Configuracion.cs

Dentro de la clase Config.cs se encuentran los métodos para agregar u obtener el valor a una key

En la clase Configuracion.cs está el método btnGuardar, en donde se asigna una key a los distintos valores que se guardaran en la configuracion.

Page 25: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs
Page 26: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Crear categorías:

1. Configuración a. Global

i. Generalii. Comprasiii. Inventariosiv. Ventasv. CXC/CXPvi. Perifericosvii. Interoperabilidad

b. Locali. Generalii. Comprasiii. Inventariosiv. Ventasv. Perifericos

IMPORTANTE:

1. Cada que se agregue una llave a la configuración SE DEBE DOCUMENTAR:

Llave Uso Default Notas Fecha ResponsableLocal.General.ClienteBuscaDefault Permite fijar un

criterio de búsqueda predeterminado para el comboBox de BuscaCliente

Todos Revisar búsqueda inteligente

Page 27: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Para cargar la configuración guardada se comprueba si existe algún key para los campos que se necesiten.

Se agregó clase Logger.cs para la administración del guardado de archivos Log.txt

Page 28: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

El archivo solo contendrá los últimos 50,000 caracteres de registro de errores para controlar la memoria del teléfono teniendo solamente los últimos errores de la aplicación.

(La forma en que Xamarin controla los archivos no permite agregar más líneas al documento, siempre sobrescribe el texto, por lo que se empleó una forma de mantener siempre guardado los últimos 50,000 caracteres).

Page 29: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Alta de clientesSe agregó clase abcClienteFormulario para dar de alta a clientes

Método de carga del formulario

Page 30: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs
Page 31: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Se revisa la configuración del usuario para determinar que controles se mostraran y en qué orden.

Page 32: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Por default se muestra el formulario completo en el orden especificado.

Page 33: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Método para guardar un nuevo cliente

Page 34: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs
Page 35: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Método para actualizar un cliente existente

Page 36: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Se agregó clase abcClienteFoto para la administración de la foto del cliente

En esta clase se encuentran los métodos para tomar una foto nueva o seleccionar una existente de la galería.

Page 37: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Se agrego clase Localization para obtener la localización

Se necesita intalar el nuget package Xam.Plugin.Geolocator.

Se crea el método que obtendrá la Ubicación.

Page 38: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs
Page 39: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Actualizar Cliente.Para actualizar un cliente primero hay que seleccionarlo en el buscador.

Una vez seleccionado se ejecuta el evento ItemTapped.

Page 40: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Una vez seleccionado el cliente, se ejecuta el método para cargar al cliente seleccionado en el formulario

Este método busca la información de cliente y contacto para llenar los campos del formulario.

Page 41: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Se agrego clase Expression para evaluar expresiones regulares para la validación del formato de entrada de diferentes textos (e-mail, RFC).

Page 42: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Se agrego un método en la alta de cliente para validar los campos obligatorios, asi como el formato de los campos que lo necesiten

Page 43: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs
Page 44: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

SincronizaciónSe agregó clase SyncSplash para controlar la sincronización y probar la conexión a internet.

Page 45: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Se agregó clase CatalogosSync a la capa BLLX, que administra la sincronización de los diferentes catálogos del sistema.

Se separo la sincronización en dos etapas.

Etapa 1

Catálogos que se sincronizan siempre.

Page 46: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Etapa 2

Catálogos que solo se sincronizan si es necesario.

Método Syncronizar.

En este método se realiza la administración de la sincronización por catálogo.

Primero se revisa si es necesario preparar la tabla, o sea que se eliminaran todos los registros y se actualizarán conforme a la tabla maestra.

Segundo

Se revisa la condición del catálogo.

Condiciones(no sincronizado, sincronizado y pendiente de actualizar, ya sea agregar más, eliminar o actualizar registro según sea el caso).

Page 47: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

La acción NO_SYNC significa que la tabla se encuentra vacia y hay que sincronizar toda la información.

La accion UPDATE_SYNC significa que se requiere actualizacion o en su caso sincronizacion, o sea, actualizar tanto al maestro como al hijo.

La acción SYNC significa que los catálogos están totalmente sincronizados.

Page 48: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Método isSynchronized.

Este determina las acciones por catálogo a como se explicó anteriormente.

Page 49: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs
Page 50: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs
Page 51: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs
Page 52: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

VENTA

Se crearon clases que se encargan de controlar la pantalla de venta en los diferentes dispositivos tanto móviles como escritorio, asi como los popups que este proceso incluye.

ContentVenta.cs y ContentVentaPhone.cs son las clases que contienen los elementos de la venta (los buscadores y la venta)

ItemVenta.cs es la clase que contiene las propiedades de los artículos que se agregan a la lista en la venta.

Page 53: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Venta.cs es la clase encargada de la administración de la venta, en ella se encuentran los diferentes métodos de los procesos que se realizan.

Page 54: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

El método cargarTitulos() se encarga de traer las columnas de la tabla operación columna para visualizarlos en la pantalla de venta

Page 55: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

El método Elementos_ItemTapped es un evento que se ejecuta al seleccionar un elemento de la venta, este método carga un popup con la información del articulo para modificarlo o eliminarlo

El método setObservacionMovimiento() guarda en el diccionario de llaves el id de los artículos que modificaron su descripcion

El método setElemento() agrega el articulo seleccionado al desglose de venta

Page 56: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs
Page 57: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs
Page 58: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Seleccionar ClienteAntes de comenzar con la venta, se debe seleccionar un cliente en la búsqueda de clientes

Y se reemplaza el buscador de clientes por el de artículos

Page 59: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Agregar ArtículoEsta clase es un popup que se crea al seleccionar un artículo del buscador.

En este método se actualiza la descripción del articulo si es que fue cambiada.

Page 60: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs
Page 61: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs
Page 62: instalacion2.equiposysistemas.netinstalacion2.equiposysistemas.net/eyscommercia2011/CNEXT... · Web viewPara agregar el menú Hamburger se necesitan las siguientes clases: - RootPage.cs

Modificar ArtículoEste popup tiene la misma funcionalidad que Agregar articulo, con la diferencia de que en este además se puede eliminar el articulo de la lista.