private void tsbFilterByMonth_Click(object sender, EventArgs e)
        {
            using (fMonth formaMenuo = new fMonth())
            {
                if (formaMenuo.ShowDialog() == DialogResult.OK)
                {
                    if (Program.firstDate != DateTime.MinValue)
                    {
                        try
                        {
                            filterElements.Add(string.Format("aktas_data>={0}", DbHelper.FormatDateValue(Program.firstDate)));
                        }
                        catch
                        {
                            Msg.ErrorMsg(Messages.DbErrorMsg);
                            return;
                        }
                    }
                    if (Program.lastDate != DateTime.MinValue)
                    {
                        try
                        {
                            filterElements.Add(string.Format("aktas_data<={0}", DbHelper.FormatDateValue(Program.lastDate)));
                        }
                        catch
                        {
                            Msg.ErrorMsg(Messages.DbErrorMsg);
                            return;
                        }
                    }

                    doFilter();
                }
            }
        }
        private void tsbFilterThisYear_Click(object sender, EventArgs e)
        {
            DateTime firstDayOfThisYear = new DateTime(DateTime.Now.Year, 1, 1);
            string   filterThisYear     = string.Format("aktas_data>={0}", DbHelper.FormatDateValue(firstDayOfThisYear));

            bool wasFiltered         = false;
            int  i                   = 0;
            int  filterElementsCount = filterElements.Count;

            while (i < filterElementsCount)
            {
                if (filterElements[i] == filterThisYear)
                {
                    filterElements.RemoveRange(i, 1);
                    filterElementsCount--;
                    wasFiltered = true;
                }
                i++;
            }

            if (!wasFiltered)
            {
                filterElements.Add(filterThisYear);
            }
            doFilter();
        }
        private string makeFilterString(string parameterName, object cellValue, ColumnType type)
        {
            if (cellValue == null) // || string.IsNullOrEmpty(cellValue.ToString())
            {
                return(string.Format("{0} IS NULL", parameterName));
            }

            switch (type)
            {
            case ColumnType.intg:
                return(string.Format("{0}={1}", parameterName, cellValue.ToString()));

            case ColumnType.date:
                return(string.Format("{0}={1}", parameterName, DbHelper.FormatDateValue(cellValue)));

            case ColumnType.text:
                return(string.Format("{0}={1}", parameterName, string.Format("'{0}'", sanit(cellValue))));

            case ColumnType.booln:
                return(string.Format("{0}={1}", parameterName, cellValue.ToString()));

            default:
                return(string.Empty);
            }
        }
Ejemplo n.º 4
0
        //private string cmbStringValue(ComboBox cmb)
        //{
        //    // jeigu būtų toks cmb, kurio valuemember tipas būtų string

        //    if (cmb.SelectedIndex > -1 && cmb.SelectedValue != null && !DBNull.Value.Equals(cmb.SelectedValue))
        //    {
        //        return string.Format("'{0}'", sanit(cmb.SelectedValue.ToString()));
        //    }
        //    else
        //    {
        //        return "NULL";
        //    }
        //}

        private string dtpValue(DateTimePicker dtp)
        {
            if (dtp.Checked)
            {
                return(DbHelper.FormatDateValue(dtp.Value));
            }
            else
            {
                return("NULL");
            }
        }
        private List <AtaskaitosEilute> darytiAtaskaita(DateTime bottomDate, DateTime topDate)
        {
            DataTable suvirinimaiTable;

            string where = string.Empty;

            if (bottomDate == null && topDate != null)
            {
                where = string.Format("WHERE Aktai.aktas_data <= {0} ", DbHelper.FormatDateValue(topDate));
            }
            else if (bottomDate != null && topDate == null)
            {
                where = string.Format("WHERE Aktai.aktas_data >= {0} ", DbHelper.FormatDateValue(bottomDate));
            }
            else if (bottomDate != null && topDate != null)
            {
                if (bottomDate <= topDate)
                {
                    where = string.Format("WHERE Aktai.aktas_data >= {0} AND Aktai.aktas_data <= {1} ", DbHelper.FormatDateValue(bottomDate), DbHelper.FormatDateValue(topDate));
                }
                else
                {
                    where = string.Format("WHERE Aktai.aktas_data >= {0} OR Aktai.aktas_data <= {1} ", DbHelper.FormatDateValue(bottomDate), DbHelper.FormatDateValue(topDate));
                }
            }

            List <List <Suvirinimas> > sarasai = new List <List <Suvirinimas> >();
            StringBuilder sb = new StringBuilder("SELECT ");

            // sb.Append("Aktai.*, Suvirintojai.*, Operatoriai.*, PadaliniaiSuvirintoju.*, PadaliniaiKelininku.*, Vadovai.*, BegiuTipai.* ");
            sb.Append("Aktai.aktas_data, Aktai.aktas_padalinysId, ");
            sb.Append("Aktai.k11, Aktai.k12, Aktai.k21, Aktai.k22, Aktai.k23, Aktai.k24, Aktai.k31, Aktai.k32, Aktai.k41, Aktai.k42, Aktai.k51, ");
            sb.Append("Aktai.id, Aktai.aktas_Nr, Aktai.salyg_begioTemp, Aktai.begis_protarpisMm, ");
            sb.Append("PadaliniaiSuvirintoju.pavadinimas AS suvirintojo_įmonė, Suvirintojai.vardas AS suvirintojo_vardas, Suvirintojai.pazymNr AS suvirintojo_kodas, ");
            sb.Append("Operatoriai.vardas AS operatoriaus_vardas, Operatoriai.id AS operatoriaus_kodas, ");
            sb.Append("KMFilialo.vardas AS kelio_meistro_vardas, KMFilialo.meistrija AS kelio_meistro_meistrija, ");
            sb.Append("BegiuTipai.pavadinimas AS bėgio_tipas ");
            sb.Append("FROM ");
            sb.Append("((((Aktai LEFT JOIN PadaliniaiSuvirintoju ON Aktai.suvirint_padalinysId=PadaliniaiSuvirintoju.id) ");
            sb.Append("LEFT JOIN Suvirintojai ON Aktai.suvirint_suvirintojasId=Suvirintojai.id) ");
            sb.Append("LEFT JOIN Operatoriai ON Aktai.tikrin_operatoriusId=Operatoriai.id) ");
            sb.Append("LEFT JOIN KMFilialo ON Aktai.aktas_pasiraseKMId=KMFilialo.id) ");
            sb.Append("LEFT JOIN BegiuTipai ON Aktai.begis_tipasId=BegiuTipai.id ");
            sb.Append("{0}");
            sb.Append("ORDER BY Aktai.aktas_data, Aktai.aktas_padalinysId, Aktai.k11, Aktai.k12, Aktai.k21, Aktai.k22, Aktai.k23, Aktai.k24, Aktai.k31, Aktai.k32, Aktai.k41, Aktai.k42, Aktai.k51;");
            string suvirinimaiSql = sb.ToString();

            suvirinimaiTable = new DataTable();
            try
            {
                suvirinimaiTable = DbHelper.FillDataTable(string.Format(suvirinimaiSql, where));
            }
            catch (DbException e)
            {
                Msg.ErrorMsg(Messages.DbErrorMsg);
                throw e;
            }
            List <AtaskaitosEilute> ataskaita = new List <AtaskaitosEilute>();

            if (suvirinimaiTable.Rows.Count == 0)
            {
                return(ataskaita);
            }


            // Kartojasi veiksmas - kaskart, kai gaminama nauja ataskaita.
            // Bet taip pat tai leidžia pakeisti lgif.xml failą neuždarius programos.
            LGIF.loadData(obtainLgifxmlFileName());

            // Imama pirmoji iš DB partempta eilutė, ji tampa cmpRow
            // ir lyginama su toliau einančiomis.
            // Kiek laukų lyginti, nustatoma pagal k21 reikšmę:
            // jeigu k21 yra 9, lyginama 10 laukų, t.y. vietos kodas imamas iki k32 imtinai,
            // jeigu k21 nėra 9, lyginami 8 laukai, t.y. vietos kodas imamas iki k42 imtinai.
            // Panašios eilutės grupuojamos į grupeSuvirinimu.
            // Kada randama nebetinkama eilutė, grupeSuvirinimu įrašoma į sarasai,
            // pradedama nauja grupeSuvirinimu, paskutinioji (netikusi) eilutė tampa ta, su kuria
            // lyginamos visos toliau einančios, t.y. cmpRow,
            // ir ji lyginama su toliau einančiomis.
            // Resultatas - List sarasai, kuris sudarytas iš List<suvirinimaiTable.Row>
            DataRow            cmpRow          = suvirinimaiTable.Rows[0];
            int                kiekLyginti     = kiek(cmpRow);
            List <Suvirinimas> grupeSuvirinimu = new List <Suvirinimas>();

            grupeSuvirinimu.Add(new Suvirinimas(suvirinimaiTable.Rows[0]));

            // suvirinimai suskirstomi į grupes pagal [data + kas virino + vieta]
            for (int r = 1; r < suvirinimaiTable.Rows.Count; r++)
            {
                if (lygiosEilutės(cmpRow, suvirinimaiTable.Rows[r], kiekLyginti))
                {
                    grupeSuvirinimu.Add(new Suvirinimas(suvirinimaiTable.Rows[r]));
                }
                else
                {
                    sarasai.Add(grupeSuvirinimu);
                    grupeSuvirinimu = new List <Suvirinimas>();
                    grupeSuvirinimu.Add(new Suvirinimas(suvirinimaiTable.Rows[r]));
                    cmpRow      = suvirinimaiTable.Rows[r];
                    kiekLyginti = kiek(cmpRow);
                }
            }
            if (grupeSuvirinimu.Count != 0)
            {
                sarasai.Add(grupeSuvirinimu);
            }

            // iš kiekvienos suvirinimų grupės padaroma viena ataskaitos eilute ir pridedama prie ataskaitos
            foreach (List <Suvirinimas> suvirinimuGrupe in sarasai)
            {
                try
                {
                    ataskaita.Add(new AtaskaitosEilute(suvirinimuGrupe));
                }
                catch (Exception e)
                {
                    List <Suvirinimas> weldingGroup = suvirinimuGrupe;
                    Msg.ErrorMsg(e.Message);
                }
            }
            return(ataskaita);
        }