Exemple #1
0
        /// <summary>
        /// Propósito: Método Update. Actualiza una fila existente en la base de datos.
        /// </summary>
        /// <returns>True si tuvo éxito, sino genera una Exception. </returns>
        /// <remarks>
        /// Propiedades necesarias para este método:
        /// <UL>
        ///		 <LI>Id_Empresa</LI>
        ///		 <LI>Puntaje</LI>
        ///		 <LI>Comentario</LI>
        ///		 <LI>FK_idPersona</LI>
        ///		 <LI>FK_idEmpresa</LI>
        /// </UL>
        /// Propiedades actualizadas luego de una llamada exitosa a este método:
        /// <UL>
        ///		 <LI>CodError</LI>
        /// </UL>
        /// </remarks>
        public override bool Actualizar()
        {
            string operacion;

            //SeguridadSoapClient wsseg = new SeguridadSoapClient();
            try
            {
                //Construir aqui el string a guardar en la bitacora.
                operacion = "Actualizar cIATCalificacionEmpresa;"
                            + "Id_Empresa:" + Id_Empresa.ToString() + ";"
                            + "Puntaje:" + Puntaje.ToString() + ";"
                            + "Comentario:" + Comentario.ToString() + ";"
                            + "FK_idPersona:" + FK_idPersona.ToString() + ";"
                            + "FK_idEmpresa:" + FK_idEmpresa.ToString() + ";";
                //wsseg.BitacoraRegistrarUso(_COD_APLICACIONBitacora, _COD_FUNCIONALIDADBitacora, _COD_SEDEBitacora, eTipoEventoBitacora.UsoFuncionalidad, _ID_USUARIOBitacora,operacion);
                return(base.Actualizar());
            }
            catch (Exception ex)
            {
                //Construir el string a guardar en la bitácora en caso de error.
                operacion = "Error Actualizar cIATCalificacionEmpresa;" + ex.Message;
                //wsseg.BitacoraRegistrarUso(_COD_APLICACIONBitacora, _COD_FUNCIONALIDADBitacora, _COD_SEDEBitacora, eTipoEventoBitacora.Error, _ID_USUARIOBitacora,operacion);
                throw ex;
            }
        }
        private async void Guardar()
        {
            IsEnabled = false;
            #region Miranda: Guardar Tabla

            #region Ciclo para Guardar en Persistencia
            if (Application.Current.Properties.ContainsKey("ContadorAcciones"))//verifico cuantos elementos tiene mi lista para saber cual es la psocion del nuevo elemento a agregar
            {
                Elementos = (int.Parse((Application.Current.Properties["ContadorAcciones"]) as string));
            }
            else
            {
                Elementos = 0;
            }

            Application.Current.Properties["TipoAccion" + Elementos]  = TipoAccion.ToString();
            Application.Current.Properties["FechaAccion" + Elementos] = FechaAccion.ToString();
            Application.Current.Properties["Responsable" + Elementos] = ResponsableAccion.ToString();
            Application.Current.Properties["Comentario" + Elementos]  = Comentario.ToString();
            Application.Current.Properties["ContadorAcciones"]        = (Elementos + 1).ToString();
            await Application.Current.SavePropertiesAsync();

            #endregion


            int filas;
            filas         = Elementos + 1;
            HeighListView = 44 * filas;//actalizo mi heigh
            await Application.Current.MainPage.DisplayAlert("Notificación", "Usted Tiene hasta Ahora: " + filas + " Acciones", "Excelente");

            IsEnabled = true;
            Acciones.Add(new Accion()
            {
                Comentario  = Comentario.ToString(),
                FechaAccion = FechaAccion,
                TipoAccion  = TipoAccion.ToString(),
                Responsable = ResponsableAccion.ToString(),
            });
            AnMeliponarioCajaViewModel.GetInstance().AccionesCaja   = Acciones;           //asigno los datos de mi lista
            AnMeliponarioCajaViewModel.GetInstance().HeighListViewB = this.HeighListView; //actualizo el heigh de mi vista anterior

            await Application.Current.MainPage.Navigation.PopAsync();


            #endregion


            TipoAccion        = string.Empty;
            OrigenColonia     = string.Empty;
            ResponsableAccion = string.Empty;
            Comentario        = string.Empty;
            IsEnabled         = true;
        }
        async void Guardar()
        {
            isEnabled = false;
            if (string.IsNullOrEmpty(FechaEntrega.ToString()))
            {
                await Application.Current.MainPage.DisplayAlert("error", "Debe Llenar El Campo Fecha", "Excelente");

                IsEnabled = true;
                return;
            }
            var fecha = FechaEntrega.ToString();

            #region Limpiar Cache //borrar los datos existentes en persistencia

            if (Application.Current.Properties.ContainsKey("ContadorAcciones"))
            {
                Elementos = int.Parse((Application.Current.Properties["ContadorAcciones"]) as string);
            }
            else
            {
                Elementos = 0;
            }
            for (int j = 0; j < Elementos; j++) //Elementos va a representar el total de elementos o filas existentes en mi persistencia
            {
                if (Application.Current.Properties.ContainsKey("TipoAccion" + j))
                {
                    Application.Current.Properties.Remove("TipoAccion" + j);
                }
                if (Application.Current.Properties.ContainsKey("FechaAccion" + j))
                {
                    Application.Current.Properties.Remove("FechaAccion" + j);
                }
                if (Application.Current.Properties.ContainsKey("Responsable"))
                {
                    Application.Current.Properties.Remove("Responsable");
                }
                if (Application.Current.Properties.ContainsKey("Comentario"))
                {
                    Application.Current.Properties.Remove("Comentario");
                }
            }

            #endregion

            #region Ciclo para Guardar en Persistencia mi lista Actual
            i = 0; //inicio el contador de mis elementos o filas en (0)
            foreach (var action in AccionesCaja)
            {
                Application.Current.Properties["TipoAccion" + i]  = action.TipoAccion.ToString();
                Application.Current.Properties["FechaAccion" + i] = action.FechaAccion.ToString();
                Application.Current.Properties["Responsable" + i] = action.Responsable.ToString();
                Application.Current.Properties["Comentario" + i]  = action.Comentario.ToString();
                i++;
                Application.Current.Properties["ContadorAcciones"] = i.ToString();
                await Application.Current.SavePropertiesAsync();
            }

            #endregion

            int filas;
            filas = AccionesCaja.Count;
            Application.Current.Properties["ContadorAcciones"] = filas.ToString();   //hay que examinar esta linea, es de prueba porque creo que no se actualiza bien el contador en la otra viewmodel cuando se borran todos los registros y esta linea evita eso
            HeighListViewB = 44 * filas;                                             //actalizo mi heigh
            ANAccionMeliponarioViewModel.GetInstance().Acciones = this.AccionesCaja; //asigno los datos de mi lista
            await Application.Current.MainPage.DisplayAlert("Notificación", "Usted Tiene hasta Ahora: " + filas + " Acciones en Persistencia", "Excelente");

            await Application.Current.MainPage.DisplayAlert(
                "Hola",
                IdCaja + " " + Tipo + " " + Productor + " " + fecha + " " + Comentario + " " + Origen + " " + FloraNueva,
                "Aceptar");


            #region Miranda: Guardar Tabla Cajas

            #region Ciclo para Guardar en Persistencia
            if (Application.Current.Properties.ContainsKey("Contadorcajas"))//verifico cuantos elementos tiene mi lista para saber cual es la psocion del nuevo elemento a agregar
            {
                ElementosCaja = (int.Parse((Application.Current.Properties["Contadorcajas"]) as string));
            }
            else
            {
                ElementosCaja = 0;
            }

            if (FloraNueva)
            {
                activacaja = "No";
            }
            else
            {
                activacaja = "Si";
            }
            string fechaEntrega = FechaEntrega.ToString();
            if (string.IsNullOrEmpty(Tipo))
            {
                Tipo = "";
            }
            if (string.IsNullOrEmpty(Comentario))//si no hago esto, se le pasan valores nulos a persistencia
            {
                Comentario = "";
            }

            Application.Current.Properties["Idcaja" + ElementosCaja]           = IdCaja.ToString();
            Application.Current.Properties["Tipocaja" + ElementosCaja]         = Tipo.ToString();
            Application.Current.Properties["Fechaentregacaja" + ElementosCaja] = (FechaEntrega).ToString(); //revisar, cuando no se selecciona fecha esta linea manda error OJOO
            Application.Current.Properties["Activacaja" + ElementosCaja]       = activacaja.ToString();
            Application.Current.Properties["Comentariocaja" + ElementosCaja]   = Comentario.ToString();
            Application.Current.Properties["Contadorcajas"] = (ElementosCaja + 1).ToString();
            await Application.Current.SavePropertiesAsync();

            #endregion


            int filascaja;
            filascaja         = ElementosCaja + 1;
            HeighListViewCaja = 44 * filascaja;//actalizo mi heigh
            await Application.Current.MainPage.DisplayAlert("Notificación", "Usted Tiene hasta Ahora: " + filascaja + " Cajas Registradas", "Excelente");

            Cajas.Add(new Caja()
            {
                Activa       = activacaja.ToString(),
                Comentario   = Comentario.ToString(),
                FechaEntrega = FechaEntrega,
                IdCaja       = IdCaja, //int
                TipoCaja     = Tipo.ToString(),
            });
            ANMeliponarioViewModel.GetInstance().CajasAN         = this.Cajas;             //asigno los datos de mi lista
            ANMeliponarioViewModel.GetInstance().HeighListViewAN = this.HeighListViewCaja; //actualizo el heigh de mi vista anterior
            IsEnabled = true;

            await Application.Current.MainPage.Navigation.PopAsync();

            #endregion
        }