79438773

Date: 2025-02-14 08:43:12
Score: 1.5
Natty:
Report link

hi every one after many weak i haveit. for including data i have this code

    private HydrationRecord? hydrationRecord;
    private WeightRecord? weightRecord;
    private Record record;
    partial void InsertHydratacionParticular( double MililitresGrames, DateTimeOffset DringDataTime, Type type )
    {

        Java.Time.Instant instant = Java.Time.Instant.Parse(DringDataTime.ToString($"yyyy-MM-ddTHH:mm:ssZ"));
        try
        {
            CheckAndRequestHealthPermissions();
            try
            {
                InitializeHealthConnect();
            }
            catch( Exception )
            {

                throw;
            }
            // Zkontrolujeme HealthConnectManager
            if( HealthConnectManager == null )
            {
                throw new InvalidOperationException( "HealthConnectManager není inicializován" );
            }

            // Převedeme mililitry na litry


            // Vytvoříme metadata s explicitní inicializací
            var metadata = new Metadata.Builder()
        .Build();

            if( metadata == null )
            {
                throw new InvalidOperationException( "Nepodařilo se vytvořit metadata" );
            }

            // Vytvoříme záznam s kontrolami
            //var 
            if( type == typeof( HydrationRecord ) )
            {
                double liters = MililitresGrames / 1000.0;
                record = new HydrationRecord.Builder(
                            metadata,
                          instant, // Instant.Now(),
                          instant,  //Instant.Now(),
                            Volume.FromLiters( liters )
                        ).Build();
            }
            else
            {
                record = new WeightRecord.Builder(
            metadata,
          instant, // Instant.Now(),
            Mass.FromGrams( MililitresGrames )
        ).Build();
            }

            if( record == null )
            {
                throw new InvalidOperationException( "Nepodařilo se vytvořit záznam" );
            }

            // Vytvoříme list s kontrolou
            IList<Record> records = new List<Record> { record };

            // Vytvoříme executor s kontrolou
            var executor = Executors.NewSingleThreadExecutor();
            if( executor == null )
            {
                throw new InvalidOperationException( "Nepodařilo se vytvořit executor" );
            }

            // Vytvoříme receiver s kontrolou
            var outcomeReceiver = new HydrationOutcomeReceiver(result =>
            {
                Console.WriteLine("OnResult was called!");

                if (result != null)
                {
                    Console.WriteLine($"Received result: {result}");
                }
                else
                {
                    Console.WriteLine("Result was null");
                }
            });

            if( outcomeReceiver == null )
            {
                throw new InvalidOperationException( "Nepodařilo se vytvořit receiver" );
            }

            // Voláme InsertRecords s kontrolou všech parametrů
            HealthConnectManager.InsertRecords( records, executor, outcomeReceiver );
        }
        catch( Exception ex )
        {
            Console.WriteLine( $"Error inserting hydration record: {ex.Message}" );
            throw;
        }
    }

and for reading

        partial void GetHydratacionParticular( Type type )
    {
        try
        {
            CheckAndRequestHealthPermissions();
            try
            {
                InitializeHealthConnect();
            }
            catch( Exception )
            {
                throw;
            }

            if( HealthConnectManager == null )
            {
                throw new InvalidOperationException( "HealthConnectManager není inicializován" );
            }

            // Vytvoříme časové rozmezí pro dnešní den
            var now = DateTime.Now;
            var startTimeStr = now.Date.ToString("yyyy-MM-ddTHH:mm:ssZ");
            var endTimeStr = now.Date.AddDays(1).ToString("yyyy-MM-ddTHH:mm:ssZ");

            var startTime = Java.Time.Instant.Parse(startTimeStr);
            var endTime = Java.Time.Instant.Parse(endTimeStr);

            // Vytvoříme metadata pro request
            var metadata = new Metadata.Builder().Build();

            // Vytvoříme executor
            var executor = Executors.NewSingleThreadExecutor();
            if( executor == null )
            {
                throw new InvalidOperationException( "Nepodařilo se vytvořit executor" );
            }

            // Vytvoříme receiver jako Java objekt implementující IOutcomeReceiver
            HydrationOutcomeReceiver outcomeReceiver;
            if( type.ToString() == "Android.Health.Connect.DataTypes.HydrationRecord" )
            {
                outcomeReceiver = new HydrationOutcomeReceiver( result =>
                {

                    if( result != null )
                    {

                        ReadRecordsResponse readRecordsResponse = result as ReadRecordsResponse;
                        HydrationRecords.Clear();
                        foreach( HydrationRecord item in readRecordsResponse.Records )
                        {
                            AddAndMakeHydratationToColection( item );
                        }

                    }
                    else
                    {
                        Console.WriteLine( "Result was null" );
                    }


                } );
            }
            else
            {
                outcomeReceiver = new HydrationOutcomeReceiver( result =>
                {

                    if( result != null )
                    {

                        ReadRecordsResponse readRecordsResponse = result as ReadRecordsResponse;
                        LastWeight = ( (WeightRecord) ( readRecordsResponse.Records[0] ) ).Weight.InGrams;
                        OnWeightRecordAdded?.Invoke( LastWeight );

                    }
                    else
                    {
                        Console.WriteLine( "Result was null" );
                    }


                } );
            }

            var recordClass = Java.Lang.Class.FromType(type);
            var builder = new ReadRecordsRequestUsingFilters.Builder(recordClass);
            var readRequest = builder.Build() as ReadRecordsRequest;

            if( readRequest == null )
            {
                throw new InvalidOperationException( "Nepodařilo se vytvořit ReadRecordsRequest" );
            }

            // Pokračování s vytvořeným requestem
            HealthConnectManager.ReadRecords( readRequest, executor, outcomeReceiver );


        }
        catch( Exception ex )
        {
            Console.WriteLine( $"Error reading hydration records: {ex.Message}" );
            throw;
        }
    }
Reasons:
  • Blacklisted phrase (2): olá
  • Long answer (-1):
  • Has code block (-0.5):
  • Low reputation (1):
Posted by: Josef Rajmon