public static string GetDropType(FacilityDataRetrievalArgument args)
 {
     switch (args.GetFacilityType())
     {
         case FacilityType.CopperFacility: return args.GetPairAssignment().DropType;
         case FacilityType.FiberFacility: return args.GetFiberPlantData().DropType;
         default: return string.Empty;
     }
 }
 public static string GetCustomerPremisePhoneNumber(FacilityDataRetrievalArgument args)
 {
     switch (args.GetFacilityType())
     {
         case FacilityType.CopperFacility: return args.GetPairAssignment().LineCardTN;
         case FacilityType.FiberFacility: return args.GetTelephoneNumber();
         default: return string.Empty;
     }
 }
 public static string GetCustomerPremiseMaxDataSpeed(FacilityDataRetrievalArgument args)
 {
     switch (args.GetFacilityType())
     {
         case FacilityType.CopperFacility: return args.GetCopperPlantData().MaxAttainableSpeed;
         case FacilityType.FiberFacility: return args.GetFiberPlantData().MaxAttainableSpeed;
         default: return string.Empty;
     }
 }
 public static string GetOltDestinationId(FacilityDataRetrievalArgument args)
 {
     return args.GetFiberPlantData().DestinationId;
 }
 public static string GetFiberTerminalPortNumber(FacilityDataRetrievalArgument args)
 {
     return args.GetFiberPlantData().TerminalPort;
 }
 public static string GetFiberTerminalAddress(FacilityDataRetrievalArgument args)
 {
     return GetTerminalAddress(args.GetFiberPlantData().TerminalAddress);
 }
 public static string GetDslamHsiPort(FacilityDataRetrievalArgument args)
 {
     return args.GetPairAssignment().HsiPort;
 }
 public static string GetCustomerPremiseDataSpeed(FacilityDataRetrievalArgument args)
 {
     return args.GetProvisionedSpeed();
 }
 public static string GetOntVoiceSourceId(FacilityDataRetrievalArgument args)
 {
     return args.GetFiberPlantData().VoiceSourceId;
 }
        public static string GetOntUnitAddress(FacilityDataRetrievalArgument args)
        {
            var assignment = new OntPortAssignmentsDto().Assignment;
            if (args.GetFiberPlantData().OntPortAssignments != null)
            {
                assignment = (args.GetFiberPlantData().OntPortAssignments.FirstOrDefault() ?? new OntPortAssignmentsDto()).Assignment;
            }

            return GetUnderscoreSeparatedValueByIndex(assignment, 0);
        }
 public static string GetOntSerialNumber(FacilityDataRetrievalArgument args)
 {
     return args.GetFiberPlantData().ONTSerialNumber;
 }
 public static string GetCopperTerminalDropType(FacilityDataRetrievalArgument args)
 {
     return args.GetPairAssignment().DropType;
 }
 public static string GetOntModel(FacilityDataRetrievalArgument args)
 {
     return args.GetFiberPlantData().ONTModel;
 }
 public static string GetOntDataProvisioning(FacilityDataRetrievalArgument args)
 {
     if (args.GetFiberPlantData().OntPortAssignments == null)
     {
         return new OntPortAssignmentsDto().PortType;
     }
     else
     {
         return (args.GetFiberPlantData().OntPortAssignments.FirstOrDefault() ?? new OntPortAssignmentsDto()).PortType;
     }
 }
 public static string GetOltOfficeCode(FacilityDataRetrievalArgument args)
 {
     return GetUnderscoreSeparatedValueByIndex(args.GetFiberPlantData().CentralOfficeCode, 0);
 }
 public static string GetTerminalCableSegment(FacilityDataRetrievalArgument args)
 {
     return args.GetTerminalAssignment().CableSegment;
 }
 public static string GetTerminalId(FacilityDataRetrievalArgument args)
 {
     return args.GetTerminalAssignment().TerminalName;
 }
 public static string GetPreviousTerminal(FacilityDataRetrievalArgument args)
 {
     return args.GetTerminalAssignment().PreviousTerminal;
 }
        public static string GetVpiVci(FacilityDataRetrievalArgument args)
        {
            var assignment = args.GetPairAssignment();

            switch (args.GetFacilityType())
            {
                case FacilityType.CopperFacility: return string.Format("{0}/{1}", assignment.VPI, assignment.VCI);
                case FacilityType.FiberFacility:
                {
                    var portAssignment = new OntPortAssignmentsDto().Assignment;
                    if (args.GetFiberPlantData().OntPortAssignments != null)
                    {
                        portAssignment = (args.GetFiberPlantData().OntPortAssignments.FirstOrDefault()
                                           ?? new OntPortAssignmentsDto()).Assignment;
                    }
                    return GetUnderscoreSeparatedValueByIndex(portAssignment, 1);
                }
                default: return string.Empty;
            }
        }
 public static string GetSwitchLrn(FacilityDataRetrievalArgument args)
 {
     switch (args.GetFacilityType())
     {
         case FacilityType.CopperFacility: return args.GetCopperPlantData().SwitchLrn;
         case FacilityType.FiberFacility: return args.GetFiberPlantData().SwitchLrn;
         default: return string.Empty;
     }
 }
 public static string GetCustomerPremiseAddress(FacilityDataRetrievalArgument args)
 {
     return GetAddress(args.GetServiceAddress());
 }
 public static string GetSwitchOfficeCode(FacilityDataRetrievalArgument args)
 {
     switch (args.GetFacilityType())
     {
         case FacilityType.CopperFacility: return args.GetCopperPlantData().SwitchOfficeCode;
         case FacilityType.FiberFacility: return GetUnderscoreSeparatedValueByIndex(args.GetFiberPlantData().CentralOfficeCode, 0);
         default: return string.Empty;
     }
 }
 public static string GetDslamClli(FacilityDataRetrievalArgument args)
 {
     return args.GetCopperPlantData().DslamClli;
 }
 public static string GetTerminalAddress(FacilityDataRetrievalArgument args)
 {
     return GetTerminalAddress(args.GetTerminalAssignment().TerminalAddress);
 }
 public static string GetDslamOfficeCode(FacilityDataRetrievalArgument args)
 {
     return args.GetCopperPlantData().DslamOfficeCode;
 }
 public static string GetTerminalBindingPost(FacilityDataRetrievalArgument args)
 {
     return args.GetTerminalAssignment().ToBindingPost;
 }
 public static string GetFiberTerminalDropType(FacilityDataRetrievalArgument args)
 {
     return args.GetFiberPlantData().DropType;
 }
        public static string GetTerminalCablePair(FacilityDataRetrievalArgument args)
        {
            var terminal = args.GetTerminalAssignment();

            return string.Format("{0}/{1}", terminal.CableName, terminal.PairNumber);
        }
 public static string GetGwrClli(FacilityDataRetrievalArgument args)
 {
     switch (args.GetFacilityType())
     {
         case FacilityType.CopperFacility: return GetUnderscoreSeparatedValueByIndex(args.GetCopperPlantData().ServiceRouterClli, 0);
         case FacilityType.FiberFacility: return GetUnderscoreSeparatedValueByIndex(args.GetFiberPlantData().ServiceRouterClli, 0);
         default: return string.Empty;
     }
 }
 public static string GetOltClli(FacilityDataRetrievalArgument args)
 {
     return args.GetFiberPlantData().OltClli;
 }