Esempio n. 1
0
//  ----------------------------------------------------------------------------
void 
CStartItem::x_SetDate( 
    CSeq_entry_Handle seh )
//  ----------------------------------------------------------------------------
{
    if ( ! seh.IsSetDescr() ) {
        m_Date = CurrentTime().AsString("Y-M-D");
        return;
    }
    const list< CRef< CSeqdesc > > lsd = seh.GetDescr().Get();
    if ( lsd.empty() ) {
        m_Date = CurrentTime().AsString("Y-M-D");
        return;
    }
    
    for ( list< CRef< CSeqdesc > >::const_iterator cit = lsd.begin(); 
        cit != lsd.end(); ++cit ) 
    {
        const CSeqdesc& sd = **cit;
        switch( sd.Which() ) {
        
            default:
                break;
                
            case CSeqdesc::e_Create_date:
                sd.GetCreate_date().GetDate( &m_Date, "%Y-%2M-%2D" );
                break;
                
            case CSeqdesc::e_Update_date:
                sd.GetUpdate_date().GetDate( &m_Date, "%Y-%2M-%2D" );
                return; 
        }        
    }
    if ( m_Date.empty() ) {
        m_Date = CurrentTime().AsString("Y-M-D");
    }
}