BulkDBServiceClient.cs 2.14 KB
using FLY.Thick.Blowing.IService;
using FObjBase;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;

namespace FLY.Thick.Blowing.Client
{
    public class BulkDbServiceClient :FObjBase.Reflect.Reflect_SeviceClient,  IBulkDbService
    {
        protected override Type InterfaceType => typeof(IBulkDbService);

        public long LastScanDataId { get; set; }

        public long LastProfileId { get; set; }

        public DateTime LastTimestamp { get; set; }

        public DateTime StartTime { get; set; }

        public DateTime EndTime { get; set; }

        public bool IsFinished { get; set; }


        /// <summary>
        /// 
        /// </summary>
        public BulkDbServiceClient(UInt32 serviceId) : base(serviceId) { }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="serviceId"></param>
        /// <param name="connName"></param>
        public BulkDbServiceClient(UInt32 serviceId, string connName) : base(serviceId, connName) { }

        public event EventHandler TempFrameChanged;

        public void Trigger_TempFrameChanged(BulkDbTempFrameChangedEventArgs e) {
            TempFrameChanged?.Invoke(this, e);
        }

        public void GetTempFrame(AsyncCBHandler asyncDelegate, object asyncContext)
        {
            Call(nameof(GetTempFrame), null, asyncDelegate, asyncContext);
        }

        public void GetProfile(Pack_GetProfileRequest request, AsyncCBHandler asyncDelegate, object asyncContext)
        {
            Call(nameof(GetProfile), new { request }, asyncDelegate, asyncContext);
        }

        public void GetFrame(Pack_GetFrameRequest request, AsyncCBHandler asyncDelegate, object asyncContext)
        {
            Call(nameof(GetFrame), new { request }, asyncDelegate, asyncContext);
        }

        public void GetTrend(Pack_GetTrendRequest request, AsyncCBHandler asyncDelegate, object asyncContext)
        {
            Call(nameof(GetTrend), new { request }, asyncDelegate, asyncContext);
        }

        public void Finish()
        {
            Call(nameof(Finish));
        }
    }
}