Exemplo n.º 1
0
        private static string GetError(CameraModels camera)
        {
            if (camera.Info == null)
            {
                return(null);
            }

            if (camera.Info.Base == null)
            {
                return(Resources.Camera_NoMetadata_Text);
            }

            if (!"Canon".Equals(camera.Info.Base.Make, StringComparison.InvariantCulture))
            {
                return(Resources.Camera_NonCanon_Text);
            }

            if (camera.Info.Canon == null)
            {
                return(Resources.Camera_NoCanonMakernote_Text);
            }

            if (camera.Info.Canon.ModelId == 0)
            {
                return(Resources.Camera_NoModelId_Text);
            }

            if (camera.Info.Canon.FirmwareRevision == 0 && camera.Info.Canon.FirmwareVersion == null)
            {
                return(Resources.Camera_NoFirmwareRevision_Text);
            }

            return(null);
        }
Exemplo n.º 2
0
        private static CameraItemViewModel[] CreateItems(CameraModels camera)
        {
            var models = camera.Models
                         ?? CreateCameraModels(camera);

            return(models
                   .Select(m => CreateItem(camera.Info, m))
                   .ToArray());
        }
Exemplo n.º 3
0
 private static CameraModelInfo[] CreateCameraModels(CameraModels camera)
 {
     return(new[]
     {
         new CameraModelInfo
         {
             Names = new[] { camera.Info.Base.Model }
         }
     });
 }
Exemplo n.º 4
0
        private void Update(CameraViewModel viewModel, CameraModels camera)
        {
            Logger.LogObject(LogLevel.Information, "Detected {0}", camera);

            viewModel.IsSelect = false;

            if (camera == null)
            {
                viewModel.Info  = null;
                viewModel.Error = Resources.Camera_NoImage_Text;
                viewModel.Items = new CameraItemViewModel[0];
                return;
            }

            viewModel.Info  = camera.Info;
            viewModel.Error = GetError(camera);
            if (viewModel.Error != null)
            {
                viewModel.Items = new CameraItemViewModel[0];
                return;
            }

            viewModel.Items = camera.Models
                              .Select(m => CreateItem(camera.Info, m))
                              .ToArray();

            var cameraModels = CameraProvider.GetCameraModels(camera.Info);

            viewModel.CardType = cameraModels?.CardType;

            if (camera.Models.Length == 1)
            {
                viewModel.SelectedItem = viewModel.Items[0];
                return;
            }

            viewModel.SelectedItem = null;
            viewModel.IsSelect     = true;
        }