public int AddCredentialSet(string serviceBrokerGuid, string serviceBrokerName,
            string groupName, string ussGuid)
        {
            int status = -1;
            LabSchedulingDB dbManager = new LabSchedulingDB();
            if (dbManager.AuthenticateAgentHeader(agentAuthHeader))
            {

                int cID = dbManager.AddCredentialSet(serviceBrokerGuid, serviceBrokerName, groupName);
                if (cID != -1)
                {
                    status = 1;
                }
            }
            return status;
        }
 public int RemoveCredentialSet(string serviceBrokerGuid, string serviceBrokerName,
     string groupName, string ussGuid)
 {
     LabSchedulingDB dbManager = new LabSchedulingDB();
     if (dbManager.AuthenticateAgentHeader(agentAuthHeader))
     {
         return dbManager.RemoveCredentialSet(serviceBrokerGuid, serviceBrokerName, groupName);
     }
     else
         return 0;
 }
 public int ModifyUSSInfo(string ussGuid, string ussName, string ussUrl, Coupon coupon)
 {
     int status = 0;
     LabSchedulingDB dbManager = new LabSchedulingDB();
     USSInfo info = null;
     try
     {
         if (dbManager.AuthenticateAgentHeader(agentAuthHeader))
         {
             info = dbManager.GetUSSInfo(ussGuid);
             if (info != null)
             {
                 if (info.ussGuid.CompareTo(ussGuid) != 0
                     || info.ussUrl.CompareTo(ussUrl) != 0
                     || info.revokeCouponId != coupon.couponId
                     || info.domainGuid.CompareTo(coupon.issuerGuid) != 0)
                 {
                     if (info.revokeCouponId != coupon.couponId)
                     {
                         // A new revokeTicket coupon has been created,
                         // Add it to the database & update USSinfo
                         if (!dbManager.AuthenticateCoupon(coupon))
                             dbManager.InsertCoupon(coupon);
                     }
                     status = dbManager.ModifyUSSInfo(info.ussInfoId, ussGuid, ussName, ussUrl,
                         coupon.couponId, coupon.issuerGuid);
                 }
             }
             else
             {
                 status = -1;
             }
         }
     }
     catch
     {
         throw;
     }
     return status;
 }
        public virtual int ModifyProcessAgent(string originalGuid, ProcessAgent agent, string extra)
        {
            int status = 0;
            LabSchedulingDB dbManager = new LabSchedulingDB();
            if (dbManager.AuthenticateAgentHeader(agentAuthHeader))
            {

                status = dbManager.ModifyProcessAgent(originalGuid, agent, extra);
            }
            return status;
        }
        public override int ModifyDomainCredentials(string originalGuid, ProcessAgent agent, string extra, 
            Coupon inCoupon, Coupon outCoupon)
        {
            int status = 0;
            LabSchedulingDB dbManager = new LabSchedulingDB();
            if (dbManager.AuthenticateAgentHeader(agentAuthHeader))
            {

                try
                {
                    status = dbManager.ModifyDomainCredentials(originalGuid, agent, inCoupon, outCoupon, extra);
                }
                catch (Exception ex)
                {
                    throw new Exception("USS: ", ex);
                }

            }
            return status;
        }
 public int ModifyCredentialSet(string serviceBrokerGuid, string serviceBrokerName,
     string groupName, string ussGuid)
 {
     LabSchedulingDB dbManager= new LabSchedulingDB();
     if (dbManager.AuthenticateAgentHeader(agentAuthHeader))
     {
         int id = dbManager.GetCredentialSetID(serviceBrokerGuid, groupName);
         return dbManager.ModifyCredentialSet(id, serviceBrokerGuid, serviceBrokerName, groupName);
     }
     else
         return 0;
 }
        public int AddExperimentInfo(string labServerGuid, string labServerName,
            string clientGuid, string clientName, string clientVersion,
            string providerName)
        {
            bool status = false;
            LabSchedulingDB dbManager = new LabSchedulingDB();
            if (dbManager.AuthenticateAgentHeader(agentAuthHeader))
            {
                int id = dbManager.ListExperimentInfoIDByExperiment(labServerGuid, clientGuid);
                if (id <= 0)
                {
                    id = dbManager.AddExperimentInfo(labServerGuid, labServerName, clientGuid, clientName,
                        clientVersion, providerName, null, 0, 0, 1, 0);
                    int ok = dbManager.CheckForLSResource(labServerGuid, labServerName);

                }
                else
                {
                    status = dbManager.ModifyExperimentInfo(id, labServerGuid, labServerName, clientGuid, clientName, clientVersion, providerName);
                }
                return (status)? 1:0;
            }
            else
                return 0;
        }