| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 | using DevExpress.Xpo;using Ips.Library.Basic;using Ips.Library.Entity;using Ips.Sps.Adcs;using System;using System.Drawing.Drawing2D;using System.Runtime.CompilerServices;namespace Ips.Sps.Tsks{    public class TskAdCard : XPObject    {        public TskAdCard() : base()        {        }        public TskAdCard(Session session) : base(session)        {        }        public override void AfterConstruction()        {            base.AfterConstruction();            CardType = AdCardType.QFCarder;            TriggerMode = AdTriggerMode.In;            ClockerType = AdClockType.In;            ClockFreq = 100;            DdcFreq = 70;            Mutil = 4;            StorePath = @"e:\data";        }        private Tsk _tsk;        [DisplayName("所属任务")]        [Association]        [MemberDesignTimeVisibility(false)]        public Tsk Tsk        {            get => _tsk;            set => SetPropertyValue(nameof(Tsk), ref _tsk, value);        }        private string _name;        [Size(255)]        [DisplayName("采集卡名称")]        public string Name        {            get => _name;            set => SetPropertyValue(nameof(Name), ref _name, value);        }        private AdCardType _cardType;        [DisplayName("设备厂商")]        [MemberDesignTimeVisibility(false)]        public AdCardType CardType        {            get => _cardType;            set => SetPropertyValue(nameof(CardType), ref _cardType, value);        }        private string _code;        [DisplayName("采集卡编码")]        public string Code        {            get => _code;            set => SetPropertyValue(nameof(Code), ref _code, value);        }        private AdTriggerMode _triggerMode;        [DisplayName("触发模式")]        public AdTriggerMode TriggerMode        {            get => _triggerMode;            set => SetPropertyValue(nameof(TriggerMode), ref _triggerMode, value);        }        private AdClockType _clockType;        [DisplayName("时钟类型")]        public AdClockType ClockerType        {            get => _clockType;            set => SetPropertyValue(nameof(ClockerType), ref _clockType, value);        }        private double _clockFreq;        [DisplayName("时钟频率(MHz)")]        public double ClockFreq        {            get => _clockFreq;            set => SetPropertyValue(nameof(ClockFreq), ref _clockFreq, value);        }        private double _ddcFreq;        [DisplayName("DDC频率(MHz)")]        public double DdcFreq        {            get => _ddcFreq;            set => SetPropertyValue(nameof(DdcFreq), ref _ddcFreq, value);        }        //private bool _isInverse;        //[DisplayName("反谱")]        //public bool IsInverse        //{        //    get => _isInverse;        //    set => SetPropertyValue(nameof(IsInverse), ref _isInverse, value);        //}        //[DisplayName("是否反谱"), NonPersistent]        //public string IsInverseText        //{        //    get => IsInverse ? "是" : "否";        //}        private int _mutil;        [DisplayName("抽取倍数")]        public int Mutil        {            get => _mutil;            set => SetPropertyValue(nameof(Mutil), ref _mutil, value);        }        private string _storePath;        [DisplayName("存储路径")]        [Size(200)]        public string StorePath        {            get => _storePath;            set => SetPropertyValue(nameof(StorePath), ref _storePath, value);        }        [DisplayName("采集通道")]        [Association, Aggregated]        public XPCollection<TskAdChannel> Channels        {            get => GetCollection<TskAdChannel>(nameof(Channels));        }        public static TskAdCard CreateFrom(AdCard adCard, Session session)        {            TskAdCard _card = new TskAdCard(session);            CopyCardProps(_card, adCard);            return _card;        }        public void CopyFrom(AdCard adCard)        {            CopyCardProps(this, adCard);        }        private static void CopyCardProps(TskAdCard _card, AdCard adCard)        {            _card.Name = adCard.Name;            _card.Code = adCard.Code;            _card.CardType = adCard.CardType;            _card.TriggerMode = adCard.TriggerMode;            _card.ClockerType = adCard.ClockerType;            _card.ClockFreq = adCard.ClockFreq;            _card.DdcFreq = adCard.DdcFreq;            _card.Mutil = adCard.Mutil;            _card.StorePath = adCard.StorePath;            _card.Channels.RemoveAll(m => true);            foreach (var adChannel in adCard.Channels.OrderBy(m => m.ChNum))            {                var _adch = new TskAdChannel(_card.Session);                _adch.ChNum = adChannel.ChNum;                _adch.FixCenter = adChannel.FixCenter;                _adch.CenterFreq = adChannel.CenterFreq;                _adch.FrqAddr = adChannel.FrqAddr;                _adch.FrqTurn = adChannel.FrqTurn;                _adch.AntId = adChannel.AntId;                _adch.SatIds = adChannel.SatIds;                _card.Channels.Add(_adch);            }        }    }}
 |