示例#1
0
        public static Action ApproveXBRL_action(XBRL_event_info xei, Dividend existing_dvd)
        {
            if (xei == null)
            {
                return(Action.None);
            }
            if (existing_dvd == null)
            {
                return(Action.Create_New_Event);
            }

            bool diffRef_sameDepo_flag = XBRL_event_matrix.DifferentRef_from_sameDepo(xei, existing_dvd);

            if (diffRef_sameDepo_flag)
            {
                return(Action.Create_New_Event);
            }

            if (xei.IsCompleteEvent_flag)
            {
                if (existing_dvd.IsCompleteEvent_flag)
                {
                    if (xei.Sponsored)
                    {
                        return(Action.Update_Existing_event);
                    }
                    else //Unsponsored XBRL
                    {
                        if (xei.IsFirstFiler)
                        {
                            return(Action.Update_Existing_event);
                        }
                        else
                        {
                            return(Action.Add_Ref_to_Current);
                        }
                    }
                }
                else //In-complete Existing Event
                {
                    return(Action.Update_Existing_event);
                }
            }
            else // In-complete XBRL
            {
                if (existing_dvd.IsCompleteEvent_flag)
                {
                    return(Action.Add_Ref_to_Current);
                }
                else //In-complete Existing Event
                {
                    if (xei.Sponsored)
                    {
                        return(Action.Update_Existing_event);
                    }
                    else //Unsponsored XBRL
                    {
                        if (xei.IsFirstFiler)
                        {
                            return(Action.Update_Existing_event);
                        }
                        else
                        {
                            return(Action.Add_Ref_to_Current);
                        }
                    }
                }
            }
        }