void AddCamera()
        {
            if (String.IsNullOrEmpty(CameraUrl))
                return;

            var ipCamera = new IpCameraEngine(CameraUrl, UserName, Password);

            if (!(CameraUrl.Trim().ToUpper().StartsWith("HTTP://") || CameraUrl.Trim().ToUpper().StartsWith("RTSP://")))
                CameraUrl = String.Format("http://{0}", CameraUrl);

            var ipCameraInfo = new IPVideoDeviceInfo
            {
                Uri = new Uri(CameraUrl)
            };

            var savedCamera = new SavedCamera
            {
                DeviceInfo = new CameraDeviceInfo
                {
                    IpCameraInfo = ipCameraInfo
                },
                Camera = ipCamera,
                UserName = UserName,
                Password = Password
            };

            var deviceInfo = new CameraDeviceInfo
            {
                IpCameraInfo = ipCameraInfo
            };

            ConnectModel.CameraList.Add(ipCamera);
            ConnectModel.SavedCameras.Add(savedCamera);
            ConnectModel.DeviceList.Add(deviceInfo);

            OnCameraAdded(ipCamera);
        }
        bool ContainedSavedCamera(SavedCamera savedCamera, string cameraInfo)
        {
            if (String.IsNullOrEmpty(savedCamera.UserName))
                savedCamera.UserName = String.Empty;

            if (String.IsNullOrEmpty(UserName))
                UserName = String.Empty;

            if (String.IsNullOrEmpty(savedCamera.Password))
                savedCamera.Password = String.Empty;

            if (String.IsNullOrEmpty(Password))
                Password = String.Empty;

            if (!savedCamera.UserName.Equals(UserName))
                return false;

            if (String.IsNullOrEmpty(savedCamera.Password) && !String.IsNullOrEmpty(Password))
                return false;

            if (!savedCamera.Password.Equals(Password))
                return false;

            if (!savedCamera.Camera.CameraInfo.Equals(cameraInfo))
                return false;

            return true;
        }