protected Reuniao CarregaReuniao(int id_reuniao)
        {
            //Cria o wrapper
            spsWrapper2 objWrapper = new spsWrapper2();

            //carrega a REunião
            var objSaida = (from SPListItem item in
                            objWrapper.RetornaLista("Reunioes", new string[] { "Hora de Início", "Title" }, SPContext.Current.Web.ID)
                            where item.ID == id_reuniao
                            select new Reuniao {
                dt_reuniao = Convert.ToDateTime(item["Hora de Início"]), ID_Reuniao = item.ID, Titulo = item.Title
            }
                            ).FirstOrDefault();


            //Adiciona os Participantes.

            //Participantes..
            objSaida.Participantes.AddRange(Participante.Participantes(objSaida.ID_Reuniao));



            DateTime dtInicioFiltro = objSaida.dt_reuniao.Date.AddDays(-7);

            ////Carrega as pautas que tiveram tarefas alteradas
            List <Pauta> objPautas = Pauta.Pautas(dtInicioFiltro, objSaida.dt_reuniao);


            //Pauta.Pautas().Where(f => f.dt_modificado >= dtInicioFiltro && f.dt_modificado <= objSaida.dt_reuniao).ToList();


            objSaida.Pautas.AddRange(objPautas.OrderBy(f => f.Titulo));
            return(objSaida);
        }
Beispiel #2
0
        }//GetCausas

        public static List <Produtividade> GetTratamentos(DateTime dt_ini, DateTime dt_fim)
        {
            spsWrapper2 objWrapper = new spsWrapper2();

            string strQuery      = string.Format("<Where><And><Neq><FieldRef Name='Causa'/><Value Type='Text'>Retorno de operadora</Value></Neq><And><IsNotNull><FieldRef Name='Tratamento'/></IsNotNull><And><Geq><FieldRef Name='Created' /><Value Type='DateTime' IncludeTimeValue='FALSE'>{0:yyyy-MM-dd}</Value></Geq><Leq><FieldRef Name='Created' /><Value Type='DateTime' IncludeTimeValue='FALSE'>{1:yyyy-MM-dd}</Value></Leq></And></And></And></Where>", dt_ini, dt_fim);
            string strViewFields = @"<FieldRef Name='Created' /><FieldRef Name='Tratamento' />";
            var    lstProd       = objWrapper.RetornaLista("Produtividade", strQuery, strViewFields, SPContext.Current.Web.ID);


            var objSaida = (from p in lstProd
                            group p by new
            {
                Periodo = Convert.ToDateTime(p["Created"]).Date,
                Tratamento = Convert.ToString(p["Tratamento"])
            } into pp
                            select new Produtividade
            {
                Tratamento = pp.Key.Tratamento,
                Periodo = pp.Key.Periodo.ToString("yyyy-MM-dd 00:00:00"),
                PeriodoFormatado = pp.Key.Periodo.ToString("dd/MMM"),
                qtdRecs = pp.Count()
            }).OrderBy(f => f.Periodo).ToList();


            return(objSaida);
        }//GetCausas
Beispiel #3
0
        public static Object[] GetExport(DateTime dt_ini, DateTime dt_fim)
        {
            spsWrapper2 objWrapper = new spsWrapper2();

            string strViewFields = @"<FieldRef Name='Title' /><FieldRef Name='Created' /><FieldRef Name='Usuario' /><FieldRef Name='Causa' /> <FieldRef Name='Tratamento'/>";
            string strQuery;

            strQuery = string.Format("<Where><And><Geq><FieldRef Name='Created' /><Value Type='DateTime' IncludeTimeValue='FALSE'>{0:yyyy-MM-dd}</Value></Geq><Leq><FieldRef Name='Created' /><Value Type='DateTime' IncludeTimeValue='FALSE'>{1:yyyy-MM-dd}</Value></Leq></And></Where>", dt_ini, dt_fim);


            var lstProd = objWrapper.RetornaLista("Produtividade", strQuery, strViewFields, SPContext.Current.Web.ID);


            //Agrupa a saida
            var objSaida = (from p in lstProd
                            select new
            {
                Periodo = Convert.ToDateTime(p["Created"]).Hour.ToString(),
                Num_rec = Convert.ToString(p.Title),
                Login = Convert.ToString(p["Usuario"]).Replace(@"SHAREPOINT\", "").Replace(@"EMBRATEL\", ""),
                Funcionario = spsWrapper.Utilidades.NomeUsuario(Convert.ToString(p["Usuario"]).Replace(@"SHAREPOINT\", "").Replace(@"EMBRATEL\", "")),
                Data_Cadastro = Convert.ToDateTime(p["Created"]).ToString("dd/MM/yyyy"),
                Hora_Cadastro = Convert.ToDateTime(p["Created"]).ToString("HH:mm"),
                Causa = Convert.ToString(p["Causa"]),
                Tratamento = Convert.ToString(p["Tratamento"])
            }).ToArray();



            return(objSaida);
        }
Beispiel #4
0
        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            string strErro = string.Empty;

            if (string.IsNullOrEmpty(txtRecs.Text))
            {
                strErro = "Favor informar o n da rec";
            }

            if (string.IsNullOrEmpty(this.cboCausa.Text) || !(this.cboCausa.SelectedIndex > 0))
            {
                strErro = "Favor selecionar a causa";
            }

            if (cboCausa.Text == "Rec indevida pela NET" && !(cboTratamento.SelectedIndex > 0))
            {
                strErro = "Favor selecionar o tratamento";
            }


            if (!string.IsNullOrEmpty(strErro))
            {
                this.lblErro.Text       = strErro;
                this.pnlFalha.Visible   = true;
                this.pnlSucesso.Visible = false;
                return;
            }
            else
            {
                this.pnlFalha.Visible = false;
            }


            spsWrapper2 objWrapper = new spsWrapper2();
            //Cria o item de insert

            Dictionary <string, object> objInsert = new Dictionary <string, object>();

            objInsert.Add("Usuario", SPContext.Current.Web.CurrentUser.LoginName);
            objInsert.Add("Title", txtRecs.Text);
            objInsert.Add("Causa", cboCausa.Text);

            if (cboCausa.Text == "Rec indevida pela NET")
            {
                objInsert.Add("Tratamento", this.cboTratamento.Text);
            }


            objWrapper.AdicionaItemLista("Produtividade", objInsert);

            this.pnlSucesso.Visible = true;
            this.pnlFalha.Visible   = false;

            this.txtRecs.Text = string.Empty;
        }
        protected void btnEnviarEmail_Click(object sender, EventArgs e)
        {
            try
            {
                spsWrapper2 objWrapper = new spsWrapper2();

                //Carrega a Reunião
                Reuniao objReuniao = CarregaReuniao(Convert.ToInt32(btnEnviarEmail.CommandArgument));

                if (!(objReuniao.Participantes.Count > 0))
                {
                    throw new Exception("Nenhum participante localizado!");
                }

                //Carrega o ListItem para capturar os anxos
                SPListItem objItem = objWrapper.RetornaItem("Reunioes", objReuniao.ID_Reuniao, SPContext.Current.Web.ID);

                //Verifica se existe o anexo para ser enviado.
                if (!(objItem.Attachments.Count > 0))
                {
                    throw new Exception("ATA não gerada! você deve gerar a ATA da reunião antes de enviar!");
                }


                //Cria o anexo
                Dictionary <string, Byte[]> objAnexo = new Dictionary <string, byte[]>();

                /*
                 * SPFolder folder = web.Folders["Lists"].SubFolders[strListName].SubFolders["Attachments"].SubFolders[item.ID.ToString()];
                 *          foreach(SPFile file in folder.Files)
                 */
                foreach (SPFile arquivo in SPContext.Current.Web.Folders["Lists"].SubFolders[objItem.ParentList.Title].SubFolders["Attachments"].SubFolders[objItem.ID.ToString()].Files)
                {
                    objAnexo.Add(arquivo.Name, arquivo.OpenBinary());
                }

                //Para cada participante da reunião com o e-mail preenchido
                foreach (Participante participante in objReuniao.Participantes.Where(f => f.Email != string.Empty))
                {
                    //Cria o corpo e o assunto montando os campos dinâmicos
                    string strAssunto = Assunto.Replace("@titulo", objReuniao.Titulo).Replace("@dt_reuniao", objReuniao.dt_reuniao.ToString("dd/MM/yyyy")).Replace("@nome", participante.Nome);
                    string strCorpo   = Corpo.Replace("@titulo", objReuniao.Titulo).Replace("@dt_reuniao", objReuniao.dt_reuniao.ToString("dd/MM/yyyy")).Replace("@nome", participante.Nome);

                    spsWrapper.Utilidades.EnviaEmail(participante.Email, strAssunto, strCorpo, objAnexo);
                }

                this.lblResultado.Text = "ATA enviada com sucesso!";
            }
            catch (Exception ex)
            {
                this.lblErro.Text    = ex.Message;
                this.pnlErro.Visible = true;
            }
        }
Beispiel #6
0
        public static List <Participante> Participantes(int id_reuniao)
        {
            spsWrapper2 objWrapper = new spsWrapper2();


            return
                ((from SPListItem item in
                  objWrapper.RetornaLista("ParticipantesReuniao", new string[] { "id_usuario" }, SPContext.Current.Web.ID)
                  where item.Title == id_reuniao.ToString()
                  select new Participante
            {
                Nome = SPContext.Current.Web.EnsureUser(Convert.ToString(item["id_usuario"])).Name,
                ID_Reuniao = id_reuniao,
                Email = SPContext.Current.Web.EnsureUser(Convert.ToString(item["id_usuario"])).Email
            }).ToList());
        }
        private void CarregaDatasReunioes()
        {
            //cria o obj
            spsWrapper2 objWrapper = new spsWrapper2();

            var listaReunioes = from SPListItem item in objWrapper.RetornaLista("Reunioes", new string[] { "Title", "Hora de Início" }, SPContext.Current.Web.ID)
                                select new
            {
                dt_evento      = ((DateTime)item["Hora de Início"]).ToString("dd/MM/yyyy"),
                dt_evento_date = ((DateTime)item["Hora de Início"]),
                ID             = item.ID
            };



            this.cboDataReuniao.DataSource = listaReunioes.OrderByDescending(f => f.dt_evento_date);
            this.cboDataReuniao.DataBind();
        }
        protected void GravaAtaReuniao(int id_reuniao, string NomeArquivo, Byte[] barAta)
        {
            //Cria o Wrapper
            spsWrapper2 objWrapper = new spsWrapper2();


            //Limpa os anexos
            if (!objWrapper.LimpaAnexos("Reunioes", id_reuniao, SPContext.Current.Web.ID))
            {
                throw new Exception(objWrapper.Erro);
            }

            //Adiciona o novo Anexo
            if (!objWrapper.AdicionaAnexo("Reunioes", id_reuniao, NomeArquivo, barAta, SPContext.Current.Web.ID))
            {
                throw new Exception(objWrapper.Erro);
            }
        }
        private void CarregaAlertas()
        {
            spsWrapper2 objWrapper = new spsWrapper2();



            var ds = from f in objWrapper.RetornaLista("Alertas", new [] { "Title", "DataInicio", "DataFim" }, SPContext.Current.Site.AllWebs["ComunidadeOperacoesVoc"].ID)
                     where (DateTime.Now.Date >= Convert.ToDateTime(f["DataInicio"]).Date) &&
                     (DateTime.Now.Date <= Convert.ToDateTime(f["DataFim"]).Date)
                     select new
            {
                Titulo = f.Title,
                Inicio = Convert.ToDateTime(f["DataInicio"]),
                Fim    = Convert.ToDateTime(f["DataFim"])
            };

            if (ds.Count() > 0)
            {
                this.rptMain.DataSource = ds;
                this.rptMain.DataBind();
                this.pnlAlertas.Visible = true;
            }
            ;
        }
Beispiel #10
0
        public static List <Pauta> Pautas()
        {
            //Cria o wrapper
            spsWrapper2 objWrapper = new spsWrapper2();

            // List<SPListItem> objTmpTarefa;
            // List<SPListItem> objTmpItemTarefa;

            DateTime tp = DateTime.Now;



            List <ItemTarefa> objTmpItemTarefa = (from SPListItem i in objWrapper.RetornaLista("Detalhe Tarefa", new string[] { "Author", "Modified", "Created", "Status", "DataReuniao", "Responsavel", "Tarefa", "Detalhes", "Prazo" },
                                                                                               SPContext.Current.Site.AllWebs["ComunidadePreventivasVoc"].ID)
                                                  select new ItemTarefa
            {
                Titulo = i.Title,
                Autor = spsWrapper.Utilidades.NomeUsuario(((string)i["Author"]).Split('#')[1]),
                Criado = Convert.ToDateTime(i["Created"]),
                Modificado = Convert.ToDateTime(i["Modified"]),
                Status = Convert.ToString(i["Status"]),
                Detalhes = Convert.ToString(i["Detalhes"]),
                ID = i.ID,
                dt_reuniao = Convert.ToDateTime(i["DataReuniao"]),
                LoginResponsavel = Convert.ToString(i["Responsavel"]),
                Prazo = Convert.ToDateTime(i["Prazo"]),
                Responsavel = spsWrapper.Utilidades.NomeUsuario(Convert.ToString(i["Responsavel"])),
                ID_TAREFA = Convert.ToInt32(i["Tarefa"].ToString().Split(";#".ToCharArray())[0])
            }).ToList();



            List <Tarefa> objTmpTarefa = (from SPListItem i in objWrapper.RetornaLista("Tarefas Da Pauta", new string[] { "Attachments", "Title", "Atribuidaa", "Data_x0020_de_x0020_Conclus_x00e", "Data_x0020_Prevista", "Data_x0020_Reuni_x00e3_o", "Detalhes", "Modified", "Created", "Pauta" }, SPContext.Current.Site.AllWebs["ComunidadePreventivasVoc"].ID)
                                          select new Tarefa
            {
                Titulo = i.Title,
                Anexos = spsWrapper.Utilidades.MontaLinksAnexo(i.Attachments),
                Atribuidaa = spsWrapper.Utilidades.NomeUsuario(Convert.ToString(i["Atribuidaa"])),
                DataConclusao = Convert.ToDateTime(i["Data_x0020_de_x0020_Conclus_x00e"]),
                DataPrevista = Convert.ToDateTime(i["Data_x0020_Prevista"]),
                DataReuniao = Convert.ToDateTime(i["Data_x0020_Reuni_x00e3_o"]),
                Descricao = Convert.ToString(i["Detalhes"]),
                Modificado = Convert.ToDateTime(i["Modified"]),
                Criado = Convert.ToDateTime(i["Created"]),
                ID = i.ID,
                ID_Pauta = string.IsNullOrEmpty(Convert.ToString(i["Pauta"])) ? 0 :
                           Convert.ToInt32(i["Pauta"].ToString().Split(";#".ToCharArray())[0]),
                Itens = objTmpItemTarefa.Where(f => f.ID_TAREFA == i.ID).ToList()
            }).ToList();


            //Cria o objeto de saída
            List <Pauta> objSaida = new List <Pauta>();

            //para cada Pauta carrega todo o conteúdo dela.
            foreach (SPListItem p in objWrapper.RetornaLista("Pautas", new string[] { "Attachments", "Title", "Created", "Modified", "Responsavel", "Observacoes", "Data_x0020_da_x0020_Reuniao" }, SPContext.Current.Site.AllWebs["ComunidadePreventivasVoc"].ID))
            {
                Pauta objPauta = new Pauta();
                objPauta.ID          = p.ID;
                objPauta.DataReuniao = (DateTime?)p["Data_x0020_da_x0020_Reuniao"];
                objPauta.Observacoes = (string)p["Observacoes"];
                objPauta.Responsavel = (p["Responsavel"] == null) ? "" : spsWrapper.Utilidades.NomeUsuario(((string)p["Responsavel"]).Split('#')[1]);
                objPauta.Titulo      = p.Title;

                objPauta.Anexos = spsWrapper.Utilidades.MontaLinksAnexo(p.Attachments);

                objPauta.Modificado = (DateTime?)p["Modified"];
                objPauta.Criado     = (DateTime?)p["Created"];

                //Adiciona as tarefas
                objPauta.Tarefas = objTmpTarefa.Where(f => f.ID_Pauta == p.ID).ToList();

                objSaida.Add(objPauta);
            }
            ;


            double qtdTotal = DateTime.Now.Subtract(tp).TotalSeconds;

            return(objSaida);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(_strLista))
                {
                    this.divAcessoRapido.InnerHtml = "Lista não configurada, edite a webpart e configure a lista que alimentará o acesso rápido";
                    return;
                }


                if (!Page.IsPostBack)
                {
                    spsWrapper2 objWrapper = new spsWrapper2();


                    var Query = @"<OrderBy><FieldRef Name='Posicao' Ascending='True' /></OrderBy>";
                    var itens = objWrapper.RetornaListaPorUrl(_strLista, Query);

                    if (itens == null)
                    {
                        this.divAcessoRapido.InnerHtml = "Biblioteca inválida ou não compatível com a Webpart";
                        return;
                    }


                    string output = "";


                    foreach (SPListItem item in itens)
                    {
                        object url = item["URL"];

                        output += html
                                  .Replace("{url}", url != null ? new SPFieldUrlValue(url.ToString()).Url : "#")
                                  .Replace("{img}", item.Url)
                                  .Replace("{title}", item.Title);
                    }


                    divAcessoRapido.InnerHtml = output;


                    //verifica se a quantidade é suficiente para encher a tela (habilitar script0
                    string strScript = @"<script type='text/javascript'>
	                    // Initialize the plugin with no custom options
	                    $(document).ready(function () {

                        var qtdRegistros = " + itens.Count.ToString() + @";
                        var tamanhoContainer = $('#dvContainerAcessoRapido').width();
                        $('.acessoRapido').width(tamanhoContainer);
                            
                            if(qtdRegistros * 56 > tamanhoContainer + 30) 
	                        $('.acessoRapido').smoothDivScroll({
	                            autoScrollingMode: ''
	                        });
	                    });
                    </script>";


                    this.Page.ClientScript.RegisterStartupScript(this.GetType(), "AcessoRapido", strScript);
                }
            }
            catch (Exception ex)
            {
                this.divAcessoRapido.InnerHtml = "Erro ao carregar a webpart. o erro foi :  " + ex.Message;
            }
        }
Beispiel #12
0
        void CarregaLista()
        {
            try
            {
                //Monta um array com todas as colunas
                var arcolunas = this.configurationItem.Columns.Where(f => f.Visible || f.Grouped).OrderBy(f => f.Order).Select(f => f.Id).ToArray();

                spsWrapper2 objWrapper = new spsWrapper2();
                var         objLista   = objWrapper.RetornaLista(SPContext.Current.Web.ID, this.configurationItem.Lista);


                this.lblHack.Text = string.Format("<div class='ag_hackTitulo' titulo='{0}' url='{1}'></div>",
                                                  this.Title,
                                                  objWrapper.RetornaUrlLista(SPContext.Current.Web.ID, this.configurationItem.Lista)
                                                  );



                if (objLista == null)
                {
                    lblErro.Text = "Lista não localizada!";
                    return;
                }

                //Cria o datatable e carrega a tabela
                DataTable dtDs = new DataTable();

                arcolunas.ToList().ForEach(f => dtDs.Columns.Add(f));

                dtDs.Columns.Add("ORDENACAO", typeof(string));



                List <DataColumn> dtmp = new List <DataColumn>();

                //string strOrderBy = "";
                //foreach ( var col in arcolunas )
                // {
                // dtDs.Columns.Add(new DataColumn(col + "_SORT"));
                //  strOrderBy += col + "_SORT ,";
                // } //Cria as colunas



                //  strOrderBy = strOrderBy.Substring(0,strOrderBy.LastIndexOf(","));



                //para cada item na lista...

                foreach (SPListItem item in objLista)
                {
                    DataRow r = dtDs.NewRow();
                    string  strTmpOrdenacao = "";

                    //para cada campo (visivel ou agrupado)
                    //foreach (string s in arcolunas)
                    for (int i = 0; i < arcolunas.Length; i++)
                    {
                        string s = arcolunas[i];

                        try { r[s] = formataValor(item[new Guid(s)], item.Fields[new Guid(s)], item); }
                        catch { r[s] = "Campo não localizado"; }

                        //try { r[s + "_SORT"] = getExpSortIndex( formataValor(item[new Guid(s)], item.Fields[new Guid(s)], item) )  ; }
                        //catch { r[s] = "Campo não localizado"; }

                        try { strTmpOrdenacao += getExpSortIndex(formataValor(item[new Guid(s)], item.Fields[new Guid(s)], item)) + "_"; }
                        catch { strTmpOrdenacao += "Campo não localizado_"; }
                    }


                    r["ORDENACAO"] = strTmpOrdenacao;

                    dtDs.Rows.Add(r);
                }



                dtDs.DefaultView.Sort = "ORDENACAO";
                dtDs = dtDs.DefaultView.ToTable();

                //Joga a saida já ordenada para o grid



                this.dGridMain.DataSource = dtDs;
                this.dGridMain.DataBind();
                this.dGridMain.Visible = true;

                for (int i = 0; i < this.configurationItem.GroupedColumns.Count; i++)
                {
                    dGridMain.GroupBy(dGridMain.Columns[this.configurationItem.GroupedColumns[i].Id], i);
                    // dGridMain.SortBy(dGridMain.Columns[this.configurationItem.GroupedColumns[i].Id + "_SORT"], i);
                }

                dGridMain.Columns["ORDENACAO"].Visible = false;


                foreach (var c in this.dGridMain.AllColumns)
                {
                    //  if (c.ToString().EndsWith("_SORT"))
                    //    c.Visible = false;
                }
                foreach (var c in this.configurationItem.Columns.Where(f => f.Visible || f.Grouped))
                {
                    dGridMain.Columns[c.Id].Caption = c.DisplayName;

                    (dGridMain.Columns[c.Id] as DevExpress.Web.ASPxGridView.GridViewDataTextColumn).PropertiesTextEdit.EncodeHtml = false;
                }
            }
            catch (Exception ex)
            {
                lblErro.Text = "Erro ao carregar a Webpart. Lista:" + this.configurationItem.Lista.ToString() + " o Erro foi: " + ex.Message;
            }
        }
Beispiel #13
0
        public static List <Produtividade> GetHoraria(DateTime dt)
        {
            spsWrapper2 objWrapper = new spsWrapper2();

            string strViewFields = @"<FieldRef Name='Title' /><FieldRef Name='Created' /><FieldRef Name='Usuario' />";
            string strQuery;

            strQuery = string.Format("<Where><And><Geq><FieldRef Name='Created' /><Value Type='DateTime' IncludeTimeValue='FALSE'>{0:yyyy-MM-dd}</Value></Geq><Leq><FieldRef Name='Created' /><Value Type='DateTime' IncludeTimeValue='FALSE'>{1:yyyy-MM-dd}</Value></Leq></And></Where>", dt, dt);


            var lstProd = objWrapper.RetornaLista("Produtividade", strQuery, strViewFields, SPContext.Current.Web.ID);


            //Agrupa a saida
            var objSaida = (from p in lstProd
                            group p by new
            {
                Periodo = Convert.ToDateTime(p["Created"]).Hour.ToString(),
                id_usuario = Convert.ToString(p["Usuario"]).Replace(@"SHAREPOINT\", "").Replace(@"EMBRATEL\", "")
            } into pp
                            select new Produtividade
            {
                id_usuario = pp.Key.id_usuario,
                Periodo = pp.Key.Periodo,
                qtdRecs = pp.Count(),
                Funcionario = spsWrapper.Utilidades.NomeUsuario(pp.Key.id_usuario)
            }).ToList();

            /*
             * var prodTMP = new Produtividade[] {
             *  new Produtividade { id_usuario = "fulano", Periodo="0", qtdRecs=3 } ,
             *  new Produtividade { id_usuario = "fulano", Periodo="1", qtdRecs=1 } ,
             *  new Produtividade { id_usuario = "fulano", Periodo="5", qtdRecs=1 } ,
             *  new Produtividade { id_usuario = "fulano", Periodo="6", qtdRecs=1 } ,
             *  new Produtividade { id_usuario = "fulano", Periodo="17", qtdRecs=1 } ,
             *  new Produtividade { id_usuario = "fulano", Periodo="9", qtdRecs=3 } ,
             *  new Produtividade { id_usuario = "fulano", Periodo="10", qtdRecs=2 } ,
             *  new Produtividade { id_usuario = "fulano", Periodo="21", qtdRecs=1 } ,
             *  new Produtividade { id_usuario = "fulano", Periodo="23", qtdRecs=1 } ,
             *
             *  new Produtividade { id_usuario = "outra", Periodo="2", qtdRecs=1 } ,
             *  new Produtividade { id_usuario = "outra", Periodo="3", qtdRecs=1 } ,
             *  new Produtividade { id_usuario = "outra", Periodo="4", qtdRecs=2 } ,
             *  new Produtividade { id_usuario = "outra", Periodo="5", qtdRecs=1 } ,
             *  new Produtividade { id_usuario = "outra", Periodo="6", qtdRecs=2 } ,
             *  new Produtividade { id_usuario = "outra", Periodo="17", qtdRecs=3 } ,
             *  new Produtividade { id_usuario = "outra", Periodo="8", qtdRecs=4 } ,
             *  new Produtividade { id_usuario = "outra", Periodo="22", qtdRecs=4 } ,
             *  new Produtividade { id_usuario = "outra", Periodo="23", qtdRecs=1 } ,
             *  new Produtividade { id_usuario = "Last one!! ", Periodo="17", qtdRecs=1 }
             *
             *
             *
             *
             * };
             *
             *
             *
             * return prodTMP.ToList();*/


            return(objSaida);
        }
Beispiel #14
0
        //Conexão com portal. (Diária por usuário)
        public static List <Produtividade> GetDiaria(DateTime dt_ini, DateTime dt_fim, string id_usuario)
        {
            spsWrapper2 objWrapper = new spsWrapper2();

            string strViewFields = @"<FieldRef Name='Title' /><FieldRef Name='Created' /><FieldRef Name='Usuario' />";
            string strQuery;

            if (id_usuario == null)
            {
                strQuery = string.Format("<Where><And><Geq><FieldRef Name='Created' /><Value Type='DateTime' IncludeTimeValue='FALSE'>{0:yyyy-MM-dd}</Value></Geq><Leq><FieldRef Name='Created' /><Value Type='DateTime' IncludeTimeValue='FALSE'>{1:yyyy-MM-dd}</Value></Leq></And></Where>", dt_ini, dt_fim);
            }
            else
            {
                strQuery = string.Format("<Where><And><And><Geq><FieldRef Name='Created' /><Value Type='DateTime' IncludeTimeValue='FALSE'>{0:yyyy-MM-dd}</Value></Geq><Leq><FieldRef Name='Created' /><Value Type='DateTime' IncludeTimeValue='FALSE'>{1:yyyy-MM-dd}</Value></Leq></And><Eq><FieldRef Name='Usuario' /><Value Type='Text'>{2}</Value></Eq></And></Where>", dt_ini, dt_fim, id_usuario);
            }

            var lstProd = objWrapper.RetornaLista("Produtividade", strQuery, strViewFields, SPContext.Current.Web.ID);


            //Agrupa por dia.
            var objSaida = (from p in lstProd
                            group p by new
            {
                Periodo = Convert.ToDateTime(p["Created"]).Date,
                id_usuario = Convert.ToString(p["Usuario"])
            } into pp
                            select new Produtividade
            {
                id_usuario = pp.Key.id_usuario,
                Periodo = pp.Key.Periodo.ToString("yyyy-MM-dd 00:00:00"),
                qtdRecs = pp.Count(),
                Funcionario = spsWrapper.Utilidades.NomeUsuario(pp.Key.id_usuario)
            }).ToList();


            //Tapa os Buracos
            List <Produtividade> prdInsert = new List <Produtividade>();


            foreach (var usuario in (from u in objSaida
                                     select new { u.id_usuario, u.Funcionario }).Distinct())
            {
                //Tapa os buracos
                for (DateTime d = dt_ini; d < dt_fim; d = d.AddDays(1))
                {
                    if (objSaida.Find(f => f.Periodo == d.ToString("yyyy-MM-dd 00:00:00") && f.id_usuario == usuario.id_usuario) == null)
                    {
                        prdInsert.Add(new Produtividade
                        {
                            Funcionario      = usuario.Funcionario,
                            Periodo          = d.ToString("yyyy-MM-dd hh:mm:ss"),
                            PeriodoFormatado = d.ToString("dd/MMM"),
                            id_usuario       = usuario.id_usuario,
                            qtdRecs          = 0
                        });
                    }
                }
            }



            objSaida.AddRange(prdInsert);
            return(objSaida.OrderBy(f => f.Periodo).ToList());
        }