Beispiel #1
0
 public WeldingInspection(
     long?id,
     string linija, int kelias, int km, int?pk, int m, int?siule, string salygKodas,
     string operatorius, string aparatas, DateTime data, string suvirino,
     Kelintas kelintasTikrinimas, string pastaba = "")
 {
     this.Id     = id;
     this.Linija = linija;
     this.Kelias = kelias;
     this.Km     = km;
     this.Pk     = pk;
     this.M      = m;
     this.Siule  = siule;
     if (this.Kelias == 8 || this.Kelias == 9)
     {
         this.Nr = this.M;
     }
     else
     {
         this.Nr = null;
     }
     this.SalygKodas         = salygKodas;
     this.Operatorius        = operatorius;
     this.Aparatas           = aparatas;
     this.TikrinimoData      = data;
     this.Suvirino           = suvirino;
     this.KelintasTikrinimas = kelintasTikrinimas;
     this.Pastaba            = pastaba;
 }
Beispiel #2
0
        // iš Google Sheets data formato List<ILIst<Object>> padaro List<WeldingInspection>
        //   , o jeigu buvo rasta blogų duomenų, tuomet throw new BadDataException
        public static List <WeldingInspection> ConvertNepirmieji(List <IList <Object> > data, string[] mapping, string operatorius)
        {
            List <WeldingInspection> tikrinimaiList = new List <WeldingInspection>();
            List <BadData>           badDataList    = new List <BadData>();

            if (data == null || data.Count == 0)
            {
                return(tikrinimaiList);
            }
            foreach (var row in data)
            {
                object value;                        // row stulpelio value
                int    bdlCount = badDataList.Count; // kiek buvo BadData šitos row tikrinimo pradžioje

                long     id = 0;
                string   linija = null, salKodas = null, aparatas = null;
                int      kelias = -1, km = -1, m = -1;
                int?     pk = null, siule = null;
                DateTime tikrinimoData = DateTime.MinValue;
                Kelintas kelintas      = Kelintas.I;

                // specifinis nepirmiesiems
                value = getRowItem("id", mapping, row);
                string idZyma = value == null ? "no id" : value.ToString(); // žyma, pažymėti, kurioje vietoje problemos
                try
                {
                    id = Convert.ToInt64(value);
                }
                catch
                {
                    badDataList.Add(new BadData(operatorius, SheetType.nepirmieji, idZyma, "suvirinimo id"));
                }

                // tikrinami bendri pirmiems ir nepirmiems
                List <string> messages = patikrintiBendrus(row, mapping,
                                                           ref linija, ref kelias, ref km, ref pk, ref m, ref siule,
                                                           ref salKodas, ref aparatas, ref tikrinimoData);

                foreach (string message in messages)
                {
                    badDataList.Add(new BadData(operatorius, SheetType.nepirmieji, idZyma, message));
                }

                // specifinis nepirmiems
                value = getRowItem("kelintas_tikrinimas", mapping, row);
                if (isEmpty(value) || !new[] { "2", "3", "4", "papild" }.Contains(value.ToString().Trim()))
                {
                    badDataList.Add(new BadData(operatorius, SheetType.nepirmieji, idZyma, "kelintas tikrinimas"));
                }
                else
                {
                    string val = value.ToString().Trim();
                    switch (val)
                    {
                    case "2":
                        kelintas = Kelintas.II;
                        break;

                    case "3":
                        kelintas = Kelintas.III;
                        break;

                    case "4":
                        kelintas = Kelintas.IV;
                        break;

                    case "papild":
                        kelintas = Kelintas.papildomas;
                        break;
                    }
                }

                // jeigu tikrinant šitą row nebuvo aptikta problemų - new WeldingInspection
                if (bdlCount == badDataList.Count)
                {
                    WeldingInspection wi = new WeldingInspection(
                        id,
                        linija, kelias, km, pk, m, siule,
                        salKodas,
                        operatorius,
                        aparatas,
                        tikrinimoData.Date,
                        null, // suvirino
                        kelintas);
                    tikrinimaiList.Add(wi);
                }
            }

            if (badDataList.Count > 0)
            {
                throw new BadDataException("Blogi duomenys lentelėje - nepavyksta perskaityti vietos kodo", badDataList);
            }

            // jeigu visi įrašai geri
            return(tikrinimaiList);
        }