function SavePart() { $obj = new LON_ReqParts(); PdoDataAccess::FillObjectByArray($obj, $_POST); $pdo = PdoDataAccess::getPdoObject(); $pdo->beginTransaction(); $dt = LON_ReqParts::SelectAll("RequestID=?", array($obj->RequestID)); $firstPart = count($dt) > 0 ? false : true; if ($obj->PartID > 0) { $result = $obj->EditPart($pdo); if (!$firstPart) { $dt = PdoDataAccess::runquery("select max(DocID) from ACC_DocItems join ACC_docs using(DocID)\r\n\t\t\t\twhere DocType=" . DOCTYPE_LOAN_DIFFERENCE . " AND SourceID=? AND SourceID2=?", array($obj->RequestID, $obj->PartID)); if ($dt[0][0] != "") { $result = RegisterDifferncePartsDoc($obj->RequestID, $obj->PartID, $pdo, $dt[0][0]); ComputeInstallments($obj->RequestID, true, $pdo); } } } else { $result = $obj->AddPart($pdo); if (!$firstPart) { foreach ($dt as $row) { $partobj = new LON_ReqParts($row["PartID"]); if ($partobj->IsHistory == "NO") { $partobj->IsHistory = "YES"; $partobj->EditPart($pdo); ChangeStatus($partobj->RequestID, "100", $partobj->PartDesc, true, $pdo); } } $result = RegisterDifferncePartsDoc($obj->RequestID, $obj->PartID, $pdo); ComputeInstallments($obj->RequestID, true, $pdo); } } if (!$result) { print_r(ExceptionHandler::PopAllExceptions()); echo Response::createObjectiveResponse(false, ExceptionHandler::GetExceptionsToString()); die; } $pdo->commit(); echo Response::createObjectiveResponse(true, ""); die; }