0

Good morning, I have a WebPart that generates a list from a filter.

however I am having trouble ordering DATA (publication). example:

10/10/2014

02/02/2011

02/01/2014

using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using IcatuControleAcesso.Negocio;
using Microsoft.SharePoint;
using IcatuControleAcesso.Dominio;
using System.Collections.Generic;
using IcatuControleAcesso.Infraestrutura;
using System.IO;
using IcatuControleAcesso.Servico;
using IcatuControleAcesso.IcatuIHPrev;
using System.Linq;
using System.Data;
using Icatu.Logger.Aspects.Scope.Methods;

namespace IcatuControleAcesso.Sharepoint.Webpart.WP_ManterDocumentos
{
    public partial class WP_ManterDocumentosUserControl : UserControl
    {
        #region [ Eventos ]

        [IcatuMarkMethodLog()]
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                grid.DataSource = null;
                grid.DataBind();

                CarregarPerfis();
                CarregarModulos();
                CarregarParceiros();
                CarregarClassificacao();
                CarregarArquivo();
                CarregarEstagio();
                CarregarPlanosLegado();
            }
        }

        [IcatuMarkMethodLog()]
        protected void ddlTipoFiltro_SelectedIndexChanged(object sender, EventArgs e)
        {
            this.AlimentarGrid();
            if (grid.Rows.Count == 0)
                Helpers.RetornaDivAlerta(this.Page, string.Format("Não foram encontrados documentos com a classificação {0}", ddlTipoFiltro.SelectedItem.Text));
        }

        [IcatuMarkMethodLog()]
        private void gridDS_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
        {
            e.ObjectInstance = this;
        }

        [IcatuMarkMethodLog()]
        protected sealed override void CreateChildControls()
        {
            base.CreateChildControls();
            this.CarregarOpcoesFiltro();
            this.AlimentarGrid();
        }

        [IcatuMarkMethodLog()]
        protected void btnAddPerfis_Click(object sender, EventArgs e)
        {
            AddOrRemoveItem(lstPerfis, lstPerfisDest);
        }

        [IcatuMarkMethodLog()]
        protected void btnRemoverPerfis_Click(object sender, EventArgs e)
        {
            AddOrRemoveItem(lstPerfisDest, lstPerfis);
        }

        [IcatuMarkMethodLog()]
        protected void btnAddModulos_Click(object sender, EventArgs e)
        {
            AddOrRemoveItem(lstModulos, lstModulosDest);
        }

        [IcatuMarkMethodLog()]
        protected void btnRemoverModulos_Click(object sender, EventArgs e)
        {
            AddOrRemoveItem(lstModulosDest, lstModulos);
        }

        [IcatuMarkMethodLog()]
        protected void btnAddParceiros_Click(object sender, EventArgs e)
        {
            AddOrRemoveItem(lstParceiros, lstParceirosDest);
        }

        [IcatuMarkMethodLog()]
        protected void btnRemoverParceiros_Click(object sender, EventArgs e)
        {
            AddOrRemoveItem(lstParceirosDest, lstParceiros);
        }

        [IcatuMarkMethodLog()]
        protected void btnAddPlanosLegado_Click(object sender, EventArgs e)
        {
            if (lstPlanosLegadoDest.Items.Count > 0)
                Helpers.RetornaDivErros(this.Page, "Apenas um plano é permitido", lstPlanosLegadoDest.ClientID);
            else
            {
                AddOrRemoveItem(lstPlanosLegado, lstPlanosLegadoDest);
                this.CarregarPatrocinadoras();
                lstPatrocinadoras.Enabled = lstPlanosLegadoDest.Items.Count > 0;
                btnAddPatrocinadoras.Enabled = lstPlanosLegadoDest.Items.Count > 0;
                btnRemoverPatrocinadora.Enabled = lstPlanosLegadoDest.Items.Count > 0;
                lstPatrocinadorasDest.Enabled = lstPlanosLegadoDest.Items.Count > 0;
            }
        }

        [IcatuMarkMethodLog()]
        protected void btnRemoverPlanosLegado_Click(object sender, EventArgs e)
        {
            AddOrRemoveItem(lstPlanosLegadoDest, lstPlanosLegado);
            this.CarregarPatrocinadoras();
            lstPatrocinadoras.Enabled = lstPlanosLegadoDest.Items.Count > 0;
            btnAddPatrocinadoras.Enabled = lstPlanosLegadoDest.Items.Count > 0;
            btnRemoverPatrocinadora.Enabled = lstPlanosLegadoDest.Items.Count > 0;
            lstPatrocinadorasDest.Enabled = lstPlanosLegadoDest.Items.Count > 0;
        }

        [IcatuMarkMethodLog()]
        protected void btnNovo_Click(object sender, EventArgs e)
        {
            CarregarPerfis();
            CarregarModulos();
            CarregarParceiros();
            CarregarClassificacao();
            CarregarArquivo();
            CarregarEstagio();
            CarregarPlanosLegado();

            idDocumento.Value = null;
            tipoDocumento.Value = null;
            this.Set(null);
            mtvManterDocumentos.SetActiveView(viewNovo);
        }

        [IcatuMarkMethodLog()]
        protected void btnCancelar_Click(object sender, EventArgs e)
        {
            mtvManterDocumentos.SetActiveView(viewDocumentos);
        }

        [IcatuMarkMethodLog()]
        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            BibliotecaDocumentos bibliotecaDocumentos = this.Get();
            if (bibliotecaDocumentos != null)
            {
                BibliotecaDocumentosBLL bll = new BibliotecaDocumentosBLL(SPContext.Current.Web);

                //rever
                /*BibliotecaDocumentos bibliotecaDocumentosPesq = bll.ObterPorNome(bibliotecaDocumentos.Title);
                if (bibliotecaDocumentosPesq != null && !idDocumento.Value.Equals(bibliotecaDocumentosPesq.Id.ToString()))
                {
                    Helpers.RetornaDivErros(this.Page, IcatuResource.MSG85, new String[0]);
                    return;
                }*/

                if (!String.IsNullOrEmpty(idDocumento.Value) && chkAlterarArquivo.Checked)
                {
                    bll.Deletar(bibliotecaDocumentos.Id);
                    bibliotecaDocumentos.Id = 0;
                }

                bll.InserirAlterar(bibliotecaDocumentos);

                Helpers.RetornaDivSucesso(this.Page, IcatuResource.MSG57);
                mtvManterDocumentos.SetActiveView(viewDocumentos);
                this.AlimentarGrid();
            }
        }

        [IcatuMarkMethodLog()]
        protected void btnAddPatrocinadoras_Click(object sender, EventArgs e)
        {
            AddOrRemoveItem(lstPatrocinadoras, lstPatrocinadorasDest);
        }

        [IcatuMarkMethodLog()]
        protected void btnRemoverPatrocinadora_Click(object sender, EventArgs e)
        {
            AddOrRemoveItem(lstPatrocinadorasDest, lstPatrocinadoras);
        }

        [IcatuMarkMethodLog()]
        protected void ddlClassificacao_SelectedIndexChanged(object sender, EventArgs e)
        {
            this.ExibeCampos((BibliotecaDocumentos.ClassificacaoBibliotecaDocumentos)Enum.Parse(typeof(BibliotecaDocumentos.ClassificacaoBibliotecaDocumentos), ddlClassificacao.SelectedValue));
        }

        [IcatuMarkMethodLog()]
        protected void grid_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName.Equals("editar"))
            {
                int id = Convert.ToInt32(grid.DataKeys[Convert.ToInt32(e.CommandArgument)]["Id"]);

                CarregarPerfis();
                CarregarModulos();
                CarregarParceiros();
                CarregarClassificacao();
                CarregarArquivo();
                CarregarEstagio();
                CarregarPlanosLegado();

                BibliotecaDocumentos documento = new BibliotecaDocumentosBLL(SPContext.Current.Web).ObterPorId(id);

                idDocumento.Value = id.ToString();
                tipoDocumento.Value = documento.Arquivo.ToString();

                this.Set(documento);

                mtvManterDocumentos.SetActiveView(viewNovo);
            }
            else if (e.CommandName.Equals("excluir"))
            {
                int id = Convert.ToInt32(grid.DataKeys[Convert.ToInt32(e.CommandArgument)]["Id"]);

                new BibliotecaDocumentosBLL(SPContext.Current.Web).Deletar(id);
                Helpers.RetornaDivSucesso(this.Page, "Documento excluído com sucesso.");
                AlimentarGrid();
            }
        }

        #endregion

        #region [ Métodos ]

        private void ExibeCampos(BibliotecaDocumentos.ClassificacaoBibliotecaDocumentos classificacao)
        {
            pnlPlanosPatrocinadoras.Visible =
                classificacao == BibliotecaDocumentos.ClassificacaoBibliotecaDocumentos.Formularios ||
                classificacao == BibliotecaDocumentos.ClassificacaoBibliotecaDocumentos.Documentos ||
                classificacao == BibliotecaDocumentos.ClassificacaoBibliotecaDocumentos.Balancete;

            pnlPatrocinadoras.Visible = classificacao == BibliotecaDocumentos.ClassificacaoBibliotecaDocumentos.Formularios;
        }

        public DataTable SelectDataGrid()
        {
            DataTable table = new DataTable();
            if (mtvManterDocumentos.GetActiveView() == viewDocumentos)
            {
                table.Columns.Add("Id", typeof(int));
                table.Columns.Add("Documento", typeof(string));
                table.Columns.Add("DataPublicacao", typeof(string));
                table.Columns.Add("Estagio", typeof(string));
                table.Columns.Add("Plano", typeof(string));

                if (ddlTipoFiltro.SelectedValue != "0")
                {
                    BibliotecaDocumentos.ClassificacaoBibliotecaDocumentos classificacao = (BibliotecaDocumentos.ClassificacaoBibliotecaDocumentos)Enum.Parse(typeof(BibliotecaDocumentos.ClassificacaoBibliotecaDocumentos), ddlTipoFiltro.SelectedValue.ToString());

                    grid.Columns[1].Visible = 
                        classificacao == BibliotecaDocumentos.ClassificacaoBibliotecaDocumentos.Documentos ||
                        classificacao == BibliotecaDocumentos.ClassificacaoBibliotecaDocumentos.Formularios;

                    List<BibliotecaDocumentos> lista = new BibliotecaDocumentosBLL(SPContext.Current.Web).ObterParaPublicacao(classificacao).ToList();

                    DataRow row;
                    foreach (BibliotecaDocumentos item in lista)
                    {
                        row = table.Rows.Add();
                        row["Id"] = item.Id;
                        row["Documento"] = item.NomeDocumento;
                        row["DataPublicacao"] = item.DataPublicacao.ToString("dd/MM/YYYY");                        
                        row["Estagio"] = Helpers.EstagioToString(item.Estagio.ToString());
                        if (item.Planos != null && item.Planos.Count > 0)
                            row["Plano"] = item.Planos[0].Nome;
                    }
                }
            }
            return table;
        }

        private void AlimentarGrid()
        {
            if (mtvManterDocumentos.ActiveViewIndex == 0)
            {
                gridDS.SelectMethod = "SelectDataGrid";
                gridDS.TypeName = this.GetType().AssemblyQualifiedName;
                gridDS.ObjectCreating += new ObjectDataSourceObjectEventHandler(gridDS_ObjectCreating);
                grid.DataBind();
            }
        }

        private void CarregarPerfis()
        {
            var bll = new PerfilBLL();
            lstPerfisDest.Items.Clear();
            lstPerfis.Items.Clear();

            List<Perfil> lista = bll.ObterPorAbrangencia(PerfilBLL.AbrangenciaPerfil.Externo).OrderBy(p => p.NomeExibicao).ToList();
            lista.Add(bll.ObterPorTipo(Perfil.TipoPerfil.AngariadorInterno));
            lista.Add(bll.ObterPorTipo(Perfil.TipoPerfil.GestorOperacional));

            lstPerfis.DataValueField = "Id";
            lstPerfis.DataTextField = "Title";
            lstPerfis.DataSource = lista.OrderBy(x => x.Title).ToList();
            lstPerfis.DataBind();
        }

        private void CarregarModulos()
        {
            lstModulosDest.Items.Clear();
            lstModulos.Items.Clear();

            IEnumerable<Modulo> lista = new ModuloBLL().ObterTodos().OrderBy(m => m.NomeExibicao);

            lstModulos.DataValueField = "Id";
            lstModulos.DataTextField = "NomeExibicao";
            lstModulos.DataSource = lista;
            lstModulos.DataBind();
        }

        private void CarregarParceiros()
        {
            lstParceirosDest.Items.Clear();
            lstParceiros.Items.Clear();

            IEnumerable<Empresa> lista = new EmpresaBLL().ObterTodos(new List<string>() { }).Where(q => string.IsNullOrEmpty(q.CNPJ)).OrderBy(p => p.Title);

            lstParceiros.DataValueField = "Id";
            lstParceiros.DataTextField = "Title";
            lstParceiros.DataSource = lista;
            lstParceiros.DataBind();
        }

        private void CarregarPlanosLegado()
        {
            lstPlanosLegado.Items.Clear();
            lstPlanosLegadoDest.Items.Clear();

            DTOSponsorPlans[] planos = new IhPrevServiceClient().GetSponsorsPlans(new DTOSponsorPlans()).Distinct().OrderBy(p => p.NOMEPLANO).ToArray();

            List<DTOSponsorPlans> listaPlanos = new List<DTOSponsorPlans>();
            foreach (DTOSponsorPlans plano in planos)
            {
                if (!listaPlanos.Any(p => p.CODPLANO == plano.CODPLANO))
                    listaPlanos.Add(new DTOSponsorPlans() { CODPLANO = plano.CODPLANO, NOMEPLANO = plano.NOMEPLANO });
            }

            lstPlanosLegado.DataValueField = "CODPLANO";
            lstPlanosLegado.DataTextField = "NOMEPLANO";
            lstPlanosLegado.DataSource = listaPlanos;
            lstPlanosLegado.DataBind();
        }

        private void CarregarPatrocinadoras()
        {
            lstPatrocinadoras.Items.Clear();
            lstPatrocinadorasDest.Items.Clear();

            DTOSponsorPlans[] planos = null;

            if (lstPlanosLegadoDest.Items.Count > 0)
                planos = new IhPrevServiceClient().GetSponsorsPlans(new DTOSponsorPlans() { CODPLANO = lstPlanosLegadoDest.Items[0].Value, }).OrderBy(p => p.NOMEPAT).ToArray();

            lstPatrocinadoras.DataValueField = "CODPAT";
            lstPatrocinadoras.DataTextField = "NOMEPAT";
            lstPatrocinadoras.DataSource = planos;
            lstPatrocinadoras.DataBind();
        }

        private void CarregarClassificacao()
        {
            ddlClassificacao.Items.Clear();
            ddlClassificacao.Items.Add(new ListItem("Características Fundos", "CaracteristicasFundos"));
            ddlClassificacao.Items.Add(new ListItem("Quadro Desempenho", "QuadroDesempenho"));
            ddlClassificacao.Items.Add(new ListItem("Manual Treinamento", "ManualTreinamento"));
            ddlClassificacao.Items.Add(new ListItem("Boletim Financeiro", "BoletimFinanceiro"));
            ddlClassificacao.Items.Add(new ListItem("Circular Normativa", "CircularNormativa"));
            ddlClassificacao.Items.Add(new ListItem("Legislação", "Legislacao"));
            ddlClassificacao.Items.Add(new ListItem("Documentos", "Documentos"));
            ddlClassificacao.Items.Add(new ListItem("Balancete", "Balancete"));
            ddlClassificacao.Items.Add(new ListItem("Formulários", "Formularios"));
        }

        private void CarregarArquivo()
        {
            /*ddlArquivo.Items.Clear();
            ddlArquivo.Items.Add(new ListItem("Word", "Word"));
            ddlArquivo.Items.Add(new ListItem("PDF", "PDF"));
            ddlArquivo.Items.Add(new ListItem("Excel", "Excel"));
            ddlArquivo.Items.Add(new ListItem("Texto", "Texto"));
            ddlArquivo.Items.Add(new ListItem("ImagemJpg", "ImagemJpg"));
            ddlArquivo.Items.Add(new ListItem("Compactado", "Compactado"));*/
        }

        private void CarregarEstagio()
        {
            ddlEstagio.Items.Clear();
            ddlEstagio.Items.Add(new ListItem("Em Edição", "EmEdicao"));
            ddlEstagio.Items.Add(new ListItem("Publicado", "Publicado"));
            ddlEstagio.Items.Add(new ListItem("Arquivado", "Arquivado"));
        }

        private void CarregarOpcoesFiltro()
        {
            if (ddlTipoFiltro.Items.Count == 0)
            {
                ddlTipoFiltro.Items.Add(new ListItem() { Text = "Escolha uma classificação", Value = "0", Selected = true });
                ddlTipoFiltro.Items.Add(new ListItem("Características Fundos", "CaracteristicasFundos"));
                ddlTipoFiltro.Items.Add(new ListItem("Quadro Desempenho", "QuadroDesempenho"));
                ddlTipoFiltro.Items.Add(new ListItem("Manual Treinamento", "ManualTreinamento"));
                ddlTipoFiltro.Items.Add(new ListItem("Boletim Financeiro", "BoletimFinanceiro"));
                ddlTipoFiltro.Items.Add(new ListItem("Circular Normativa", "CircularNormativa"));
                ddlTipoFiltro.Items.Add(new ListItem("Legislação", "Legislacao"));
                ddlTipoFiltro.Items.Add(new ListItem("Documentos", "Documentos"));
                ddlTipoFiltro.Items.Add(new ListItem("Balancete", "Balancete"));
                ddlTipoFiltro.Items.Add(new ListItem("Formulários", "Formularios"));
            }
        }

        private void Set(BibliotecaDocumentos bibliotecaDocumentos)
        {
            if (bibliotecaDocumentos == null)
            {
                bibliotecaDocumentos = new BibliotecaDocumentos();
                bibliotecaDocumentos.DataPublicacao = DateTime.Today;
            }

            lstPerfisDest.Items.Clear();
            foreach (var perfil in bibliotecaDocumentos.Perfis)
            {
                lstPerfisDest.Items.Add(new ListItem(perfil.Title, perfil.Id.ToString()));
                lstPerfis.Items.Remove(lstPerfis.Items.FindByValue(perfil.Id.ToString()));
            }

            lstModulosDest.Items.Clear();
            foreach (var modulo in bibliotecaDocumentos.Modulos)
            {
                lstModulosDest.Items.Add(new ListItem(modulo.Title, modulo.Id.ToString()));
                lstModulos.Items.Remove(lstModulos.Items.FindByValue(modulo.Id.ToString()));
            }

            lstPlanosLegadoDest.Items.Clear();
            foreach (PlanoIHPrev plano in bibliotecaDocumentos.Planos)
            {
                lstPlanosLegadoDest.Items.Add(new ListItem(plano.Nome, plano.Codigo));
                lstPlanosLegado.Items.Remove(lstPlanosLegado.Items.FindByValue(plano.Codigo));
            }

            this.CarregarPatrocinadoras();

            lstParceirosDest.Items.Clear();
            foreach (var empresa in bibliotecaDocumentos.Empresas)
            {
                lstParceirosDest.Items.Add(new ListItem(empresa.Title, empresa.Id.ToString()));
                lstParceiros.Items.Remove(lstParceiros.Items.FindByValue(empresa.Id.ToString()));
            }

            BibliotecaDocumentosBLL bll = new BibliotecaDocumentosBLL(SPContext.Current.Web);

            lstPatrocinadorasDest.Items.Clear();
            foreach (var empresa in bll.ObterPatrocinadorasApartirDoPlano("", bibliotecaDocumentos.Patrocinadoras))
            {
                lstPatrocinadorasDest.Items.Add(new ListItem(empresa.Title, empresa.Matricula));
                lstPatrocinadoras.Items.Remove(lstPatrocinadoras.Items.FindByValue(empresa.Matricula));
            }

            ddlClassificacao.SelectedValue = bibliotecaDocumentos.Classificacao.ToString();
            txtNomeDocumento.Text = bibliotecaDocumentos.NomeDocumento;
            //ddlArquivo.SelectedValue = bibliotecaDocumentos.Arquivo.ToString();
            ddlEstagio.SelectedValue = bibliotecaDocumentos.Estagio.ToString();
            txtDataPublicacao.Text = bibliotecaDocumentos.DataPublicacao.ToString("dd/MM/yyyy");

            chkAlterarArquivo.Visible = !String.IsNullOrEmpty(idDocumento.Value);
            ddlClassificacao.Enabled = String.IsNullOrEmpty(idDocumento.Value);

            this.ExibeCampos(bibliotecaDocumentos.Classificacao);
        }

        private BibliotecaDocumentos Get()
        {
            BibliotecaDocumentos bibliotecaDocumentos;
            if (!String.IsNullOrEmpty(idDocumento.Value) && idDocumento.Value != "0")
                bibliotecaDocumentos = new BibliotecaDocumentosBLL(SPContext.Current.Web).ObterPorId(int.Parse(idDocumento.Value));
            else
                bibliotecaDocumentos = new BibliotecaDocumentos();

            if (String.IsNullOrEmpty(txtNomeDocumento.Text.Trim()))
            {
                Helpers.RetornaDivErros(this.Page, IcatuResource.MSG61, txtNomeDocumento.ClientID);
                return null;
            }

            /*if (bibliotecaDocumentos.Id > 0 && tipoDocumento.Value != ddlArquivo.SelectedValue)
            {
                Helpers.RetornaDivErros(this.Page, "Ao alterar o tipo de arquivo, é necessário fazer upload de um novo documento.", chkAlterarArquivo.ClientID);
                return null;
            }*/

            bibliotecaDocumentos.NomeDocumento = txtNomeDocumento.Text;

            if (lstPerfisDest.Items.Count == 0)
            {
                Helpers.RetornaDivErros(this.Page, "Selecione pelo menos um perfil.", lstPerfisDest.ClientID);
                return null;
            }

            bibliotecaDocumentos.Perfis.Clear();
            bibliotecaDocumentos.Modulos.Clear();
            bibliotecaDocumentos.Planos.Clear();
            bibliotecaDocumentos.Empresas.Clear();
            bibliotecaDocumentos.Patrocinadoras.Clear();

            bool perfilGestor = false;
            PerfilBLL perfilBLL = new PerfilBLL();
            foreach (ListItem item in lstPerfisDest.Items)
            {
                Perfil perfil = perfilBLL.ObterPorId(Convert.ToInt32(item.Value));
                if (perfil.Tipo == Perfil.TipoPerfil.GestorRH)
                    perfilGestor = true;
                if (bibliotecaDocumentos.Perfis == null)
                    bibliotecaDocumentos.Perfis = new List<Perfil>();

                if (!bibliotecaDocumentos.Perfis.Contains(perfil))
                    bibliotecaDocumentos.Perfis.Add(perfil);

            }

            bool ClienteIcatuFMP = false;

            ModuloBLL moduloBLL = new ModuloBLL();
            foreach (ListItem item in lstModulosDest.Items)
            {
                Modulo modulo = moduloBLL.ObterPorId(Convert.ToInt32(item.Value));
                if (modulo.Id == 17)
                    ClienteIcatuFMP = true;

                if (bibliotecaDocumentos.Modulos == null)
                    bibliotecaDocumentos.Modulos = new List<Modulo>();

                if (!bibliotecaDocumentos.Modulos.Contains(modulo))
                    bibliotecaDocumentos.Modulos.Add(modulo);
            }

            EmpresaBLL empresaBLL = new EmpresaBLL(SPContext.Current.Web);
            foreach (ListItem item in lstParceirosDest.Items)
            {
                Empresa empresa = empresaBLL.ObterPorId(Convert.ToInt32(item.Value));

                if (bibliotecaDocumentos.Empresas == null)
                    bibliotecaDocumentos.Empresas = new List<Empresa>();

                if (!bibliotecaDocumentos.Empresas.Contains(empresa))
                    bibliotecaDocumentos.Empresas.Add(empresa);
            }

            bibliotecaDocumentos.Classificacao =
                (BibliotecaDocumentos.ClassificacaoBibliotecaDocumentos)Enum.Parse(typeof(BibliotecaDocumentos.ClassificacaoBibliotecaDocumentos), ddlClassificacao.SelectedValue);

            if (bibliotecaDocumentos.Classificacao == BibliotecaDocumentos.ClassificacaoBibliotecaDocumentos.Formularios ||
                bibliotecaDocumentos.Classificacao == BibliotecaDocumentos.ClassificacaoBibliotecaDocumentos.Documentos ||
                bibliotecaDocumentos.Classificacao == BibliotecaDocumentos.ClassificacaoBibliotecaDocumentos.Balancete)
            {
                if (ClienteIcatuFMP == true && (bibliotecaDocumentos.Planos == null || bibliotecaDocumentos.Planos.Count == 0))
                {
                    Helpers.RetornaDivErros(this.Page, IcatuResource.MSG61, lstPlanosLegado.ClientID, lstPlanosLegadoDest.ClientID);
                    return null;
                }

                if (perfilGestor == true && lstPlanosLegadoDest.Items.Count == 0)
                {
                    Helpers.RetornaDivErros(this.Page, IcatuResource.MSG61, lstPlanosLegado.ClientID, lstPlanosLegadoDest.ClientID);
                    return null;
                }

                if (pnlPlanosPatrocinadoras.Visible &&
                    lstPlanosLegadoDest.Items.Count == 0 &&
                    bibliotecaDocumentos.Modulos.Any(m => m.NomeExibicao.ToLower().Contains("icatu fmp")))
                {
                    Helpers.RetornaDivErros(this.Page, IcatuResource.MSG61, lstPlanosLegado.ClientID, lstPlanosLegadoDest.ClientID);
                    return null;
                }

                if (pnlPatrocinadoras.Visible &&
                    lstPatrocinadorasDest.Items.Count == 0 &&
                    bibliotecaDocumentos.Modulos.Any(m => m.NomeExibicao.ToLower().Contains("icatu fmp")))
                {
                    Helpers.RetornaDivErros(this.Page, IcatuResource.MSG61, lstPatrocinadoras.ClientID, lstPatrocinadorasDest.ClientID);
                    return null;
                }

                foreach (ListItem item in lstPlanosLegadoDest.Items)
                {
                    if (bibliotecaDocumentos.Planos == null)
                        bibliotecaDocumentos.Planos = new List<PlanoIHPrev>();

                    if (!bibliotecaDocumentos.Planos.Any(p => p.Codigo == item.Value))
                        bibliotecaDocumentos.Planos.Add(new PlanoIHPrev() { Codigo = item.Value, Nome = item.Text });
                }

                if (lstPlanosLegadoDest.Items.Count > 0)
                {
                    using (IhPrevServiceClient wsClient = new IhPrevServiceClient())
                    {
                        string codPlano = lstPlanosLegadoDest.Items[0].Value;

                        foreach (ListItem item in lstPatrocinadorasDest.Items)
                        {
                            Empresa empresaEncontrada = empresaBLL.ObterPorMatricula(item.Value.Trim());

                            if (empresaEncontrada == null)
                            {
                                DTOSponsorPlans[] planos = wsClient.GetSponsorsPlans(
                                    new DTOSponsorPlans()
                                    {
                                        CODPLANO = codPlano,
                                        CODPAT = item.Value
                                    });

                                if (planos.Count() > 0)
                                {
                                    empresaEncontrada = new Empresa();
                                    empresaEncontrada.Matricula = item.Value.Trim();
                                    empresaEncontrada.Title = item.Text;
                                    empresaEncontrada.CNPJ = planos[0].CNPJ;
                                    empresaEncontrada = empresaBLL.InserirAlterar(empresaEncontrada);
                                }
                                else
                                {
                                    Helpers.RetornaDivErros(this.Page, "Erro ao gravar Empresa na lista vinda do legado.", new string[0]);
                                    return null;
                                }
                            }

                            if (bibliotecaDocumentos.Patrocinadoras == null)
                                bibliotecaDocumentos.Patrocinadoras = new List<PlanoPatrocinadora>();

                            bibliotecaDocumentos.Patrocinadoras.Add(new PlanoPatrocinadora() { CodPlano = codPlano, Patrocinadora = empresaEncontrada });
                        }
                    }
                }
            }

            bibliotecaDocumentos.Estagio =
                (IcatuControleAcesso.Dominio.BibliotecaDocumentos.EstagioBibliotecaDocumentos)Enum.Parse(typeof(IcatuControleAcesso.Dominio.BibliotecaDocumentos.EstagioBibliotecaDocumentos), Helpers.StringToEstagio(ddlEstagio.SelectedValue));

            if (Helpers.IsValidDate(txtDataPublicacao.Text))
                bibliotecaDocumentos.DataPublicacao = Convert.ToDateTime(txtDataPublicacao.Text);
            else
            {
                Helpers.RetornaDivErros(this.Page, IcatuResource.MSG63, txtDataPublicacao.ClientID);
                return null;
            }

            if (bibliotecaDocumentos.Id == 0 || chkAlterarArquivo.Checked)
            {
                if (flpArquivo.PostedFile.InputStream.Length == 0)
                {
                    Helpers.RetornaDivErros(this.Page, IcatuResource.MSG63, flpArquivo.ClientID);
                    return null;
  • 1
    I think it is because you defined the column as of type string. Make it a datetime type. – Amal Hashim May 12 '15 at 15:15
  • you are right i change the string and works! thks – Wesley Dias Jun 18 '15 at 15:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.