示例#1
0
        /// <summary>
        /// Creates a new <see cref="CommunicationWayKind" /> instance from the provided model.
        /// </summary>
        /// <param name="model">The model coming from the API.</param>
        /// <returns>Returns the created communication way kind instance.</returns>
        private CommunicationWayKind GetCommunicationWayKind(Models.CommunicationWayKeys.CommunicationWayKey model)
        {
            // Initializes the communication way kind
            CommunicationWayKind communicationWayKind;

            // Creates the appriopriate instance
            switch (model.translationCode)
            {
            case "COMM_WAY_KEY_AUTOBOX":
                communicationWayKind = new AutoboxKind();
                break;

            case "COMM_WAY_KEY_FAX":
                communicationWayKind = new FaxKind();
                break;

            case "COMM_WAY_KEY_INVOICE_ADDRESS":
                communicationWayKind = new InvoiceAddressKind();
                break;

            case "COMM_WAY_KEY_MOBILE":
                communicationWayKind = new MobileKind();
                break;

            case "COMM_WAY_KEY_NEWSLETTER":
                communicationWayKind = new NewsletterKind();
                break;

            case "COMM_WAY_KEY_PRIVAT":
                communicationWayKind = new PrivateKind();
                break;

            case "COMM_WAY_KEY_WORK":
                communicationWayKind = new WorkKind();
                break;

            default:
            case "COMM_WAY_KEY_EMPTY":
                return(null);
            }

            // Sets the communication way kind specific properties
            communicationWayKind.Id = model.id;
            communicationWayKind.CreationDateTime = string.IsNullOrWhiteSpace(model.create) ? (Nullable <DateTime>)null : DateTime.Parse(model.create);
            communicationWayKind.UpdateDateTime   = string.IsNullOrWhiteSpace(model.update) ? (Nullable <DateTime>)null : DateTime.Parse(model.update);
            communicationWayKind.Name             = model.name;

            // Returns the created communication way kind
            return(communicationWayKind);
        }
示例#2
0
        public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, System.Type destinationType)
        {
            if ((value == null))
            {
                return(null);
            }
            WorkKind valueCasted = ((WorkKind)(value));

            if ((valueCasted == WorkKind.Maintenance))
            {
                return("maintenance");
            }
            if ((valueCasted == WorkKind.Inspection))
            {
                return("inspection");
            }
            if ((valueCasted == WorkKind.Other))
            {
                return("other");
            }
            if ((valueCasted == WorkKind.Construction))
            {
                return("construction");
            }
            if ((valueCasted == WorkKind.Service))
            {
                return("service");
            }
            if ((valueCasted == WorkKind.Meter))
            {
                return("meter");
            }
            if ((valueCasted == WorkKind.Reconnect))
            {
                return("reconnect");
            }
            if ((valueCasted == WorkKind.Disconnect))
            {
                return("disconnect");
            }
            throw new ArgumentOutOfRangeException("value");
        }