<%@language = "javascript"%>
<%  /*
    $Revision$
    $Id$

    File:               cnt/cnt_verlengschema_save.asp
    Description:        Voeg een reeks datums met verlengtermijn toe voor een specifiek contract.
    Parameters:        
    Context:            Vanuit cnt/cnt_verlengschema.asp om de regels van een verlengschema bij een contract op te slaan.

*/
var JSON_Result = true;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../cnt/cnt.inc" -->
<%
protectRequest.validateToken();
var cnt_key = getQParamInt("cnt_key");
var termijn_arr = getFParamIntArray("termijnen", []);
var this_cnt = cnt.func_enabled_contract(cnt_key); // Wat heb ik zoal aan rechten op dit contract?
user.auth_required_or_abort(this_cnt.canChange);
var result = { success: true
             , warning: ""
             , cnt_key: cnt_key
             , rowcount: termijn_arr.length
             , termijn_key: termijn_arr[0]
             };

// Delete de oude verlengschema.
var sql = "DELETE FROM cnt_verlengschema"
        + " WHERE cnt_contract_key = " + cnt_key;
Oracle.Execute(sql);

// Sla de nieuwe verlengschema op.
if (termijn_arr.length > 0) {
  var warning = [];
  for (var i=0; i<termijn_arr.length; i++)
  { // Sla nieuwe verlengschema op.
    var sql = "INSERT INTO cnt_verlengschema"
            + "( cnt_contract_key"
            + ", cnt_verlengschema_volgnr"
            + ", cnt_verlengschema_verlengtermijn"
            + ") VALUES ("
            + cnt_key
            + ", " + i
            + ", " + termijn_arr[i]
            + ")";
    var err = Oracle.Execute(sql, true);
    if (err.friendlyMsg) {
      warning.push(i + ": " + err.friendlyMsg);
    }
  }
  result.success = (warning.length == 0);
  result.warning = warning.join(", ");
}

// Zet eerste termijn in het contract.
// Als er geen verlengschema meer gewenst is maak dan de verlengtermijn in contract leeg
var sql = "UPDATE cnt_contract"
        + "   SET cnt_contract_verleng_termijn = " + (termijn_arr.length > 0  ? termijn_arr[0] : "NULL")
        + " WHERE cnt_contract_key = " + cnt_key;
Oracle.Execute(sql);

Response.Write(JSON.stringify(result));
%><% ASPPAGE_END(); %>
