﻿function Form_OnSave(executionObj)
{
    var _formType = Xrm.Page.ui.getFormType();

    CheckMandatoryFields(_formType, executionObj);

    if (_formType == FormType.CREATE)
        ActionIdField.Set((new Date()).toJSON().replace(/-/g, '').replace(/:/g, ''));

    SetNameField();
}

function CheckMandatoryFields(_formType, executionObj)
{
    if (_formType == FormType.CREATE || _formType == FormType.UPDATE)
    {
        var _entity = Xrm.Page.getControl(Constant.WebRes.ReportSelector).getObject().contentWindow.getWebResource_ddlFieldText('ddlEntity');
        var _report = Xrm.Page.getControl(Constant.WebRes.ReportSelector).getObject().contentWindow.getWebResource_ddlFieldText('ddlReports');
        if (_entity == '')
        {
            alert(Constant.FieldMandatoryError + 'Entity.');
            executionObj.getEventArgs().preventDefault();
        }
        if (_report == '')
        {
            alert(Constant.FieldMandatoryError + 'Report.');
            executionObj.getEventArgs().preventDefault();
        }
    }
}

function SetNameField()
{
    var _entity = Xrm.Page.getControl(Constant.WebRes.ReportSelector).getObject().contentWindow.getWebResource_ddlFieldText('ddlEntity');
    var _report = Xrm.Page.getControl(Constant.WebRes.ReportSelector).getObject().contentWindow.getWebResource_ddlFieldText('ddlReports');

    var _action = getMscrm_DdlText('iotap_action')
    var _fileFormat = getMscrm_DdlText('iotap_fileformat');

    var value = '';

    if (_entity == '' || _report == '')
    {
        Xrm.Page.getAttribute('iotap_name').setValue(value);
        return;
    }
    else
        value = _entity + ' - ' + _report;

    if (_fileFormat != '')
        value = value + ' - ' + _fileFormat;

    if (_action != '')
        value = value + ' - ' + _action;

    Xrm.Page.getAttribute('iotap_name').setValue(value);
}

var ActionIdField = {
    Get: function ()
    {
        return Xrm.Page.getAttribute('iotap_actionid').getValue();
    },
    Set: function (value)
    {
        Xrm.Page.getAttribute('iotap_actionid').setValue(value);
    }
};