private PropertiesChangeResult UpdateImageAttributes(bool needToSetDateTaken, bool needToSetTitle) { DateTime valueForDateTaken = DateTime.MinValue; if (needToSetDateTaken) { valueForDateTaken = GetValueForDateTaken(); } string valueForTitle = null; if (needToSetTitle) { valueForTitle = GetValueForTitle(); } if (string.IsNullOrEmpty(valueForTitle) && valueForDateTaken == DateTime.MinValue) { string expectedToChangeValue = string.Concat(needToSetDateTaken ? "date taken " : null, needToSetTitle ? "title" : null); s_logger.Debug($"not changing {m_imageFileName} because didn't find meaningful values (expected to change {expectedToChangeValue})"); return(PropertiesChangeResult.NoNeed); } var runExifTool = new RunExifTool(m_imageFileName, m_simulationMode); bool operationResult; if (!string.IsNullOrEmpty(valueForTitle) && valueForDateTaken != DateTime.MinValue) { operationResult = runExifTool.SetDateAndTitle(valueForTitle, valueForDateTaken); } else if (valueForDateTaken == DateTime.MinValue) { operationResult = runExifTool.SetTitle(valueForTitle); } else { operationResult = runExifTool.SetDateTaken(valueForDateTaken); } return(operationResult ? PropertiesChangeResult.Success : PropertiesChangeResult.Failure); }
private bool ChangeImageTitle(string valueForTitle) { var runExifTool = new RunExifTool(m_imageFileName, m_simulationMode); return(runExifTool.SetTitle(valueForTitle)); }