function GridMotoristaViewModel(data) {
    var mSelf = this;

    mSelf.Data = ko.observable(new GridMotoristaData(data.Data));

    mSelf.ModuloId = data.ModuloId;

    mSelf.Template = data.Template;

    mSelf.Nome = data.Nome;

    mSelf.Titulo = data.Titulo;

    mSelf.Ordem = 1;

    mSelf.Destroy = function () {

    };

    mSelf.Init = function () {
        mSelf.Data().Init();
    };
}

function GridMotoristaData(data) {
    var mSelf = this;

    mSelf.ListaConvocacoes = data;

    mSelf.ConvocacaoSelecionada = ko.observable();

    mSelf.PeriodoReincidencia = ko.observable();

    mSelf.QuantidadeDias = ko.observable(0);

    mSelf.PrimeiraChamadaHabilitada = ko.observable(true);

    mSelf.SegundaChamadaHabilitada = ko.observable(true);

    mSelf.TerceiraChamadaHabilitada = ko.observable(true);

    mSelf.CopiaConvocacao = {};

    mSelf.PermiteSalvar = ko.observable(true);

    mSelf.Init = function () {
        mSelf.AtualizarGridConvocacoes();
    };

    mSelf.ClickDetalhes = function (data, evt) {
        if (data.CodigoFCV) {
            window.open(urlGlobal + "Operacao/Detalhes/?fcv=" + data.CodigoFCV, "_blank");
        } else {
            window.open(urlGlobal + (vm.ClienteBus ? "Veiculos/" : "RastreamentoGeral/VeiculoGenericoDetalhes") + "?Visao=Veiculos&Acao=Detalhes&Data=" + data.CodigoVeiculo + ";"
                + data.DataAlarme + (vm.ClienteBus ? "" : ";" + data.CodigoOperacaoVeiculo), "_blank");
        }
    };

    mSelf.BuscarAlarmesConvocacao = function (data) {
        mSelf.ConvocacaoSelecionada(data);
        if (mSelf.ConvocacaoSelecionada().ListaConvocacoesAlarmes() == null || mSelf.ConvocacaoSelecionada().ListaConvocacoesAlarmes().length == 0) {
            $(".loading-inlog").fadeIn("fast", function () {
                $.ajax({
                    url: urlGlobal + "QuadroConvocacoes/QuadroConvocacoes/CarregarAlarmesConvocacao",
                    dataType: "json",
                    type: "GET",
                    data: { codigoConvocacao: data.Codigo() },
                    success: function (retorno) {
                        if (retorno) {
                            mSelf.ConvocacaoSelecionada().ListaConvocacoesAlarmes(retorno);

                        } else {
                            vm.ShowMensagemErro("Erro ao carregar os alarmes da convocação");
                        }
                    }
                }).done(function () {
                    $(".loading-inlog").fadeOut();
                });
            });
        }
    };

    mSelf.RegisterScript = function () {
        $(function () {
            // Efeito accordion
            $(".toggle-detalhes").on("click", function (e) {
                if ($(this).parent().parent().next().find('.box-content').is(":visible")) {
                    $(".box-content").slideUp("fast");
                } else {
                    $(".box-content").not($(this).parent().parent().next()).slideUp("fast");
                    $(this).parent().parent().next().find('.box-content').slideDown("fast");
                }
            });
        });
    }

    mSelf.EditarConvocacao = function (data) {
        $('#sinoticomotorista-modal-editarconvocacao').modal({ backdrop: 'static' });

        data.DataAbertura(data.DisplayDataAbertura());
        data.DataComparecimento(data.DisplayDataComparecimento());
        data.DataFechamento(data.DisplayDataFechamento());
        data.DataPrimeiraChamada(data.DisplayDataPrimeiraChamada());
        data.DataReferencia(data.DisplayDataReferencia());
        data.DataSegundaChamada(data.DisplayDataSegundaChamada());
        data.DataTerceiraChamada(data.DisplayDataTerceiraChamada());

        mSelf.ConvocacaoSelecionada(data);

        var dataAtual = new Date();
        dataAtual.setHours(00);
        dataAtual.setMinutes(00);
        dataAtual.setSeconds(00);
        dataAtual.setMilliseconds(00);

        //valida se a 1ª chamada pode ser editada

        var dataReferenciaPC = new Date(mSelf.ConvocacaoSelecionada().DataPrimeiraChamada() + " 00:00:00");

        if (mSelf.ConvocacaoSelecionada().DataPrimeiraChamada() != "") {

            if (dataAtual <= dataReferenciaPC)
                mSelf.PrimeiraChamadaHabilitada(true);
            else
                mSelf.PrimeiraChamadaHabilitada(false);

        } else {
            if (mSelf.ConvocacaoSelecionada().DataSegundaChamada() != "")
                mSelf.PrimeiraChamadaHabilitada(false);
            else
                mSelf.PrimeiraChamadaHabilitada(true);
        }

        //valida se a 2ª chamada pode ser editada
        if (mSelf.ConvocacaoSelecionada().DataSegundaChamada() != "") {
            var dataReferencia = new Date(mSelf.ConvocacaoSelecionada().DataSegundaChamada() + " 00:00:00");

            if (dataAtual <= dataReferencia)
                mSelf.SegundaChamadaHabilitada(true);
            else
                mSelf.SegundaChamadaHabilitada(false);

            mSelf.PrimeiraChamadaHabilitada(false);
        } else {

            if (dataAtual < dataReferenciaPC || mSelf.ConvocacaoSelecionada().DataTerceiraChamada() != "")
                mSelf.SegundaChamadaHabilitada(false);
            else
                mSelf.SegundaChamadaHabilitada(true);
        }

        //valida se a 3ª chamada pode ser editada
        if (mSelf.ConvocacaoSelecionada().DataTerceiraChamada() != "") {
            var dataReferencia = new Date(mSelf.ConvocacaoSelecionada().DataTerceiraChamada() + " 00:00:00");

            if (dataAtual <= dataReferencia)
                mSelf.TerceiraChamadaHabilitada(true);
            else
                mSelf.TerceiraChamadaHabilitada(false);
        }
        else {
            mSelf.TerceiraChamadaHabilitada(true);
        }

        if (mSelf.ConvocacaoSelecionada().DataTerceiraChamada() != "")
            mSelf.SegundaChamadaHabilitada(false);

        mSelf.CopiaConvocacao = {
            DataPrimeiraChamada: mSelf.ConvocacaoSelecionada().DataPrimeiraChamada(),
            DataSegundaChamada: mSelf.ConvocacaoSelecionada().DataSegundaChamada(),
            DataTerceiraChamada: mSelf.ConvocacaoSelecionada().DataTerceiraChamada()
        };

        mSelf.MensagensAlerta([]);
        mSelf.PermiteSalvar(true);

        if (mSelf.ConvocacaoSelecionada().DataReferencia() == "") {
            mSelf.SegundaChamadaHabilitada(false);
            mSelf.TerceiraChamadaHabilitada(false);
        }

    };

    mSelf.SalvarEdicaoConvocacao = function () {

        var jsonData = ko.toJS(mSelf.ConvocacaoSelecionada());
        $(".loading-inlog").fadeIn("fast", function () {
            $.ajax({
                url: urlGlobal + "QuadroConvocacoes/QuadroConvocacoes/SalvarEdicaoConvocacao",
                dataType: "json",
                type: "POST",
                data: jsonData,
                beforeSend: function () {

                },
                success: function (retorno) {

                    if (retorno.Sucesso) {
                        vm.FecharTodosMensagemAlerta();
                        vm.ShowMensagemSucesso("Edição da convocação salvo com sucesso!");
                        mSelf.RecarregarGrid();
                    } else {
                        vm.ShowMensagemErro(retorno.MensagemErro);
                    }
                }
            }).done(function () {
                $('#sinoticomotorista-modal-editarconvocacao').modal('hide');
                $(".loading-inlog").fadeOut();
            });
        });
    };

    mSelf.FinalizarConvocacao = function (data) {
        $('#sinoticomotorista-modal-finalizarconvocacao').modal({ backdrop: 'static' });

        data.DataComparecimento(data.DisplayDataComparecimento());
        mSelf.ConvocacaoSelecionada(data);
    };

    mSelf.AtualizarGridConvocacoes = function () {
        //$(".loading-inlog").fadeIn();
        $.getJSON(urlGlobal + "QuadroConvocacoes/QuadroConvocacoes/GridMotorista", function (data) {
            var kojs = ko.mapping.fromJS(data.Data);
            mSelf.ListaConvocacoes(kojs());
            $(".loading-inlog").fadeOut();
            mSelf.RegisterScript();
        });
        mSelf.AtualizarConfiguracao();
    };

    mSelf.AtualizarGridConvocacoesFiltro = function (lista) {
        mSelf.ListaConvocacoes(lista);
        mSelf.RegisterScript();
    };

    mSelf.AtualizarConfiguracao = function () {
        $.getJSON(urlGlobal + "QuadroConvocacoes/QuadroConvocacoes/CarregarConfiguracoesEmpresa", function (data) {
            mSelf.QuantidadeDias(data.Data.PrazoVencimentoConvocacao);
            mSelf.PeriodoReincidencia(data.Data.PeriodoReincidencia);
        });
    };

    mSelf.EncerrarConvocacao = function () {

        if (mSelf.ConvocacaoSelecionada().DataComparecimento && mSelf.ConvocacaoSelecionada().Observacao
            && mSelf.ConvocacaoSelecionada().ProvidenciaTomada && mSelf.ConvocacaoSelecionada().DataComparecimento() != null
            && mSelf.ConvocacaoSelecionada().Observacao() != null && mSelf.ConvocacaoSelecionada().DataComparecimento() != "" &&
            mSelf.ConvocacaoSelecionada().Observacao() != "" && mSelf.ConvocacaoSelecionada().ProvidenciaTomada() != "") {

            mSelf.ConvocacaoSelecionada().ListaConvocacoesAlarmes(null);
            var jsonData = ko.toJS(mSelf.ConvocacaoSelecionada());
            $(".loading-inlog").fadeIn("fast", function () {
                $.ajax({
                    url: urlGlobal + "QuadroConvocacoes/QuadroConvocacoes/FinalizarConvocacao",
                    dataType: "json",
                    type: "POST",
                    data: jsonData,
                    success: function (retorno) {
                        if (retorno.Sucesso) {
                            mSelf.RecarregarGrid();
                            vm.ShowMensagemSucesso("Convocação finalizada com sucesso!");
                        } else {
                            vm.ShowMensagemErro(retorno.MensagemErro);
                        }
                    }
                }).done(function () {
                    $(".loading-inlog").fadeOut();
                    $('#sinoticomotorista-modal-finalizarconvocacao').modal('hide');
                });
            });
        } else {
            mSelf.ShowMensagemErro("Preencha os campos obrigatórios");
        }
    }

    mSelf.SetTextMotorista = function (data) {
        var array = data().split('/');

        if (array.length > 2)
            return array[1] + "/" + array[2];

        return data;
    }

    mSelf.InvalidarConvocacao = function () {
        mSelf.ConvocacaoSelecionada().ListaConvocacoesAlarmes(null);
        var jsonData = ko.toJS(mSelf.ConvocacaoSelecionada());
        if (mSelf.ConvocacaoSelecionada().ProvidenciaTomada() != null
            && mSelf.ConvocacaoSelecionada().ProvidenciaTomada() != "") {

            $(".loading-inlog").fadeIn("fast", function () {
                $.ajax({
                    url: urlGlobal + "QuadroConvocacoes/QuadroConvocacoes/InvalidarConvocacao",
                    dataType: "json",
                    type: "POST",
                    data: jsonData,
                    success: function (retorno) {
                        if (retorno.Sucesso) {
                            mSelf.RecarregarGrid();
                            vm.ShowMensagemSucesso("Convocação invalidada com sucesso!");
                        } else {
                            vm.ShowMensagemErro(retorno.MensagemErro);
                        }
                    }
                }).done(function () {
                    $(".loading-inlog").fadeOut();
                    $('#sinoticomotorista-modal-finalizarconvocacao').modal('hide');
                });
            });
        }
        else {
            mSelf.ShowMensagemErro("Preencha os campos obrigatórios");
        }
    }

    mSelf.InformacoesConvocacao = function (data) {
        $('#sinoticomotorista-modal-informacoesconvocacao').modal({ backdrop: 'static' });

        data.DataComparecimento(data.DataComparecimentoDDMMYYYY());
        data.DataPrimeiraChamada(data.DataPrimeiraChamadaDDMMYYYY());
        data.DataSegundaChamada(data.DataSegundaChamadaDDMMYYYY());
        data.DataTerceiraChamada(data.DataTerceiraChamadaDDMMYYYY());

        mSelf.ConvocacaoSelecionada(data);
    }

    mSelf.GerarRelatorio = function (data) {
        window.open(urlGlobal + 'QuadroConvocacoes/QuadroConvocacoes/RelatorioSinotico?codigoConvocacao=' + data.Codigo(), '_blank');
    }

    mSelf.TermoConvocacao = function (data) {
        window.open(urlGlobal + 'QuadroConvocacoes/QuadroConvocacoes/TermoConvocacao?codigoConvocacao=' + data.Codigo(), '_blank');
    }

    mSelf.ModalReativarConvocacao = function (data) {
        $('#sinoticomotorista-modal-reativarconvocacao').modal({ backdrop: 'static' });
        mSelf.ConvocacaoSelecionada(data);
        mSelf.ConvocacaoSelecionada().Observacao("");
        mSelf.ConvocacaoSelecionada().ProvidenciaTomada("");
    }

    mSelf.ObservacoesAlarmes = function (data) {

        $('#sinoticomotorista-modal-observacao').modal({ backdrop: 'static' });
        $('#data-observacao').val(data.ObservacaoTratamento);
    }

    mSelf.ReativarConvocacao = function () {

        if (mSelf.ConvocacaoSelecionada().ProvidenciaTomada() != null
            && mSelf.ConvocacaoSelecionada().ProvidenciaTomada() != ""
            && mSelf.ConvocacaoSelecionada().Observacao() != null
            && mSelf.ConvocacaoSelecionada().Observacao() != "") {
            var jsonData = ko.toJS(mSelf.ConvocacaoSelecionada());
            $(".loading-inlog").fadeIn("fast", function () {
                $.ajax({
                    url: urlGlobal + "QuadroConvocacoes/QuadroConvocacoes/ReativarConvocacao",
                    dataType: "json",
                    type: "POST",
                    data: jsonData,
                    success: function (retorno) {
                        if (retorno.Sucesso) {
                            mSelf.RecarregarGrid();
                            vm.ShowMensagemSucesso("Convocação reativada com sucesso!");

                        } else {
                            vm.ShowMensagemErro(retorno.MensagemErro);
                        }
                    }
                }).done(function () {
                    $('#sinoticomotorista-modal-reativarconvocacao').modal('hide');
                    $(".loading-inlog").fadeOut();
                });
            });
        } else {
            mSelf.ShowMensagemErro("Preencha os campos obrigatórios");
        }
    }

    mSelf.OnChangeDataPrimeiraChamada = function () {

        mSelf.MensagensAlerta([]);

        if (mSelf.ConvocacaoSelecionada().DataPrimeiraChamada() != "") {
            var dataAtual = new Date();
            dataAtual.setHours(00);
            dataAtual.setMinutes(00);
            dataAtual.setSeconds(00);
            dataAtual.setMilliseconds(00);

            var dataPrimeiraChamada = new Date(mSelf.ConvocacaoSelecionada().DataPrimeiraChamada() + " 00:00:00");

            if (mSelf.ConvocacaoSelecionada().DataAberturaDDMMYYY() > mSelf.ConvocacaoSelecionada().DataPrimeiraChamada()) {
                mSelf.ShowMensagemErro("A data da 1ª chamada deve ser posterior à data de abertura da convocação.");

                if (mSelf.CopiaConvocacao.DataPrimeiraChamada != "")
                    mSelf.ConvocacaoSelecionada().DataPrimeiraChamada(mSelf.CopiaConvocacao.DataPrimeiraChamada);

                mSelf.PermiteSalvar(false);
            } else if (dataPrimeiraChamada < dataAtual) {
                mSelf.ShowMensagemErro("A data da 1ª chamada deve ser maior que a data de hoje.");

                if (mSelf.CopiaConvocacao.DataPrimeiraChamada != "")
                    mSelf.ConvocacaoSelecionada().DataPrimeiraChamada(mSelf.CopiaConvocacao.DataPrimeiraChamada);

                mSelf.PermiteSalvar(false);

            } else {

                mSelf.PermiteSalvar(true);
            }
        } else {
            mSelf.ConvocacaoSelecionada().DataReferencia("");
            mSelf.PermiteSalvar(true);
        }
    };

    mSelf.OnChangeDataSegundaChamada = function () {

        mSelf.MensagensAlerta([]);

        if (mSelf.ConvocacaoSelecionada().DataSegundaChamada() != "") {
            var dataAtual = new Date();
            dataAtual.setHours(00);
            dataAtual.setMinutes(00);
            dataAtual.setSeconds(00);
            dataAtual.setMilliseconds(00);

            var dataReferencia = new Date(mSelf.CopiaConvocacao.DataPrimeiraChamada + " 00:00:00");
            dataReferencia.setDate(dataReferencia.getDate());

            var dataSegundaChamada = new Date(mSelf.ConvocacaoSelecionada().DataSegundaChamada() + " 00:00:00");

            if (dataSegundaChamada < dataReferencia || mSelf.ConvocacaoSelecionada().DataAberturaDDMMYYY() > mSelf.ConvocacaoSelecionada().DataSegundaChamada()) {
                mSelf.ShowMensagemErro("A data da 2ª chamada deve ser posterior à data da 1ª chamada somada ao prazo de comparecimento.");

                if (mSelf.CopiaConvocacao.DataPrimeiraChamada)
                    mSelf.ConvocacaoSelecionada().DataPrimeiraChamada(mSelf.CopiaConvocacao.DataPrimeiraChamada);

                mSelf.PermiteSalvar(false);
            } else if (dataSegundaChamada < dataAtual) {
                mSelf.ShowMensagemErro("A data da 2ª chamada deve ser maior que a data de hoje.");

                if (mSelf.CopiaConvocacao.DataPrimeiraChamada != "")
                    mSelf.ConvocacaoSelecionada().DataPrimeiraChamada(mSelf.CopiaConvocacao.DataPrimeiraChamada);

                mSelf.PermiteSalvar(false);

            } else {
                mSelf.ConvocacaoSelecionada().DataTerceiraChamada(null);

                mSelf.PermiteSalvar(true);
            }
        } else {
            mSelf.PermiteSalvar(true);
        }
    };

    mSelf.OnChangeDataTerceiraChamada = function () {

        mSelf.MensagensAlerta([]);

        if (mSelf.ConvocacaoSelecionada().DataTerceiraChamada() != "") {
            var dataAtual = new Date();
            dataAtual.setHours(00);
            dataAtual.setMinutes(00);
            dataAtual.setSeconds(00);
            dataAtual.setMilliseconds(00);

            var dataReferencia = new Date(mSelf.CopiaConvocacao.DataSegundaChamada + " 00:00:00");
            dataReferencia.setDate(dataReferencia.getDate());

            var dataTerceiraChamada = new Date(mSelf.ConvocacaoSelecionada().DataTerceiraChamada() + " 00:00:00");

            if (dataTerceiraChamada < dataReferencia || mSelf.ConvocacaoSelecionada().DataAberturaDDMMYYY() > mSelf.ConvocacaoSelecionada().DataTerceiraChamada()) {
                mSelf.ShowMensagemErro("A data da 3ª chamada deve ser posterior à data da 2ª chamada somada ao prazo de comparecimento.");

                if (mSelf.CopiaConvocacao.DataSegundaChamada)
                    mSelf.ConvocacaoSelecionada().DataSegundaChamada(mSelf.CopiaConvocacao.DataSegundaChamada);

                mSelf.PermiteSalvar(false);
            } else if (dataTerceiraChamada < dataAtual) {
                mSelf.ShowMensagemErro("A data da 1ª chamada deve ser maior que a data de hoje.");

                if (mSelf.CopiaConvocacao.DataPrimeiraChamada != "")
                    mSelf.ConvocacaoSelecionada().DataPrimeiraChamada(mSelf.CopiaConvocacao.DataPrimeiraChamada);

                mSelf.PermiteSalvar(false);

            } else {

                mSelf.PermiteSalvar(true);
            }
        } else {
            mSelf.PermiteSalvar(true);
        }
    };

    mSelf.MensagensAlerta = ko.observableArray([]);

    mSelf.ShowMensagemErro = function (mensagem) {
        mSelf.MensagensAlerta.push({ Mensagem: mensagem, Titulo: 4 });
    };

    mSelf.RecarregarGrid = function () {
        var filtro = vm.Ferramentas()[2].Data();

        if (!filtro.Filtrado()) {
            params = {
                Agendamento: true,
                Chamadas: null,
                DataAte: null,
                DataDe: null,
                Finalizada: null,
                Invalida: false,
                ListaAlarme: null,
                ListaCodigoConvocacao: null,
                ListaMotorista: null,
                SemAgendamento: true,
                Vencida: true
            };
        } else {
            params = filtro.MontarParametrosController();
        }

        $.ajax({
            url: urlGlobal + "QuadroConvocacoes/QuadroConvocacoes/FiltrarConvocacaoMotoristas",
            contentType: 'application/json; charset=utf-8',
            dataType: "json",
            type: "POST",
            data: JSON.stringify(params),
            success: function (retorno) {
                if (retorno != null) {
                    var geralfiltro = ko.mapping.fromJS(retorno);
                    filtro.GeralFiltroMotorista(geralfiltro);

                    if (filtro.GeralFiltroMotorista().ListaConvocacoes().length > 0) {
                        filtro.CarregaFiltros();
                    } else {
                        vm.ShowMensagemAlerta("Não foram encontrados registros para sua pesquisa");
                    }
                    filtro.AtualizarGrid(false);
                }
            }
        }).done(function () {
            $("#filtro-motorista").filtroDDS(filtro.EventoFiltroDDS);
        });
    }

    mSelf.AnexarConvocacao = function (data) {
        $('#sinoticomotorista-modal-anexarconvocacao').modal({ backdrop: 'static' });
        mSelf.ConvocacaoSelecionada(data);
        mSelf.MensagensAlerta([]);
        $("#File").val("");
    }

    mSelf.DownloadArquivo = function (data, evt) {
        window.open(urlGlobal + "QuadroConvocacoes/QuadroConvocacoes/Download/?nome=" + data.NomeArquivo(), "_blank");
    }

    mSelf.DeletarArquivo = function (data, evt) {
        $(".loading-inlog").fadeIn("fast", function () {
            $.ajax({
                url: urlGlobal + "QuadroConvocacoes/QuadroConvocacoes/DeletaAnexoConvocacao",
                dataType: "json",
                type: "POST",
                data: {
                    codigo: data.Codigo(),
                    nome: data.NomeArquivo()
                },
                beforeSend: function () {
                },
                success: function (retorno) {
                    if (retorno.Sucesso) {
                        vm.FecharTodosMensagemAlerta();
                        mSelf.AtualizarGridConvocacoes();
                        vm.ShowMensagemSucesso("Anexo Excluido com sucesso!");
                    } else {
                        vm.ShowMensagemErro(retorno.MensagemErro);
                    }
                }
            }).done(function () {
                $('#sinoticomotorista-modal-anexarconvocacao').modal('hide');
                $(".loading-inlog").fadeOut();
            });
        });
    }

    mSelf.SalvarEdicaoAnexosConvocacao = function (data) {
        var files = $("#File").get(0).files;
        var codigoConvocacao = $("#CodigoConvocacao").val();
        var conformidade = true;
        var maxsize = 10000000;
        var totalsize = 0;
        var fileData = new FormData();
        for (var i = 0; i < files.length; i++) {
            fileData.append("File", files[i]);
            var size = files[i].size;
            totalsize = totalsize + size;
            if (totalsize > maxsize) {
                conformidade = false;
            }
        }
        fileData.append("codigoConvocacao", codigoConvocacao);

        if (conformidade) {
            $(".loading-inlog").fadeIn("fast", function () {
                $.ajax({
                    url: urlGlobal + "QuadroConvocacoes/QuadroConvocacoes/SalvarAnexosConvocacao",
                    dataType: "json",
                    type: "POST",
                    contentType: false,
                    processData: false,
                    data: fileData,
                    beforeSend: function () {

                    },
                    success: function (retorno) {
                        if (retorno.Sucesso) {
                            vm.FecharTodosMensagemAlerta();
                            mSelf.AtualizarGridConvocacoes();
                            vm.ShowMensagemSucesso("Anexo salvo com sucesso!");
                            $('#sinoticomotorista-modal-anexarconvocacao').modal('hide');
                        } else {
                            mSelf.ShowMensagemErro(retorno.MensagemErro);
                        }
                    }
                }).done(function () {       
                    $(".loading-inlog").fadeOut();
                });
            });
        }
        else {
            mSelf.ShowMensagemErro("Arquivos excedem tamanho máximo de 10mb.");
        }
    } 

}

