コード例 #1
0
        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;
        }
コード例 #2
0
        public int RemoveReservation(string serviceBrokerGuid, string groupName,
            string ussGuid, string labServerGuid, string clientGuid,
            DateTime startTime, DateTime endTime)
        {
            int count = -1;
            LabSchedulingDB dbManager = new LabSchedulingDB();
            Coupon opCoupon = new Coupon();
            opCoupon.couponId = opHeader.coupon.couponId;
            opCoupon.passkey = opHeader.coupon.passkey;
            opCoupon.issuerGuid = opHeader.coupon.issuerGuid;

            try
            {
                // Ticket retrievedTicket = ticketRetrieval.RetrieveAndVerify(opCoupon, type, "LAB SCHEDULING SERVER");

                Ticket retrievedTicket = dbManager.RetrieveAndVerify(opCoupon, TicketTypes.REVOKE_RESERVATION);

                DateTime startTimeUTC = startTime.ToUniversalTime();
                DateTime endTimeUTC = endTime.ToUniversalTime();
                count = dbManager.RemoveReservationInfo(serviceBrokerGuid, groupName, ussGuid,
                    labServerGuid, clientGuid, startTimeUTC, endTimeUTC);

            }
            catch
            {
                throw;
            }
            return count;
        }
コード例 #3
0
 public TimePeriod[] RetrieveAvailableTimePeriods(string serviceBrokerGuid, 
     string groupName, string ussGuid,
     string labServerGuid, string clientGuid, DateTime startTime, DateTime endTime)
 {
     LabSchedulingDB dbManager = new LabSchedulingDB();
     Coupon opCoupon = new Coupon();
     opCoupon.couponId = opHeader.coupon.couponId;
     opCoupon.passkey = opHeader.coupon.passkey;
     opCoupon.issuerGuid = opHeader.coupon.issuerGuid;
     try
     {
         Ticket retrievedTicket = dbManager.RetrieveAndVerify(opCoupon, TicketTypes.REQUEST_RESERVATION);
         TimePeriod[] array = dbManager.RetrieveAvailableTimePeriods(serviceBrokerGuid, groupName, ussGuid,
             labServerGuid, clientGuid, startTime, endTime);
         return array;
     }
     catch
     {
         throw;
     }
 }
コード例 #4
0
 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;
 }
コード例 #5
0
        public int RemoveExperimentInfo(string labServerGuid, string labServerName,
            string clientGuid, string clientName, string clientVersion,
            string providerName)
        {
            int status = 0;
            LabSchedulingDB dbManager = new LabSchedulingDB();
            int infoID = dbManager.ListExperimentInfoIDByExperiment(labServerGuid, clientGuid);
            if (infoID > 0)
            {
                int[] remaining = dbManager.RemoveExperimentInfo(new int[] { infoID });
                if (remaining == null || remaining.Length == 0)

                {
                    status = 1;
                }
            }
            return status;
        }
コード例 #6
0
        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;
        }
コード例 #7
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;
 }
コード例 #8
0
        public int ModifyExperimentInfo(string labServerGuid, string labServerName,
            string clientGuid, string clientName, string clientVersion,
            string providerName)
        {
            int status = 0;
            LabSchedulingDB dbManager = new LabSchedulingDB();
            int id = dbManager.ListExperimentInfoIDByExperiment(labServerGuid, clientGuid);
            if (id > 0)
            {

                    if (dbManager.ModifyExperimentInfo(id, labServerGuid, labServerName, clientGuid, clientName,
                        clientVersion, providerName))
                        status++;

            }
            return status;
        }
コード例 #9
0
        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;
        }
コード例 #10
0
 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;
 }
コード例 #11
0
 public string ConfirmReservation(string serviceBrokerGuid, string groupName, 
     string ussGuid, string labServerGuid, string clientGuid,
     DateTime startTime, DateTime endTime)
 {
     string confirm = null;
     LabSchedulingDB dbManager = new LabSchedulingDB();
     Coupon opCoupon = new Coupon();
     opCoupon.couponId = opHeader.coupon.couponId;
     opCoupon.passkey = opHeader.coupon.passkey;
     opCoupon.issuerGuid = opHeader.coupon.issuerGuid;
     try
     {
         Ticket retrievedTicket = dbManager.RetrieveAndVerify(opCoupon, TicketTypes.REQUEST_RESERVATION);
         confirm = dbManager.ConfirmReservation(serviceBrokerGuid, groupName, ussGuid,
             labServerGuid, clientGuid, startTime, endTime);
         return confirm;
     }
     catch
     {
         throw;
     }
 }
コード例 #12
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;
        }