Пример #1
0
        public ListarObras(int idUsuario, string cargo = "")
        {
            InitializeComponent();
            mensaje = new VentanaMensaje();
            ObraResponsableItems = new ObservableCollection <ObraResponsableItem>();
            //ObraItems = new ObservableCollection<ObraItem>();
            IdUsuario = idUsuario;

            #region Cargar Obras Segun El Cargo
            if (cargo == "Gerente")
            {
                CargarObraAdminItems();
                this.Title = "Administrador";
            }
            if (cargo == "Responsable")
            {
                CargarObraResponsableItems();
                this.Title = "Responsable";
            }
            if (cargo == "Asistente")
            {
                this.Title = "Asistente";
                CargarObraSupervisorItems();
            }
            #endregion

            RefreshObraCommand = new Command(() =>
            {
                ObraResponsableItems.Clear();
                // CargarObraResponsableItems();
                IsRefreshingObraResponsable = false;
            });

            this.BindingContext = this; // Contexto de los Bindings Clase Actual Importante para que pueda funcionar el refresco de la lista con Gestos
        }
Пример #2
0
        /// <summary>
        /// Actualiza un material de forma asíncrona.
        /// </summary>
        /// <returns></returns>
        private async Task Editar()
        {
            Material materialPeticion = new Material(this.material.Id, this.campoNombre.Text.Trim(), this.campoProveedor.Text.Trim(), this.campoClave.Text.Trim(), Double.Parse(this.campoPrecio.Text.Trim()), this.checkIva.IsChecked.Value)
            {
                Ancho    = Double.Parse(this.campoAncho.Text.Trim()),
                Alto     = Double.Parse(this.campoAlto.Text.Trim()),
                Grosor   = Double.Parse(this.campoGrosor.Text.Trim()),
                Moneda   = (Moneda)this.comboMonedas.SelectedItem,
                Acabados = this.acabadosEditar
            };

            Object[] respuesta = await materialPeticion.EditarMaterial(this.acabadosAgregar, this.acabadosQuitar);

            VentanaMensaje.Mensaje tipo;
            string mensaje;

            if ((bool)respuesta[0])
            {
                tipo    = VentanaMensaje.Mensaje.exito;
                mensaje = "Material actualizado";
                this.botonEliminar.Content = "Regresar";
                this.VaciarListas();
                this.ActualizarAcabadosEditados((IList <Acabado>)respuesta[1]);
            }
            else
            {
                tipo    = VentanaMensaje.Mensaje.exito;
                mensaje = "Lo sentimos, no pudimos actualizar el Material";
            }
            VentanaMensaje vMensaje = new VentanaMensaje(tipo, "Edicion", mensaje, VentanaMensaje.Botones.ok, this.cargador.Principal);

            vMensaje.ShowDialog();
        }
Пример #3
0
        private void BotonQuitarAcabado_Click(object sender, RoutedEventArgs e)
        {
            Object elemento = this.listaAcabados.SelectedItem;

            if (elemento != null)
            {
                Acabado acabado = (Acabado)elemento;
                this.acabados.Remove(acabado);
                if (this.acabadosEditar.Contains(acabado))
                {
                    this.acabadosEditar.Remove(acabado);
                }
                else if (this.acabadosAgregar.Contains(acabado))
                {
                    this.acabadosAgregar.Remove(acabado);
                }
                this.acabadosQuitar.Add(acabado);
                this.LimpiarFormularioAcabado();
                this.listaAcabados.Items.Refresh();
            }
            else
            {
                VentanaMensaje ventanaMensaje = new VentanaMensaje(VentanaMensaje.Mensaje.info, "Elemento no seleccionado", "Debes seleccionar un acabado para quitar", VentanaMensaje.Botones.ok, this.cargador.Principal);
                ventanaMensaje.ShowDialog();
            }
        }
Пример #4
0
        //new public event PropertyChangedEventHandler PropertyChanged;
        #endregion


        public AgregarPersonal()
        {
            InitializeComponent();
            guardar.Clicked  += Guardar_Clicked;
            dialogService     = new VentanaMensaje();
            cancelar.Clicked += Cancelar_Clicked;
        }
Пример #5
0
        /// <summary>
        /// Registra un material de forma asíncrona.
        /// </summary>
        /// <returns></returns>
        private async Task Registrar()
        {
            Material materialPeticion = new Material(0, this.campoNombre.Text.Trim(), this.campoProveedor.Text.Trim(), this.campoClave.Text.Trim(), Double.Parse(this.campoPrecio.Text.Trim()), this.checkIva.IsChecked.Value)
            {
                Ancho    = Double.Parse(this.campoAncho.Text.Trim()),
                Alto     = Double.Parse(this.campoAlto.Text.Trim()),
                Grosor   = Double.Parse(this.campoGrosor.Text.Trim()),
                Moneda   = (Moneda)this.comboMonedas.SelectedItem,
                Acabados = this.acabados
            };
            Material materialRespuesta = await materialPeticion.RegistrarMaterial(this.categoria.Id);

            VentanaMensaje.Mensaje tipo;
            string mensaje;

            if (materialRespuesta.Id == 0)
            {
                tipo    = VentanaMensaje.Mensaje.error;
                mensaje = "Lo sentimos, no pudimos registrar el material";
            }
            else
            {
                tipo          = VentanaMensaje.Mensaje.exito;
                mensaje       = "Material registrado";
                this.material = materialRespuesta;
                this.acabados = this.material.Acabados;
                this.listaAcabados.ItemsSource = this.acabados;
                this.botonEliminar.Content     = "Regresar";
                this.LimpiarFormularioAcabado();
                this.VaciarListas();
            }
            VentanaMensaje vMensaje = new VentanaMensaje(tipo, "Registro", mensaje, VentanaMensaje.Botones.ok, this.cargador.Principal);

            vMensaje.ShowDialog();
        }
Пример #6
0
        /// <summary>
        /// Registra un usuario de forma asíncrona.
        /// </summary>
        /// <returns></returns>
        private async Task Registrar()
        {
            string  correo          = this.campoCorreo.Text.Trim();
            string  correoNoArroba  = correo.Replace("@", "");
            Usuario usuarioPeticion = new Usuario(0, this.campoNombre.Text.Trim(), correo, this.campoPuesto.Text.Trim(), correoNoArroba, Encriptacion.Sha256(correoNoArroba))
            {
                Permisos = (IList <Permiso>) this.tablaPermisos.ItemsSource
            };
            Usuario usuarioRespuesta = await usuarioPeticion.RegistrarUsuario();

            VentanaMensaje.Mensaje tipo;
            string mensaje;

            if (usuarioRespuesta.Id == 0)
            {
                tipo    = VentanaMensaje.Mensaje.error;
                mensaje = "Lo sentimos, no pudimos registrar el usuario";
            }
            else
            {
                tipo         = VentanaMensaje.Mensaje.exito;
                mensaje      = "Usuario registrado";
                this.usuario = usuarioRespuesta;
                this.tablaPermisos.ItemsSource = this.usuario.Permisos;
                this.botonEliminar.Content     = "Regresar";
            }
            VentanaMensaje vMensaje = new VentanaMensaje(tipo, "Registro", mensaje, VentanaMensaje.Botones.ok, this.cargador.Principal);

            vMensaje.ShowDialog();
        }
Пример #7
0
        /// <summary>
        /// Muestra un mensaje de corrección de la información del usuario.
        /// </summary>
        /// <param name="datos">Enumerador como identificador de invalidéz de los datos.</param>
        private void MostrarMensajeDatos(DatosUsuario datos)
        {
            VentanaMensaje ventanaMensaje;
            string         mensaje;

            switch (datos)
            {
            case DatosUsuario.nombre:
                mensaje = "El campo 'Nombre' debe tener entre 5 y 100 caractéres";
                break;

            case DatosUsuario.correoLongitud:
                mensaje = "El campo 'Correo' debe tener entre 5 y 100 caractéres";
                break;

            case DatosUsuario.correoIncorrecto:
                mensaje = "El campo 'Correo' no es correcto";
                break;

            //Puesto:
            default:
                mensaje = "El campo 'Puesto' debe tener entre 5 y 100 caractéres";
                break;
            }
            ventanaMensaje = new VentanaMensaje(VentanaMensaje.Mensaje.info, "Datos no válidos", mensaje, VentanaMensaje.Botones.ok, this.cargador.Principal);
            ventanaMensaje.ShowDialog();
        }
Пример #8
0
        /// <summary>
        /// Actualiza un usuario de forma asíncrona.
        /// </summary>
        /// <returns></returns>
        private async Task Editar()
        {
            Usuario usuarioPeticion = new Usuario(this.usuario.Id, this.campoNombre.Text.Trim(), this.campoCorreo.Text.Trim(), this.campoPuesto.Text.Trim(), "", "")
            {
                Permisos = this.usuario.Permisos
            };
            bool edicion = await usuarioPeticion.EditarUsuario();

            VentanaMensaje.Mensaje tipo;
            string mensaje;

            if (edicion)
            {
                this.usuario = usuarioPeticion;
                tipo         = VentanaMensaje.Mensaje.exito;
                mensaje      = "Usuario actualizado";
                this.botonEliminar.Content = "Regresar";
            }
            else
            {
                tipo    = VentanaMensaje.Mensaje.exito;
                mensaje = "Lo sentimos, no pudimos actualizar el usuario";
            }
            VentanaMensaje vMensaje = new VentanaMensaje(tipo, "Edicion", mensaje, VentanaMensaje.Botones.ok, this.cargador.Principal);

            vMensaje.ShowDialog();
        }
Пример #9
0
        public AgregarObra(int idObra, string Codigo, string Nombre, int idPropietario, int idResponsable, int idPropietarioObra)
        {
            // Preparando la UI(Interfas de usuario) MODIFICAR OBRA
            InitializeComponent();
            lblPropietario.Text = "Asigne un propietario " + App.opcional;
            lblResponsable.Text = "Asigne un responsable " + App.opcional;
            this.Title          = Nombre; // nombre de la pagina
            nombre.Text         = Nombre; // Lenando el campo Nombre Obra
            codigo.Text         = Codigo; // llenando el campo Codigo Obra
            IdObra                   = Convert.ToInt16(idObra);
            IdPropietario            = idPropietario;
            IdResponsabe             = idResponsable;
            IdPropietarioObra        = idPropietarioObra;
            asignarPropietario.Title = "Asigne un nuevo propietario"; // Titulo POP UPS Propietario
            asignarResponsable.Title = "Asigne un nuevo responsable"; // Titulo POP UPS Responsable
            guardar.Text             = "Guardar Cambios";             // Cambiando el texto del Button Guargar a Guardar Cambios

            // Servicios
            mensaje = new VentanaMensaje();

            // ObservableCollection
            propietarioItem = new ObservableCollection <PropietarioItem>();
            personalItem    = new ObservableCollection <PersonalItem>();

            // Cargando las listas en los POP UPS
            CargarPropietarioItem();
            CargarPersonalItem();


            // Comandos
            commandCambiarPropietario = new Command(() =>
            {
                CargarPropietarioItem();
                asignarPropietario.ItemsSource = propietarioItem;
                asignarPropietario.Focus();
            });

            commandBorrarPropietario = new Command(() =>
            {
                asignarPropietario.SelectedValue = 0;
                DisplayAlert("Mensaje", "Se eliminó al propietario", "Aceptar");
            });

            commandCambiarResponsable = new Command(() =>
            {
                CargarPersonalItem();
                asignarResponsable.ItemsSource = personalItem;
                asignarResponsable.Focus();
            });
            commandBorrarResponsable = new Command(() =>
            {
                asignarResponsable.SelectedValue = 0;
                DisplayAlert("Mensaje", "Se eliminó al responsable", "Aceptar");
            });

            // Eventos Guardar Y Cancelar
            guardar.Clicked  += modificarObra;
            cancelar.Clicked += Cancelar_Clicked;
        }
Пример #10
0
 // ===================== Constructor Para Crear Propietario ===================== //
 public AgregarPropietario()
 {
     InitializeComponent();
     guardar.Clicked += Guardar_Clicked;
     dialogService    = new VentanaMensaje();
     // eventos
     cancelar.Clicked += Cancelar_Clicked;
 }
Пример #11
0
        public CrearSupervision()
        {
            InitializeComponent();
            personalItem = new ObservableCollection <PersonalItem>();
            mensaje      = new VentanaMensaje();

            // cargar listas
            CargarPersonalItem();
        }
Пример #12
0
        public PaginaUsuario()
        {
            InitializeComponent(); // inicializa todo los componentes de la UI

            // Servicios
            mensaje = new VentanaMensaje();


            if (Application.Current.Properties.ContainsKey("cargoUsuario"))               // condisional que busca si cargo usuario exite este valo fue almacenado el iniciar sesión
            {
                string cargo = Application.Current.Properties["cargoUsuario"].ToString(); // Recuperando el cargo string y alamacenando en una variable cargo


                #region ++++++++++++++++++++++++++++++++++++++ General ++++++++++++++++++++++++++++++++++++++
                // --------------- Imprimiendo datos del usuario logeado --------------- //


                if (Application.Current.Properties.ContainsKey("nombresApellidos"))
                {
                    nombreUsuario.Text = Application.Current.Properties["nombresApellidos"].ToString();
                }
                cargoUsuario.Text = cargo;


                #endregion


                #region //============================ Zona Administrador ===================================//
                if (cargo == "Gerente")
                {
                    interfazResponsable.IsVisible = false;
                    interfazSupervisor.IsVisible  = false;
                }
                #endregion



                #region ++ =============================== Zona Responsable =============================== ++
                if (cargo == "Responsable")
                {
                    interfazAdministrador.IsVisible = false;
                }

                #endregion



                #region ** =============================== Zona Supervision =============================== **
                if (cargo == "Asistente")
                {
                    interfazAdministrador.IsVisible = false;
                    interfazResponsable.IsVisible   = false;
                }
                #endregion
            }
        }
Пример #13
0
        public AgregarPlantilla()
        {
            InitializeComponent();
            // servicios
            dialogService = new VentanaMensaje();

            // Eventos
            guardar.Clicked  += Guardar_Clicked;
            cancelar.Clicked += Cancelar_Clicked;
        }
Пример #14
0
 public App()
 {
     //recupero por única vez cuando entro a la aplicación el IP de servidor
     mensaje = new VentanaMensaje();
     //ObtenerIpAsync();
     //ip = "192.168.1.111";
     ip = "192.168.1.37";
     InitializeComponent();
     MainPage = new LoginPage();
 }
Пример #15
0
        /// <summary>
        /// Muestra un mensaje de corrección de la información ingresada.
        /// </summary>
        /// <param name="datos">Enumerador con el estado de invalidéz de los datos.</param>
        private void MostrarMensajeDatos(DatosMaterial datos)
        {
            string mensaje;

            switch (datos)
            {
            case DatosMaterial.nombre:
                mensaje = "El campo 'Nombre' debe tener entre 5 y 100 caractéres";
                break;

            case DatosMaterial.clave:
                mensaje = "El campo 'Clave' debe tener entre 5 y 100 caractéres";
                break;

            case DatosMaterial.proveedor:
                mensaje = "El campo 'Proveedor' debe tener entre 5 y 100 caractéres";
                break;

            case DatosMaterial.precio:
                mensaje = "El campo 'Precio' es requerido";
                break;

            case DatosMaterial.precioIncorrecto:
                mensaje = "El campo 'Precio' no es correcto";
                break;

            case DatosMaterial.ancho:
                mensaje = "El campo 'Ancho' es requerido";
                break;

            case DatosMaterial.anchoIncorrecto:
                mensaje = "El campo 'Ancho' no es correcto";
                break;

            case DatosMaterial.alto:
                mensaje = "El campo 'Alto' es requerido";
                break;

            case DatosMaterial.altoIncorrecto:
                mensaje = "El campo 'Alto' no es correcto";
                break;

            case DatosMaterial.grosor:
                mensaje = "El campo 'Grosor' es requerido";
                break;

            //Grosor incorrecto:
            default:
                mensaje = "El campo 'Grosor' no es correcto";
                break;
            }
            VentanaMensaje ventanaMensaje = new VentanaMensaje(VentanaMensaje.Mensaje.info, "Datos no válidos", mensaje, VentanaMensaje.Botones.ok, this.cargador.Principal);

            ventanaMensaje.ShowDialog();
        }
Пример #16
0
        //new public event PropertyChangedEventHandler PropertyChanged;
        #endregion


        public AgregarPersonal()
        {
            InitializeComponent();
            #region ================labels===================
            lblCelular.Text = "Celular " + App.opcional;
            lblCIP.Text     = "CIP " + App.opcional;
            #endregion
            guardar.Clicked  += Guardar_Clicked;
            dialogService     = new VentanaMensaje();
            cancelar.Clicked += Cancelar_Clicked;
        }
Пример #17
0
        /// <summary>
        /// Solicita la confirmación para la baja de un material seleccionado.
        /// </summary>
        private void SolicitarConfirmacionBaja()
        {
            VentanaMensaje vMensaje  = new VentanaMensaje(VentanaMensaje.Mensaje.confirmacion, "Baja", "¿Está seguro de eliminar el material?", VentanaMensaje.Botones.okCancel, this.cargador.Principal);
            bool?          respuesta = vMensaje.ShowDialog();

            if (respuesta.Value)
            {
                this.botonEliminar.IsEnabled = false;
                Material material = (Material)this.tabla.SelectedItem;
                this.EliminarMaterial(material);
            }
        }
Пример #18
0
        /// <summary>
        /// Verifica la selección de un elemento de la tabla.
        /// </summary>
        /// <param name="seleccion">Enumerador con el tipo de acción a realizar.</param>
        /// <returns>
        /// Un booleano con la confirmación de selección.
        /// </returns>
        private bool ValidarSeleccion(Seleccion seleccion)
        {
            Object elemento = this.tabla.SelectedItem;
            bool   valida   = elemento != null;

            if (!valida)
            {
                string         mensaje        = seleccion == Seleccion.editar ? "editar" : "eliminar";
                VentanaMensaje ventanaMensaje = new VentanaMensaje(VentanaMensaje.Mensaje.info, "Elemento no seleccionado", "Debes seleccionar un elemento para " + mensaje + ".", VentanaMensaje.Botones.ok, this.cargador.Principal);
                ventanaMensaje.ShowDialog();
            }
            return(valida);
        }
Пример #19
0
        public LoginPage()
        {
            InitializeComponent();
            mensaje         = new VentanaMensaje();
            enviar.Clicked += Enviar_Clicked;

            // TEST
            this.BindingContext = this; // linea que define el contexto del XAML
            // TEST

            /*enviar.IsEnabled = false;
             * VerificarIP();*/
        }
Пример #20
0
        public AgregarObra()
        {
            // Preparando la UI(Interfas de usuario)
            InitializeComponent();
            this.Title          = "Crear Obra"; // nombre de la pagina
            lblPropietario.Text = "Asigne un propietario " + App.opcional;
            lblResponsable.Text = "Asigne un responsable " + App.opcional;
            // Servicios
            mensaje = new VentanaMensaje();

            // ObservableCollection
            propietarioItem = new ObservableCollection <PropietarioItem>();
            personalItem    = new ObservableCollection <PersonalItem>();

            // Cargando las listas en los POP UPS
            CargarPropietarioItem();
            CargarPersonalItem();

            // Eventos Guardar Y Cancelar
            cancelar.Clicked += Cancelar_Clicked;
            guardar.Clicked  += Guardar_Clicked;

            // Comandos
            commandCambiarPropietario = new Command(() =>
            {
                CargarPropietarioItem();
                asignarPropietario.ItemsSource = propietarioItem;
                asignarPropietario.Focus();
            });

            commandBorrarPropietario = new Command(() =>
            {
                asignarPropietario.SelectedValue = 0;
                DisplayAlert("Mensaje", asignarResponsable.SelectedValue + " " + asignarResponsable.SelectedValuePath, "Aceptar");
            });

            commandCambiarResponsable = new Command(() =>
            {
                CargarPersonalItem();
                asignarResponsable.ItemsSource = personalItem;
                asignarResponsable.Focus();
            });
            commandBorrarResponsable = new Command(() =>
            {
                asignarResponsable.SelectedValue = 0;
                DisplayAlert("Mesaje", asignarResponsable.SelectedValue + " " + asignarResponsable.SelectedValuePath, "Aceptar");
            });

            // Esstablecinedo el Contexto para poder usar lus bindings
            this.BindingContext = this;
        }
Пример #21
0
        public App()
        {
            //recupero por única vez cuando entro a la aplicación el IP de servidor
            mensaje = new VentanaMensaje();
            //ObtenerIpAsync();
            //ip = "192.168.1.111";
            //ip = "192.168.1.43";
            ip = "190.117.145.7";
            //ip = "190.42.122.110";

            InitializeComponent();
            MainPage = new LoginPage();
            Current.Properties["direccionApp"] = "";
        }
Пример #22
0
        /// <summary>
        /// Obtiene los usuarios relacionados con una palabra clave de forma asíncrona.
        /// </summary>
        /// <param name="clave">Palabra clave para la búsqueda.</param>
        /// <returns></returns>
        private async Task BuscarUsuarios(string clave)
        {
            IList <Usuario> usuariosBusqueda = await Usuario.ObtenerUsuarios(clave);

            if (usuariosBusqueda == null)
            {
                VentanaMensaje ventanaMensaje = new VentanaMensaje(VentanaMensaje.Mensaje.info, "Datos no válidos", "Escribe una palabra clave para buscar", VentanaMensaje.Botones.ok, this.cargador.Principal);
                ventanaMensaje.ShowDialog();
            }
            else
            {
                this.usuarios = usuariosBusqueda;
                this.CargarUsuarios();
            }
        }
Пример #23
0
        /// <summary>
        /// Obtiene los materiales relacionados con una palabra clave de forma asíncrona.
        /// </summary>
        /// <param name="clave">Palabra clave para la búsqueda (campo de búsqueda).</param>
        /// <returns></returns>
        private async Task BuscarMateriales(string clave)
        {
            IList <Material> materialesBusqueda = await Material.ObtenerMateriales(this.categoria.Id, clave);

            if (materialesBusqueda == null)
            {
                VentanaMensaje ventanaMensaje = new VentanaMensaje(VentanaMensaje.Mensaje.info, "Datos no válidos", "Escribe una palabra clave para buscar", VentanaMensaje.Botones.ok, this.cargador.Principal);
                ventanaMensaje.ShowDialog();
            }
            else
            {
                this.materiales = materialesBusqueda;
                this.CargarMateriales();
            }
        }
        public ListarObrasAdmin()
        {
            //InitializeComponent();
            InitializeComponent();
            mensaje   = new VentanaMensaje();
            ObraItems = new ObservableCollection <ObraItem>();
            CargarObrasItem();

            RefrescandoObrasCommand = new Command(() =>
            {
                ObraItems.Clear();
                CargarObrasItem();
                RefrescandoObras = false;
            });

            this.BindingContext = this; // Contexto de los Bindings Clase Actual Importante para que pueda funcionar el refresco de la lista con Gestos
        }
Пример #25
0
        /// <summary>
        /// Elimina un material de forma asíncrona.
        /// </summary>
        /// <param name="material">Material para eliminar.</param>
        /// <returns></returns>
        private async Task EliminarMaterial(Material material)
        {
            bool baja = await material.EliminarMaterial();

            VentanaMensaje.Mensaje tipo;
            string mensaje;

            if (baja)
            {
                tipo    = VentanaMensaje.Mensaje.exito;
                mensaje = "Material eliminado";
                this.BorrarMaterial(material);
            }
            else
            {
                tipo    = VentanaMensaje.Mensaje.error;
                mensaje = "Lo sentimos, no pudimos eliminar el material";
            }
            VentanaMensaje vMensaje = new VentanaMensaje(tipo, "Baja", mensaje, VentanaMensaje.Botones.ok, this.cargador.Principal);

            vMensaje.ShowDialog();
            this.botonEliminar.IsEnabled = true;
        }
Пример #26
0
        /// <summary>
        /// Muestra un mensaje de error.
        /// </summary>
        /// <param name="mensaje">Texto del mensaje.</param>
        private void MostrarMensajeError(string mensaje)
        {
            VentanaMensaje ventanaMensaje = new VentanaMensaje(VentanaMensaje.Mensaje.info, "Datos no válidos", mensaje, VentanaMensaje.Botones.ok, this);

            ventanaMensaje.ShowDialog();
        }
Пример #27
0
        /// <summary>
        /// Muestra un mensaja para informar sobre la edición / creación de un acabado.
        /// </summary>
        private void MostrarMensajeEdicion()
        {
            VentanaMensaje ventanaMensaje = new VentanaMensaje(VentanaMensaje.Mensaje.info, "Acabado", "Aún no guardas el nuevo acabado", VentanaMensaje.Botones.ok, this.cargador.Principal);

            ventanaMensaje.ShowDialog();
        }