Files
2025-03-25 21:42:32 -04:00

94 lines
1.8 KiB
C#
Executable File

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MarketData.Utils;
namespace MarketData.MarketDataModel
{
public class DivExDateItem
{
public DivExDateItem()
{
}
public String Symbol
{
get;
set;
}
public DateTime DivExDate
{
get;
set;
}
}
public class DividendHistory : List<DividendHistoryItem>
{
public DividendHistory()
{
}
public DividendHistory(List<DividendHistoryItem> items)
{
foreach(DividendHistoryItem item in items)Add(item);
}
public bool HasConsecutivePayments(int requiredConsecutiveMonths)
{
if(0==Count||Count<requiredConsecutiveMonths+1)return false;
DateGenerator dateGenerator=new DateGenerator();
DateTime initialDate=this[0].DivExDate;
for(int index=1;index<requiredConsecutiveMonths+1;index++)
{
initialDate-=new TimeSpan(DateTime.DaysInMonth(initialDate.Year,initialDate.Month),0,0,0);
if(!initialDate.Month.Equals(this[index].DivExDate.Month))return false;
}
return true;
}
}
public class DividendHistoryItem
{
public DividendHistoryItem()
{
}
public String Symbol
{
get;
set;
}
public String DividendType
{
get;
set;
}
public double? CashAmount
{
get;
set;
}
public DateTime? DeclarationDate
{
get;
set;
}
public DateTime? RecordDate
{
get;
set;
}
public DateTime? PaymentDate
{
get;
set;
}
public DateTime DivExDate
{
get;
set;
}
public DateTime Modified
{
get;
set;
}
}
}