Пример #1
0
        private int validateVentil(VentilCL v)
        {
            if (validateVentilKategori(v.VentilkatID) == 0)
            {
                return(-1);
            }

            CKund cKund = new CKund();

            if (cKund.validateKund(v.KundID) == 0)
            {
                return(-2);
            }
            if (v.forceSave == false)
            {
                if (duplicateExists(v) > 0)
                {
                    return(-3);
                }
            }
            if (v.insideDiameter != 0 && v.outsideDiameter != 0)
            {
                if (v.insideDiameter > v.outsideDiameter)
                {
                    return(-4);
                }
            }
            return(1);
        }
Пример #2
0
        private int duplicateExists(VentilCL v)
        {
            // 2019-04-29 KJBO
            // Problems when other properties has changed than position
            // Only do a duplicate check if position has changed
            if (v.VentilID != "")
            {
                if (!positionHasChanged(v))
                {
                    return(0);
                }
            }


            string sSql = " select count(*) as antal "
                          + " from ventil "
                          + " where kund_id = :kund_id "
                          + " and \"position\" = :position ";

            if (v.VentilID != null)
            {
                sSql += " and ventil_id <> :ventil_id ";
            }

            NxParameterCollection np = new NxParameterCollection();

            np.Add("kund_id", v.KundID);
            np.Add("position", v.Position);
            if (v.VentilID != null)
            {
                np.Add("ventil_id", v.VentilID);
            }

            string    err = "";
            DataTable dt  = cdb.getData(sSql, ref err, np);

            if (dt.Rows.Count == 0)
            {
                return(0);
            }
            return(Convert.ToInt32(dt.Rows[0]["antal"]));
        }
Пример #3
0
        private bool positionHasChanged(VentilCL v)
        {
            string sSql = " select \"position\" "
                          + " from ventil "
                          + " where ventil_id = :ventil_id ";
            NxParameterCollection np = new NxParameterCollection();

            np.Add("ventil_id", v.VentilID);
            string    err = "";
            DataTable dt  = cdb.getData(sSql, ref err, np);

            if (dt.Rows.Count == 0)
            {
                return(false);
            }
            string savedVentil = dt.Rows[0]["position"].ToString();

            if (savedVentil != v.Position)
            {
                return(true);
            }
            return(false);
        }
Пример #4
0
        public VentilCL saveVentil(string ident, VentilCL v)
        {
            CVentil cv = new CVentil();

            return(cv.saveVentil(ident, v));
        }
Пример #5
0
        public VentilCL saveVentil(string ident, VentilCL v)
        {
            VentilCL   vc      = new VentilCL();
            CReparator cr      = new CReparator();
            int        identOK = cr.checkIdent(ident);

            if (identOK == -1)
            {
                vc.ErrCode    = -10;
                vc.ErrMessage = "Ogiltigt login";
                return(vc);
            }

            // 2018-11-09 Samtal med Simon

            if (v.Position == "")
            {
                vc.ErrCode    = -1;
                vc.ErrMessage = "Positionsnr måste anges";
                return(vc);
            }

            int iRes = validateVentil(v);

            if (iRes == -1)
            {
                vc.ErrCode    = -1;
                vc.ErrMessage = "Felaktig ventilkategori";
                return(vc);
            }
            if (iRes == -2)
            {
                vc.ErrCode    = -1;
                vc.ErrMessage = "Felaktigt kundID";
                return(vc);
            }

            if (iRes == -3)
            {
                vc.ErrCode    = 101;
                vc.ErrMessage = "Det finns redan en ventil med detta positionsnr";
                return(vc);
            }

            if (iRes == -4)
            {
                vc.ErrCode    = -1;
                vc.ErrMessage = "Ytterdiameter måste vara större än innerdiameter";
                return(vc);
            }

            ReparatorCL r = cr.getReparator(ident);



            string sSql = "";
            bool   bNew = false;

            // This is a new ventil
            if (v.VentilID == null)
            {
                string ventilID = Guid.NewGuid().ToString();
                v.VentilID = ventilID;
                sSql       = getVentilInsertSQL();
                bNew       = true;
            }

            else
            {
                sSql = getVentilUpdateSQL();
            }


            NxParameterCollection np = new NxParameterCollection();

            setParameters(np, v, bNew, r.AnvID);

            string errText = "";

            int iRc = cdb.updateData(sSql, ref errText, np);

            if (errText != "")
            {
                if (errText.Length > 2000)
                {
                    errText = errText.Substring(1, 2000);
                }

                v.ErrCode    = -100;
                v.ErrMessage = errText;
                return(v);
            }

            // 2016-10-17 KJBO
            CServRad csr = new CServRad();

            csr.updateFromVentil2(v.VentilID);



            return(getVentil(ident, v.VentilID));
        }
Пример #6
0
        private void setParameters(NxParameterCollection np, VentilCL v, bool bNew, string sAnvID)
        {
            string sVar = "";

            if (bNew)
            {
                DateTime lDt = System.DateTime.Now;
                np.Add("pregdat", lDt);
                sVar = sAnvID;
                if (sVar.Length == 0)
                {
                    np.Add("preg", System.DBNull.Value);
                }
                else
                {
                    np.Add("preg", sVar);
                }
            }
            sVar = v.Anlaggningsnr;
            np.Add("panlaggningsnr", sVar);
            sVar = v.Avdelning;
            np.Add("pavdelning", sVar);
            sVar = v.LagesstallFabrikat;
            np.Add("plagesstall_fabrikat", sVar);
            sVar = v.LagesstallIDNr;
            np.Add("plagesstall_id_nr", sVar);
            sVar = v.Lagesstallartyp;
            np.Add("plagesstallartyp", sVar);
            sVar = v.StalldonArtnr;
            np.Add("pstalldon_artnr", sVar);
            sVar = v.StalldonFabrikat;
            np.Add("pstalldon_fabrikat", sVar);
            sVar = v.StalldonIDNr;
            np.Add("pstalldon_id_nr", sVar);
            sVar = v.Stalldonstyp;
            np.Add("pstalldonstyp", sVar);
            Decimal d = v.Oppningstryck;

            if (d == 0)
            {
                np.Add("poppningstryck", System.DBNull.Value);
            }
            else
            {
                np.Add("poppningstryck", d);
            }
            sVar = v.Dn2;
            np.Add("pdn2", sVar);
            sVar = v.Dn;
            np.Add("pdn", sVar);
            sVar = v.Pn2;
            np.Add("ppn2", sVar);
            sVar = v.Pn;
            np.Add("ppn", sVar);
            sVar = v.IdNr;
            np.Add("pid_nr", sVar);
            sVar = v.Ventiltyp;
            np.Add("pventiltyp", sVar);
            sVar = v.Fabrikat;
            np.Add("pfabrikat", sVar);
            sVar = v.Position;
            np.Add("pposition", sVar);
            sVar = v.KundID;
            np.Add("pkund_id", sVar);
            np.Add("pventilkategori", v.VentilkatID);
            np.Add("pventil_id", v.VentilID);
            if (!bNew)
            {
                sVar = sAnvID;
                np.Add("pUppdaterat", sVar);
                DateTime ldtNow = System.DateTime.Now;
                np.Add("pUppdat_dat", ldtNow);
            }
            np.Add("pchanged", System.DateTime.Now);
            np.Add("pplan", v.Plan);
            np.Add("prum", v.Rum);
            // 2017-06-21 KJBO
            if (v.insideDiameter == 0)
            {
                np.Add("insideDiameter", System.DBNull.Value);
            }
            else
            {
                np.Add("insideDiameter", v.insideDiameter);
            }
            if (v.outsideDiameter == 0)
            {
                np.Add("outsideDiameter", System.DBNull.Value);
            }
            else
            {
                np.Add("outsideDiameter", v.outsideDiameter);
            }
        }
Пример #7
0
        /// <summary>
        /// Get all ventils for one customer
        /// </summary>
        /// <param name="ident"></param>
        /// <param name="KundID"></param>
        /// <returns></returns>
        public List <VentilCL> getVentilsForCust(string ident, string KundID, string position, string IDnr, string ventiltyp, string fabrikat, string anlaggningsnr)
        {
            List <VentilCL> vl = new List <VentilCL>();

            CReparator cr = new CReparator();

            int identOK = cr.checkIdent(ident);

            if (identOK == -1)
            {
                VentilCL v = new VentilCL();
                v.ErrCode    = -10;
                v.ErrMessage = "Ogiltigt login";
                vl.Add(v);
                return(vl);
            }


            string sSql = " SELECT v.ventil_id, v.ventilkategori, v.kund_id, v.\"position\", v.fabrikat, v.ventiltyp, v.id_nr, v.pn, v.pn2, v.dn, v.dn2, "
                          + " v.oppningstryck, v.stalldonstyp, v.stalldon_id_nr, v.stalldon_fabrikat, v.stalldon_artnr, v.lagesstallartyp, "
                          + " v.lagesstall_id_nr, v.lagesstall_fabrikat, v.avdelning, v.anlaggningsnr,  "
                          + "  v.forra_comment, vk.ventilkategori as ventilkategori_namn "
                          + ", v.plan, v.rum, v.insideDiameter, v.outsideDiameter  "
                          + " FROM ventil v "
                          + " join ventilkategori vk on v.ventilkategori = vk.ventilkat_id "
                          + " where v.kund_id = :pKundID "
                          + " and upper(coalesce(v.\"position\",'')) like upper(:position) "
                          + " and upper(coalesce(v.id_nr,'')) like upper(:id_nr) "
                          + " and upper(coalesce(v.ventiltyp,'')) like upper(:ventiltyp) "
                          + " and upper(coalesce(v.fabrikat,'')) like upper(:fabrikat) "
                          + " and upper(coalesce(v.anlaggningsnr,'')) like upper(:anlaggningsnr) ";

            NxParameterCollection np = new NxParameterCollection();

            np.Add("pKundID", KundID);
            np.Add("position", CCommonFunc.addWildCard(position));
            np.Add("ID_nr", CCommonFunc.addWildCard(IDnr));
            np.Add("ventiltyp", CCommonFunc.addWildCard(ventiltyp));
            np.Add("fabrikat", CCommonFunc.addWildCard(fabrikat));
            np.Add("anlaggningsnr", CCommonFunc.addWildCard(anlaggningsnr));

            string errText = "";

            DataTable dt = cdb.getData(sSql, ref errText, np);

            int errCode = -100;

            if (errText == "" && dt.Rows.Count == 0)
            {
                errText = "Det finns inga ventiler för aktuell kund";
                errCode = 0;
            }

            if (errText != "")
            {
                VentilCL v = new VentilCL();
                if (errText.Length > 2000)
                {
                    errText = errText.Substring(1, 2000);
                }
                v.ErrCode    = errCode;
                v.ErrMessage = errText;
                vl.Add(v);
                return(vl);
            }

            foreach (DataRow dr in dt.Rows)
            {
                VentilCL vr = new VentilCL();
                vr.VentilID       = dr["ventil_id"].ToString();
                vr.VentilkatID    = Convert.ToInt16(dr["ventilkategori"]);
                vr.Ventilkategori = dr["ventilkategori_namn"].ToString();
                vr.KundID         = dr["kund_id"].ToString();
                vr.Position       = dr["position"].ToString();
                vr.Fabrikat       = dr["fabrikat"].ToString();
                vr.Ventiltyp      = dr["ventiltyp"].ToString();
                vr.IdNr           = dr["id_nr"].ToString();
                vr.Pn             = dr["pn"].ToString();
                vr.Pn2            = dr["pn2"].ToString();
                vr.Dn             = dr["dn"].ToString();
                vr.Dn2            = dr["dn2"].ToString();
                if (dr["oppningstryck"] == DBNull.Value)
                {
                    vr.Oppningstryck = 0;
                }
                else
                {
                    vr.Oppningstryck = Convert.ToDecimal(dr["oppningstryck"]);
                }
                vr.Stalldonstyp       = dr["stalldonstyp"].ToString();
                vr.StalldonIDNr       = dr["stalldon_id_nr"].ToString();
                vr.StalldonFabrikat   = dr["stalldon_fabrikat"].ToString();
                vr.StalldonArtnr      = dr["stalldon_artnr"].ToString();
                vr.Lagesstallartyp    = dr["lagesstallartyp"].ToString();
                vr.LagesstallIDNr     = dr["lagesstall_id_nr"].ToString();
                vr.LagesstallFabrikat = dr["lagesstall_fabrikat"].ToString();
                vr.Avdelning          = dr["avdelning"].ToString();
                vr.Anlaggningsnr      = dr["anlaggningsnr"].ToString();
                vr.Plan = dr["plan"].ToString();
                vr.Rum  = dr["rum"].ToString();
                // 2017-09-25 KJBO
                if (dr["insideDiameter"] == DBNull.Value)
                {
                    vr.insideDiameter = 0;
                }
                else
                {
                    vr.insideDiameter = Convert.ToDecimal(dr["insideDiameter"]);
                }
                if (dr["outsideDiameter"] == DBNull.Value)
                {
                    vr.outsideDiameter = 0;
                }
                else
                {
                    vr.outsideDiameter = Convert.ToDecimal(dr["outsideDiameter"]);
                }
                vr.ErrCode    = 0;
                vr.ErrMessage = "";

                vl.Add(vr);
            }

            return(vl);
        }
Пример #8
0
        public VentilCL getVentil(string ident, string ventilID, bool validateUser)
        {
            VentilCL vr = new VentilCL();

            if (validateUser)
            {
                CReparator cr = new CReparator();

                int identOK = cr.checkIdent(ident);

                if (identOK == -1)
                {
                    vr.ErrCode    = -10;
                    vr.ErrMessage = "Ogiltigt login";
                    return(vr);
                }
            }

            string sSql = " SELECT v.ventil_id, v.ventilkategori, v.kund_id, v.\"position\", v.fabrikat, v.ventiltyp, v.id_nr, v.pn, v.pn2, v.dn, v.dn2, "
                          + " v.oppningstryck, v.stalldonstyp, v.stalldon_id_nr, v.stalldon_fabrikat, v.stalldon_artnr, v.lagesstallartyp, "
                          + " v.lagesstall_id_nr, v.lagesstall_fabrikat, v.avdelning,  v.anlaggningsnr,  "
                          + " v.forra_comment, vk.ventilkategori as ventilkategori_namn "
                          + " , plan, rum, v.insideDiameter, v.outsideDiameter  "
                          + " FROM ventil v "
                          + " join ventilkategori vk on v.ventilkategori = vk.ventilkat_id "
                          + " where ventil_id = :pVentilID ";

            NxParameterCollection np = new NxParameterCollection();

            np.Add("pVentilID", ventilID);

            string errText = "";

            DataTable dt = cdb.getData(sSql, ref errText, np);

            int errCode = -100;

            if (errText == "" && dt.Rows.Count == 0)
            {
                errText = "Felaktigt ventilID";
                errCode = 0;
            }


            if (errText != "")
            {
                if (errText.Length > 2000)
                {
                    errText = errText.Substring(1, 2000);
                }
                vr.ErrCode    = errCode;
                vr.ErrMessage = errText;
                return(vr);
            }


            DataRow dr = dt.Rows[0];

            vr.VentilID       = dr["ventil_id"].ToString();
            vr.VentilkatID    = Convert.ToInt16(dr["ventilkategori"]);
            vr.Ventilkategori = dr["ventilkategori_namn"].ToString();
            vr.KundID         = dr["kund_id"].ToString();
            vr.Position       = dr["position"].ToString();
            vr.Fabrikat       = dr["fabrikat"].ToString();
            vr.Ventiltyp      = dr["ventiltyp"].ToString();
            vr.IdNr           = dr["id_nr"].ToString();
            vr.Pn             = dr["pn"].ToString();
            vr.Pn2            = dr["pn2"].ToString();
            vr.Dn             = dr["dn"].ToString();
            vr.Dn2            = dr["dn2"].ToString();
            if (dr["oppningstryck"] == DBNull.Value)
            {
                vr.Oppningstryck = 0;
            }
            else
            {
                vr.Oppningstryck = Convert.ToDecimal(dr["oppningstryck"]);
            }
            vr.Stalldonstyp       = dr["stalldonstyp"].ToString();
            vr.StalldonIDNr       = dr["stalldon_id_nr"].ToString();
            vr.StalldonFabrikat   = dr["stalldon_fabrikat"].ToString();
            vr.StalldonArtnr      = dr["stalldon_artnr"].ToString();
            vr.Lagesstallartyp    = dr["lagesstallartyp"].ToString();
            vr.LagesstallIDNr     = dr["lagesstall_id_nr"].ToString();
            vr.LagesstallFabrikat = dr["lagesstall_fabrikat"].ToString();
            vr.Avdelning          = dr["avdelning"].ToString();
            vr.Plan          = dr["plan"].ToString();
            vr.Rum           = dr["rum"].ToString();
            vr.Anlaggningsnr = dr["anlaggningsnr"].ToString();
            // 2017-09-25 KJBO
            if (dr["insideDiameter"] == DBNull.Value)
            {
                vr.insideDiameter = 0;
            }
            else
            {
                vr.insideDiameter = Convert.ToDecimal(dr["insideDiameter"]);
            }
            if (dr["outsideDiameter"] == DBNull.Value)
            {
                vr.outsideDiameter = 0;
            }
            else
            {
                vr.outsideDiameter = Convert.ToDecimal(dr["outsideDiameter"]);
            }
            vr.ErrCode    = 0;
            vr.ErrMessage = "";

            return(vr);
        }