public static function CreateFromCheckImage(Login $objLogin, StewardshipStack $objStack, $strCheckImageFileHash)
 {
     $objContribution = new StewardshipContribution();
     $objContribution->CreatedByLogin = $objLogin;
     $objContribution->UnpostedFlag = true;
     $objContribution->StewardshipContributionTypeId = StewardshipContributionType::Check;
     $objContribution->StewardshipBatchId = $objStack->StewardshipBatchId;
     $objContribution->StewardshipStack = $objStack;
     $objContribution->DateEntered = QDateTime::Now();
     $objContribution->DateCredited = new QDateTime($objStack->StewardshipBatch->DateCredited);
     $objContribution->strCheckImageFileHash = $strCheckImageFileHash;
     $arrTiffData = exif_read_data($objContribution->TempPath);
     if (array_key_exists('ImageDescription', $arrTiffData)) {
         $arrCheckingData = self::ParseCheckingInformation($arrTiffData['ImageDescription']);
         if ($arrCheckingData) {
             if (intval($arrCheckingData[2])) {
                 $objContribution->CheckNumber = intval($arrCheckingData[2]);
             }
             $objCheckingAccountLookup = CheckingAccountLookup::LoadByTransitAndAccount($arrCheckingData[0], $arrCheckingData[1]);
             if ($objCheckingAccountLookup) {
                 $objContribution->CheckingAccountLookup = $objCheckingAccountLookup;
                 $objPersonArray = $objCheckingAccountLookup->GetPersonArray();
                 if (!count($objPersonArray)) {
                     $objContribution->objPossiblePeopleArray = null;
                 } else {
                     if (count($objPersonArray) == 1) {
                         $objContribution->Person = $objPersonArray[0];
                     } else {
                         $objContribution->objPossiblePeopleArray = $objPersonArray;
                     }
                 }
             } else {
                 $objContribution->objUnsavedCheckingAccountLookup = CheckingAccountLookup::CreateUnsavedForTransitAndAccount($arrCheckingData[0], $arrCheckingData[1]);
             }
         }
     }
     return $objContribution;
 }