Newer
Older
Correlator / Correlator / DataService / IApplicationDataService.cs
using System.Collections.ObjectModel;
using System.Windows.Media;
using Correlator.Model;
using Correlator.Util;

namespace Correlator.DataService
{
    public interface IApplicationDataService
    {
        ObservableCollection<PipeMaterialModel> GetPipeMaterial();

        ObservableCollection<MaterialVelocity> GetVelocityCollection(string materialName);

        void DeleteVelocity(MaterialVelocity velocity);

        void InsertVelocity(string materialName, string minDiameter, string maxDiameter, string soundSpeed);

        void UpdateVelocity(MaterialVelocity velocity, string minDiameter, string maxDiameter, string soundSpeed);

        /// <summary>
        /// 根据管材和管径大小获取声速
        /// </summary>
        /// <param name="material"></param>
        /// <param name="pipeDiameter"></param>
        /// <returns></returns>
        int GetSoundVelocity(string material, int pipeDiameter);

        AudioVisualizer GetAudioVisualizer(int waveDataSize);

        /// <summary>
        /// 获取 HSV 中所有的基础颜色 (饱和度和明度均为最大值)
        /// </summary>
        /// <returns>所有的 HSV 基础颜色(共 256 * 6 个, 并且随着索引增加, 颜色也会渐变)</returns>
        Color[] GetAllHsvColors();

        /// <summary>
        /// 加载所有工作模式的采样率
        /// </summary>
        /// <returns></returns>
        ObservableCollection<SampleRateModel> GetSampleRate();

        /// <summary>
        /// 根据工作模式获取采样率
        /// </summary>
        /// <param name="mode"></param>
        /// <returns></returns>
        int GetSampleRateByWorkMode(int mode);

        /// <summary>
        /// 更新采样率
        /// </summary>
        /// <param name="mode"></param>
        /// <param name="sampleRate"></param>
        void UpdateSampleRate(int mode, int sampleRate);
    }
}