package data_manage

import (
	"eta/eta_api/utils"
)

func (m *EdbInfoOrm) ToList() (edbInfoList *EdbInfoList) {
	edbInfoList = &EdbInfoList{
		EdbInfoId:   m.EdbInfoId,
		EdbInfoType: m.EdbInfoType,
		SourceName:  m.SourceName,
		Source:      m.Source,
		EdbCode:     m.EdbCode,
		EdbNameEn:   m.EdbNameEn,
		EdbName:     m.EdbName,
		Frequency:   m.Frequency,
		//FrequencyEn:     m.FrequencyEn,
		Unit:            m.Unit,
		UnitEn:          m.UnitEn,
		StartDate:       m.StartDate.Format(utils.FormatDate),
		EndDate:         m.EndDate.Format(utils.FormatDate),
		LatestDate:      m.LatestDate.Format(utils.FormatDate),
		LatestValue:     m.LatestValue,
		EndValue:        m.EndValue,
		ClassifyId:      m.ClassifyId,
		UniqueCode:      m.UniqueCode,
		SysUserId:       m.SysUserId,
		SysUserRealName: m.SysUserRealName,
		//ModifyTime:      ok:=edbInfo.ModifyTime.IsZero(); edbInfo.ModifyTime.Format(utils.FormatDateTime),
		CreateTime: m.CreateTime.Format(utils.FormatDateTime),
		//EdbNameAlias:     m.EdbNameAlias,
		EdbType:    m.EdbType,
		ChartImage: m.ChartImage,
		//RuleType:         m.RuleType,
		//FixedValue:       m.FixedValue,
		DataDateType:     m.DataDateType,
		EmptyType:        m.EmptyType,
		MaxEmptyType:     m.MaxEmptyType,
		SubSource:        m.SubSource,
		SubSourceName:    m.SubSourceName,
		IndicatorCode:    m.IndicatorCode,
		StockCode:        m.StockCode,
		NoUpdate:         m.NoUpdate,
		IsJoinPermission: m.IsJoinPermission,
		IsStaticData:     m.IsStaticData,
		MoveType:         m.MoveType,
		MoveFrequency:    m.MoveFrequency,
		MinValue:         m.MinValue,
		MaxValue:         m.MaxValue,
	}
	if !m.ModifyTime.IsZero() {
		edbInfoList.ModifyTime = m.ModifyTime.Format(utils.FormatDateTime)
	}

	return
}

func (m *EdbInfoOrm) ToInfo() (edbInfo *EdbInfo) {
	edbInfo = &EdbInfo{
		EdbInfoId:        m.EdbInfoId,
		EdbInfoType:      m.EdbInfoType,
		SourceName:       m.SourceName,
		Source:           m.Source,
		EdbCode:          m.EdbCode,
		EdbName:          m.EdbName,
		EdbNameEn:        m.EdbNameEn,
		EdbNameSource:    m.EdbNameSource,
		Frequency:        m.Frequency,
		Unit:             m.Unit,
		UnitEn:           m.UnitEn,
		StartDate:        m.StartDate.Format(utils.FormatDate),
		EndDate:          m.EndDate.Format(utils.FormatDate),
		ClassifyId:       m.ClassifyId,
		SysUserId:        m.SysUserId,
		SysUserRealName:  m.SysUserRealName,
		UniqueCode:       m.UniqueCode,
		CreateTime:       m.CreateTime,
		ModifyTime:       m.ModifyTime,
		BaseModifyTime:   m.BaseModifyTime,
		MinValue:         m.MinValue,
		MaxValue:         m.MaxValue,
		CalculateFormula: m.CalculateFormula,
		EdbType:          m.EdbType,
		Sort:             m.Sort,
		LatestDate:       m.LatestDate.Format(utils.FormatDate),
		LatestValue:      m.LatestValue,
		EndValue:         m.EndValue,
		MoveType:         m.MoveType,
		MoveFrequency:    m.MoveFrequency,
		NoUpdate:         m.NoUpdate,
		ServerUrl:        m.ServerUrl,
		ChartImage:       m.ChartImage,
		Calendar:         m.Calendar,
		DataDateType:     m.DataDateType,
		ManualSave:       m.ManualSave,
		EmptyType:        m.EmptyType,
		MaxEmptyType:     m.MaxEmptyType,
		TerminalCode:     m.TerminalCode,
		DataUpdateTime:   m.DataUpdateTime.Format(utils.FormatDateTime),
		ErDataUpdateDate: m.ErDataUpdateDate.Format(utils.FormatDateTime),
		SourceIndexName:  m.SourceIndexName,
		SubSource:        m.SubSource,
		SubSourceName:    m.SubSourceName,
		IndicatorCode:    m.IndicatorCode,
		StockCode:        m.StockCode,
		Extra:            m.Extra,
		IsJoinPermission: m.IsJoinPermission,
		IsStaticData:     m.IsStaticData,
		SetUpdateTime:    m.SetUpdateTime,
		EndDateType:      m.EndDateType,
	}

	return
}