示例#1
0
        public RaportEficienteObiect RaportEficienteLista(string FiltruDeLa, string FiltruPanaLa, string FiltruDepartament, string Ordonat, string TipFiltru)
        {
            DateTime dateDeLa, datePanaLa;
            RaportEficienteObiect oRaportEficiente = new RaportEficienteObiect();

            if (TipFiltru == "Perioada")
            {
                oRaportEficiente.Perioada = FiltruDeLa + " - " + FiltruPanaLa;
                if (!DateTime.TryParseExact(FiltruDeLa.Replace(".", ""), "ddMMyyyy", null, System.Globalization.DateTimeStyles.None, out dateDeLa))
                {
                    oRaportEficiente.Eroare = "Date its not corect!";
                }

                if (!DateTime.TryParseExact(FiltruPanaLa.Replace(".", ""), "ddMMyyyy", null, System.Globalization.DateTimeStyles.None, out datePanaLa))
                {
                    oRaportEficiente.Eroare = "Date its not corect!";
                }
            }
            else
            {
                oRaportEficiente.Perioada = FiltruDeLa + FiltruPanaLa;
                dateDeLa   = new DateTime(Convert.ToInt32(FiltruDeLa), Convert.ToInt32(FiltruPanaLa), 1);
                datePanaLa = dateDeLa.AddMonths(1).AddDays(-1);
            }
            if (oRaportEficiente.Eroare == "")
            {
                if (GlobalClass.VerificareAcces("Raport numar angajati", "1"))
                {
                    if (Ordonat != "1")
                    {
                        oRaportEficiente.Tabela.AddRange(PreparaRaportEficiente(dateDeLa, datePanaLa, FiltruDepartament, Ordonat));
                    }
                    else
                    {
                        oRaportEficiente = PreparaRaportEficienteLuna(dateDeLa, datePanaLa, FiltruDepartament);
                    }
                }
                else
                {
                    oRaportEficiente.Eroare = "Acces interzis!";
                }
            }
            return(oRaportEficiente);
        }
示例#2
0
        private RaportEficienteObiect PreparaRaportEficienteLuna(DateTime FiltruDeLa, DateTime FiltruPanaLa, string FiltruDepartament)
        {
            RaportEficienteObiect oRaportEficiente = new RaportEficienteObiect();
            var Tabela = oRaportEficiente.TabelaLuna;

            dcWbmOlimpias = new DataClassWbmOlimpias();
            int deLa   = FiltruDeLa.Year * 100 + FiltruDeLa.Month;
            int panaLa = FiltruPanaLa.Year * 100 + FiltruPanaLa.Month;
            var query  = from tRaportEficiente in dcWbmOlimpias.RaportEficienteLunarViews
                         where tRaportEficiente.AnLuna >= deLa && tRaportEficiente.AnLuna <= panaLa && tRaportEficiente.Departament.Equals(FiltruDepartament)
                         orderby tRaportEficiente.AnLuna, tRaportEficiente.Eficienta descending
            select tRaportEficiente;
            RaportEficientaLunaObiect oRaportEficienta = new RaportEficientaLunaObiect();
            int    i           = 0;
            string LinieEchipa = "";

            var queryLunaAn = query.GroupBy(x => x.AnLuna).OrderBy(x => x.Key);

            foreach (var rezLunaAn in queryLunaAn)
            {
                var sLuna = rezLunaAn.Key.Value.ToString();
                oRaportEficiente.AnLuna.Add(sLuna.Substring(0, 4) + " " + GlobalClass.ConversieNumarInLuna(Convert.ToInt32(sLuna.Substring(4))));
            }

            foreach (var rezultat in query)
            {
                i++;
                if (!String.IsNullOrEmpty(rezultat.Linie))
                {
                    LinieEchipa = rezultat.Linie;
                }
                else if (!String.IsNullOrEmpty(rezultat.Echipa))
                {
                    LinieEchipa = rezultat.Echipa;
                }
                else
                {
                    LinieEchipa = "";
                }
                var querySecund = Tabela.Where(x => x.Nume.Equals(rezultat.Nume) && x.Prenume.Equals(rezultat.Prenume) && x.PostDeLucru.Equals(rezultat.PostDeLucru) && x.LinieEchipa.Equals(LinieEchipa));
                if (querySecund.Count() == 0)
                {
                    oRaportEficienta               = new RaportEficientaLunaObiect();
                    oRaportEficienta.NrCrt         = i.ToString();
                    oRaportEficienta.Nume          = rezultat.Nume;
                    oRaportEficienta.Prenume       = rezultat.Prenume;
                    oRaportEficienta.PostDeLucru   = rezultat.PostDeLucru;
                    oRaportEficienta.LinieEchipa   = LinieEchipa;
                    oRaportEficienta.DataAngajarii = rezultat.DataAngajarii.ToString("dd.MM.yyyy");
                    if (rezultat.Eficienta.HasValue)
                    {
                        oRaportEficienta.Eficiente.Add(rezultat.Eficienta.Value.ToString("N1"));
                    }
                    else
                    {
                        oRaportEficienta.Eficiente.Add("");
                    }
                    Tabela.Add(oRaportEficienta);
                }
                else
                {
                    oRaportEficienta = querySecund.First();
                    if (rezultat.Eficienta.HasValue)
                    {
                        oRaportEficienta.Eficiente.Add(rezultat.Eficienta.Value.ToString("N1"));
                    }
                    else
                    {
                        oRaportEficienta.Eficiente.Add("");
                    }
                }
            }
            return(oRaportEficiente);
        }