Example #1
0
        /// <summary>
        /// Check if an order is open for editing
        /// The return value is a string, 1 = open, -1 = closed or an error message
        /// </summary>
        /// <param name="ident"></param>
        /// <param name="VartOrdernr"></param>
        /// <returns>1 - Open -1 - Closed or an error message</returns>
        public string isOpen(string ident, string VartOrdernr)
        {
            CReparator cr = new CReparator();

            int identOK = cr.checkIdent(ident);

            if (identOK == -1)
            {
                return("Ogiltigt login");
            }


            string sSql = " select Coalesce(OpenForApp, false) as OpenForApp, "
                          + " Coalesce(Godkand, true) as Godkand "
                          + " from servicehuvud "
                          + " where vart_ordernr = :vart_ordernr ";

            NxParameterCollection pc = new NxParameterCollection();

            pc.Add("vart_ordernr", VartOrdernr);

            string    errText = "";
            DataTable dt      = cdb.getData(sSql, ref errText, pc);

            int errCode = -100;

            if (errText == "" && dt.Rows.Count == 0)
            {
                errText = "Det finns ingen order med aktuellt ordernr";
                errCode = -10;
                return(errText);
            }

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


            DataRow dr          = dt.Rows[0];
            Boolean bOpenForApp = Convert.ToBoolean(dr["OpenForApp"]);
            Boolean bGodkand    = Convert.ToBoolean(dr["Godkand"]);

            if (bOpenForApp && !bGodkand)
            {
                return("1");
            }
            return("-1");
        }
Example #2
0
        // Get all open ServiceHuvud for a user
        public List <ServiceHuvudCL> getServHuvForUser(string ident)
        {
            List <ServiceHuvudCL> shList = new List <ServiceHuvudCL>();

            CReparator cr = new CReparator();

            int identOK = cr.checkIdent(ident);

            if (identOK == -1)
            {
                ServiceHuvudCL sh = new ServiceHuvudCL();
                sh.ErrCode    = -10;
                sh.ErrMessage = "Ogiltigt login";
                shList.Add(sh);
                return(shList);
            }



            string sSql = " SELECT sh.vart_ordernr, sh.ert_ordernr, sh.kund, c.kund as kundnamn, sh.datum, sh.orderAdmin, "
                          + " r.reparator, sh.allrep, coalesce(sh.orderLabel,'') orderLabel "
                          + " FROM ServiceHuvud sh "
                          + " join kund c on sh.kund = c.kund_id "
                          + " left outer join reparator r on sh.orderAdmin = r.AnvID "
                          + " where godkand = false "
                          + " and posttyp = 1 "
                          + " and OpenForApp = true "
                          + " and (allRep = true "
                          + " or orderAdmin = ( select min(a.AnvID) "
                          + " from Authenticate a "
                          + " where a.ident = :pIdent) "
                          + " or exists ( select 'x' "
                          + " from shReparator shr "
                          + " where shr.vart_ordernr = sh.vart_ordernr "
                          + " and shr.AnvID = ( select min(a.AnvID) "
                          + " from Authenticate a "
                          + " where a.ident = :pIdent))) ";

            NxParameterCollection np = new NxParameterCollection();

            np.Add("pIdent", ident);


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

            int errCode = -100;

            if (errText == "" && dt.Rows.Count == 0)
            {
                errText = "Det finns inga tillgängliga order för aktuell användare";
                errCode = -10;
            }

            if (errText != "")
            {
                if (errText.Length > 2000)
                {
                    errText = errText.Substring(1, 2000);
                }
                ServiceHuvudCL sh = new ServiceHuvudCL();
                sh.ErrCode    = errCode;
                sh.ErrMessage = errText;
                shList.Add(sh);
                return(shList);
            }

            foreach (DataRow dr in dt.Rows)
            {
                ServiceHuvudCL sh = new ServiceHuvudCL();
                sh.VartOrdernr    = dr["vart_ordernr"].ToString();
                sh.ErtOrdernr     = dr["ert_ordernr"].ToString();
                sh.Kund           = dr["kund"].ToString();
                sh.KundNamn       = dr["kundnamn"].ToString();
                sh.OrderDatum     = Convert.ToDateTime(dr["datum"]);
                sh.OrderAdminID   = dr["orderAdmin"].ToString();
                sh.OrderAdminNamn = dr["reparator"].ToString();
                sh.OrderLabel     = dr["orderLabel"].ToString();
                sh.ErrCode        = 0;
                sh.ErrMessage     = "";

                shList.Add(sh);
            }

            return(shList);
        }
Example #3
0
        /// <summary>
        /// Get one servicehuvud and return
        /// </summary>
        /// <param name="ident">identity</param>
        /// <param name="vartOrdernr">vart_ordernr</param>
        /// <returns></returns>
        public ServiceHuvudCL getServHuv(string ident, string vartOrdernr)
        {
            CReparator cr = new CReparator();

            int identOK = cr.checkIdent(ident);

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

            string sSql = " SELECT sh.vart_ordernr, sh.ert_ordernr, sh.kund, c.kund as kundnamn, sh.datum, sh.orderAdmin, "
                          + " r.reparator, sh.allrep, coalesce(sh.orderLabel,'') orderLabel "
                          + " FROM ServiceHuvud sh "
                          + " join kund c on sh.kund = c.kund_id "
                          + " left outer join reparator r on sh.orderAdmin = r.AnvID "
                          + " where godkand = false "
                          + " and posttyp = 1 "
                          + " and OpenForApp = true "
                          + " and sh.vart_ordernr = :pVartOrdernr";

            NxParameterCollection np = new NxParameterCollection();

            np.Add("pVartOrdernr", vartOrdernr);


            string errText = "";

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

            int errCode = -100;

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


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

            DataRow dr = dt.Rows[0];

            ServiceHuvudCL sh = new ServiceHuvudCL();

            sh.VartOrdernr    = dr["vart_ordernr"].ToString();
            sh.ErtOrdernr     = dr["ert_ordernr"].ToString();
            sh.Kund           = dr["kund"].ToString();
            sh.KundNamn       = dr["kundnamn"].ToString();
            sh.OrderDatum     = Convert.ToDateTime(dr["datum"]);
            sh.OrderAdminID   = dr["orderAdmin"].ToString();
            sh.OrderAdminNamn = dr["reparator"].ToString();
            sh.OrderLabel     = dr["orderLabel"].ToString();
            sh.ErrCode        = 0;
            sh.ErrMessage     = "";
            return(sh);
        }