Example #1
0
        public async void GetPlatformActualAndSaveorUpdate(Bearer bearer)
        {
            List <Platform> platformList = new List <Platform>();

            string PlatformWellActualURL = ConfigurationManager.AppSetting["PlatformWellActualAPI:URL"];

            using (var httpClient = new HttpClient())
            {
                httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", bearer.token);

                using (var response = await httpClient.GetAsync(PlatformWellActualURL))
                {
                    string apiResponse = await response.Content.ReadAsStringAsync();

                    try
                    {
                        platformList = JsonConvert.DeserializeObject <List <Platform> >(apiResponse);
                        DALUtility.InsertOrUpdatePlatformWellData(platformList);
                    }
                    catch (Exception ex)
                    {
                    }
                }
            }
        }
        protected override void SafeExecute(CodeActivityContext context)
        {
            // Create URL

            string bearer    = Bearer.Get(context);
            var    queryText = GetQuery(context);
            var    query     = new PipefyQuery(queryText, bearer);

            int timeout = Timeout.Get(context);

            query.SetTimeout(timeout);

            string result = query.Execute();

            CheckStatusCode(query.StatusCode);

            JObject json = PipefyQuery.ParseJson(result);

            ParseResult(context, json["data"] as JObject);

            // Upload File

            UploadFile(fileInfo);
            var resultUrl = new Uri(amazonUrl);

            FileUrl.Set(context, resultUrl.LocalPath.TrimStart('\\', '/'));
        }
Example #3
0
        private async void btnAuthenticate_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(txtClientId.Text) || string.IsNullOrWhiteSpace(txtClientSecret.Text))
            {
                return;
            }

            // get the access token
            TwoLeggedApi oAuth = new TwoLeggedApi();
            Bearer       token = (await oAuth.AuthenticateAsync(
                                      txtClientId.Text,
                                      txtClientSecret.Text,
                                      oAuthConstants.CLIENT_CREDENTIALS,
                                      new Scope[] { Scope.BucketRead, Scope.BucketCreate, Scope.DataRead, Scope.DataWrite })).ToObject <Bearer>();

            txtAccessToken.Text = token.AccessToken;
            _expiresAt          = DateTime.Now.AddSeconds(token.ExpiresIn.Value);

            // keep track on time
            _tokenTimer.Tick    += new EventHandler(tickTokenTimer);
            _tokenTimer.Interval = 1000;
            _tokenTimer.Enabled  = true;

            btnRefreshToken_Click(null, null);
        }
Example #4
0
        private void ReadLoginPage()
        {
            String BMWLoginSite = "https://customer.bmwgroup.com/gcdm/oauth/authenticate";
            string formParams   = string.Format("?username={0}&password={1}&client_id=dbf0a542-ebd1-4ff0-a9a7-55172fbfce35&redirect_uri=https:%2F%2Fwww.bmw-connecteddrive.com%2Fapp%2Fstatic%2Fexternal-dispatch.html&response_type=token&scope=authenticate_user fupo&state=eyJtYXJrZXQiOiJkZSIsImxhbmd1YWdlIjoiZGUiLCJkZXN0aW5hdGlvbiI6InVzZXJEYXNoYm9hcmRQYWdlIiwicGFyYW1ldGVycyI6Int9In0&locale=DE-de"
                                                , userData.Login
                                                , userData.Password
                                                );
            HttpWebRequest BMWSiteWebRequest = (HttpWebRequest)HttpWebRequest.Create(BMWLoginSite + formParams);

            BMWSiteWebRequest.CookieContainer = BMWCookies;
            BMWSiteWebRequest.UserAgent       = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36";
            BMWSiteWebRequest.Method          = "POST";
            //byte[] bytes = Encoding.ASCII.GetBytes(formParams);
            BMWSiteWebRequest.ContentLength = 0;
            //using (Stream os = BMWSiteWebRequest.GetRequestStream())
            //{
            //    os.Write(bytes, 0, bytes.Length);
            //}
            BMWSiteWebRequest.ContentType = "application/x-www-form-urlencode";
            BMWSiteWebRequest.Accept      = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8";
            BMWSiteWebRequest.MaximumAutomaticRedirections = 1;
            WebResponse  BMWSiteResponse = BMWSiteWebRequest.GetResponse();
            StreamReader BMWData         = new StreamReader(BMWSiteResponse.GetResponseStream());

            TBDebug.Text  = BMWData.ReadToEnd() + "\r\n" + BMWSiteResponse.ResponseUri.Fragment;
            bearer        = new Bearer(BMWSiteResponse.ResponseUri.Fragment, logger);
            TBDebug.Text += bearer.expieredTime.ToLongDateString() + " " + bearer.expieredTime.ToLongTimeString() + "\r\n";
        }
Example #5
0
 /// <summary>
 /// 针对HttpHeader特征阻止不安全访问
 /// </summary>
 ///  <param name="api"></param>
 /// <returns></returns>
 private bool CheckApisInner(string api)
 {
     if (string.IsNullOrWhiteSpace(api))
     {
         return(true);
     }
     if (!AppConfig.Config.Security.CheckApis.TryGetValue(api, out var item))
     {
         return(true);
     }
     if (!string.IsNullOrWhiteSpace(item.Os))
     {
         if (Bearer.IndexOf(item.Os, StringComparison.OrdinalIgnoreCase) < 0)
         {
             return(false);
         }
     }
     if (!string.IsNullOrWhiteSpace(item.Browser))
     {
         if (Bearer.IndexOf(item.Browser, StringComparison.OrdinalIgnoreCase) < 0)
         {
             return(false);
         }
     }
     return(true);
 }
Example #6
0
        /// <summary>
        /// Creates WorkItem
        /// </summary>
        /// <returns>True if successful</returns>
        public static async Task <dynamic> CreateWorkItem(String bucketkey)
        {
            string  nickName    = ConsumerKey;
            Bearer  bearer      = (await Get2LeggedTokenAsync(new Scope[] { Scope.CodeAll })).ToObject <Bearer>();
            string  downloadUrl = string.Format("https://developer.api.autodesk.com/oss/v2/buckets/{0}/objects/{1}", bucketkey, inputFileName);
            string  uploadUrl   = string.Format("https://developer.api.autodesk.com/oss/v2/buckets/{0}/objects/{1}", bucketkey, outputFileName);
            JObject iptFile     = new JObject
            {
                new JProperty("url", downloadUrl),
                new JProperty("headers",
                              new JObject {
                    new JProperty("Authorization", "Bearer " + InternalToken.access_token)
                })
            };

            JObject inputParams = new JObject
            {
                new JProperty("url", "data:application/json,{\"Color\":\"" + paramColor.ToString() + "\", \"RimStyle\":\"" + paramRim.ToString() + "\"}")
            };

            JObject resultIpt = new JObject
            {
                new JProperty("verb", "put"),
                new JProperty("url", uploadUrl),
                new JProperty("headers",
                              new JObject {
                    new JProperty("Authorization", "Bearer " + InternalToken.access_token)
                })
            };
            WorkItem workItemSpec = new WorkItem(
                null, string.Format("{0}.{1}+{2}", nickName, ACTIVITY_NAME, ALIAS),
                new Dictionary <string, JObject>()
            {
                { "InputIPT", iptFile }, { "InputParams", inputParams }, { "ResultIPT", resultIpt }
            }, null);
            WorkItemsApi workItemApi = new WorkItemsApi();

            workItemApi.Configuration.AccessToken = bearer.AccessToken;
            WorkItemStatus newWorkItem = await workItemApi.WorkItemsCreateWorkItemsAsync(null, null, workItemSpec);

            for (int i = 0; i < 1000; i++)
            {
                System.Threading.Thread.Sleep(1000);
                WorkItemStatus workItemStatus = await workItemApi.WorkItemsGetWorkitemsStatusAsync(newWorkItem.Id);

                if (workItemStatus.Status == WorkItemStatus.StatusEnum.Pending || workItemStatus.Status == WorkItemStatus.StatusEnum.Inprogress)
                {
                    continue;
                }
                break;
            }
            uploadURL = uploadUrl;
            ObjectsApi objectsapi = new ObjectsApi();

            objectsapi.Configuration.AccessToken = InternalToken.access_token;
            dynamic obj = await objectsapi.GetObjectDetailsAsync(bucketkey, outputFileName);

            return(obj);
        }
Example #7
0
        public PlatformWellController()
        {
            platformWellUtilityBL = new PlatformWellUtilityBL();
            bearer = new Bearer();
            Task <string> result = platformWellUtilityBL.GetBearerToken();

            bearer.token = result.Result;
        }
Example #8
0
        private void LoadUser(HttpContext context)
        {
            Context.Current.Reset();

            Context.Current.User = context.Session.Get <Entities.User>(Keys.SessionUser);

            if (Context.Current.User != null)
            {
                return;
            }

            string bearer = context.Request.Headers["ZestyApiBearer"];

            if (String.IsNullOrWhiteSpace(bearer))
            {
                return;
            }

            logger.Info($"Bearer received: {bearer}");

            string secret = Business.User.GetSecret(bearer);

            if (String.IsNullOrWhiteSpace(secret))
            {
                throw new SecurityException("Invalid token");
            }

            var json = JwtBuilder.Create()
                       .WithAlgorithm(new HMACSHA256Algorithm())
                       .WithSecret(secret)
                       .MustVerifySignature()
                       .Decode(bearer);

            logger.Debug($"Json from bearer: {json}");

            Bearer b = JsonHelper.Deserialize <Bearer>(json);

            if (b == null || b.User == null)
            {
                return;
            }

            DateTime expiration = DateTimeHelper.GetFromUnixTimestamp(b.Exp);

            if (expiration < DateTime.Now && context.Request.Path != refreshResource)
            {
                throw new ApiTokenExpiredException("Token expired");
            }

            if (b.User.DomainId != Guid.Empty)
            {
                List <Domain> domains = Business.User.GetDomains(b.User.Username);

                b.User.Domain = domains.Where(x => x.Id == b.User.DomainId).FirstOrDefault();
            }

            Context.Current.User = b.User;
        }
Example #9
0
        public async Task InitAsync()
        {
            lock (localShouldInitialize)
            {
                if (initializing == null)
                {
                    initializing = new TaskCompletionSource <object>();
                    localShouldInitialize.Value = true;
                    Trace.WriteLine($"{DateTime.Now.Ticks} I'll initalize.");
                }
                else
                {
                    Trace.WriteLine($"{DateTime.Now.Ticks} I'll wait for init.");
                }
            }

            if (localShouldInitialize.Value)
            {
                try
                {
                    var uri = navManager.ToAbsoluteUri(navManager.Uri);

                    // override token if coming from url parameter
                    if (QueryHelpers.ParseQuery(uri.Query).TryGetValue("token", out var param))
                    {
                        await Bearer.SetValueAsync(param.First());
                    }

                    await PastHour.Initialize();

                    await Bearer.Initialize();

                    Trace.WriteLine($"Load from local storage: PastHour={PastHour}, Bearer={Bearer}");

                    initTime = DateTime.Now;
                    Trace.WriteLine($"AppData constructTime={constructTime.Ticks}, initTime={initTime.Ticks}");

                    Trace.WriteLine($"{DateTime.Now.Ticks} Finished init.");
                    initializing.SetResult(null);
                }
                catch (Exception ex)
                {
                    Trace.WriteLine($"{DateTime.Now.Ticks} Exception in init.");

                    initializing.SetException(ex);
                    throw;
                }
            }
            else
            {
                await initializing.Task;
                Trace.WriteLine($"{DateTime.Now.Ticks} Finished waiting for init.");
            }
        }
Example #10
0
 void OnMouseDown()
 {
     if (PlayerPrefs.GetInt("Money") >= PlayerPrefs.GetInt("Price"))                                                                                                //Условие проверки того, хватает ли игроку звёзд на покупку нового куба.
     {
         PlayerPrefs.SetString(CubeSeen.GetComponent <ChooseCube>().ChosenCube, "Available");                                                                       //У CubeSeen берётся из скрипта ChooseCube переменная, в которой записано имя выбранного на данный момент куба, куб записывается в PlayerPrefs как доступный.
         PlayerPrefs.SetInt("Money", PlayerPrefs.GetInt("Money") - PlayerPrefs.GetInt("Price"));                                                                    //Уменьшение кол-ва звёзд на 50 как результат покупки.
         MainCube.GetComponent <MeshRenderer>().material = GameObject.Find(CubeSeen.GetComponent <ChooseCube>().ChosenCube).GetComponent <MeshRenderer>().material; //Нахождение материала выбранного куба и передача его основному кубу.
         PlayerPrefs.SetString("Now Cube", CubeSeen.GetComponent <ChooseCube>().ChosenCube);
         Bearer.GetComponent <AudioSource>().clip = Purchase;
         Bearer.GetComponent <AudioSource>().Play();
         ChooseButton.SetActive(true);
         gameObject.SetActive(false);
     }
 }
        /// <summary>
        /// Creates WorkItem
        /// </summary>
        /// <returns>True if successful</returns>
        private static async Task <dynamic> CreateWorkItem(String bucketkey)
        {
            string  nickName    = ConsumerKey;
            Bearer  bearer      = (await Get2LeggedTokenAsync(new Scope[] { Scope.CodeAll })).ToObject <Bearer>();
            string  downloadUrl = string.Format("https://developer.api.autodesk.com/oss/v2/buckets/{0}/objects/{1}", bucketkey, inputFileName);
            string  uploadUrl   = string.Format("https://developer.api.autodesk.com/oss/v2/buckets/{0}/objects/{1}", bucketkey, inputFileName);
            JObject iptFile     = new JObject
            {
                new JProperty("url", downloadUrl),
                new JProperty("headers",
                              new JObject {
                    new JProperty("Authorization", "Bearer " + InternalToken.access_token)
                })
            };
            JObject resultIpt = new JObject
            {
                new JProperty("verb", "put"),
                new JProperty("url", uploadUrl),
                new JProperty("headers",
                              new JObject {
                    new JProperty("Authorization", "Bearer " + InternalToken.access_token)
                })
            };
            WorkItem workItemSpec = new WorkItem(
                null, string.Format("{0}.{1}+{2}", nickName, ACTIVITY_NAME, ALIAS),
                new Dictionary <string, JObject>()
            {
                { "InputIPT", iptFile }, { "ResultIPT", resultIpt }
            }, null);
            WorkItemsApi workItemApi = new WorkItemsApi();

            workItemApi.Configuration.AccessToken = bearer.AccessToken;
            WorkItemStatus newWorkItem = await workItemApi.WorkItemsCreateWorkItemsAsync(null, null, workItemSpec);

            for (int i = 0; i < 1000; i++)
            {
                System.Threading.Thread.Sleep(1000);
                WorkItemStatus workItemStatus = await workItemApi.WorkItemsGetWorkitemsStatusAsync(newWorkItem.Id);

                if (workItemStatus.Status == WorkItemStatus.StatusEnum.Pending || workItemStatus.Status == WorkItemStatus.StatusEnum.Inprogress)
                {
                    continue;
                }
                break;
            }
            await CheckintoVault(uploadUrl);

            return(new Output(Output.StatusEnum.Sucess, "Activity created"));
        }
Example #12
0
 public AlmsgivingEntity AlmsToAlmEntity(Almsgiving alms, Bearer bearer, string photo)
 {
     return(new AlmsgivingEntity()
     {
         Id = alms.Id,
         Description = alms.Description,
         BearerId = bearer.Id,
         Date = alms.Date,
         Name = alms.Name,
         Nickname = bearer.Nickname,
         Phone = bearer.Phone,
         Photo = photo,
         Type = alms.Type
     });
 }
Example #13
0
        protected override void Execute(CodeActivityContext context)
        {
            System.Net.WebRequest req = System.Net.WebRequest.Create("https://app.pipefy.com/queries");
            req.Proxy.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
            req.Timeout           = 120000;
            req.Headers.Add("authorization", "Bearer " + Bearer.Get(context));
            req.ContentType = "application/json";
            req.Method      = "POST";
            byte[] bytes = System.Text.Encoding.UTF8.GetBytes("{ \"query\": \"{ pipe(id: " + PipeID.Get(context) + ") { id name start_form_fields { label id } labels { name id } phases { name fields { label id } cards(first: 5) { edges { node { id, title } } } } } }\" }");
            req.ContentLength = bytes.Length;
            System.IO.Stream os = req.GetRequestStream();
            os.Write(bytes, 0, bytes.Length);
            os.Close();
            System.Net.WebResponse resp = req.GetResponse();
            System.IO.StreamReader sr   = new System.IO.StreamReader(resp.GetResponseStream());
            JArray  array      = new JArray();
            JObject joResponse = JObject.Parse(sr.ReadToEnd());

            Return.Set(context, joResponse.ToString());
        }
Example #14
0
        protected override void Execute(CodeActivityContext context)
        {
            System.Net.WebRequest req = System.Net.WebRequest.Create("https://app.pipefy.com/queries");
            req.Proxy.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
            req.Timeout           = 120000;
            req.Headers.Add("authorization", "Bearer " + Bearer.Get(context));
            req.ContentType = "application/json";
            req.Method      = "POST";
            byte[] bytes = System.Text.Encoding.UTF8.GetBytes("{ \"query\": \"mutation { deletePhase(input: { id: " + PhaseID.Get(context) + " }) { success } }\" }");
            req.ContentLength = bytes.Length;
            System.IO.Stream os = req.GetRequestStream();
            os.Write(bytes, 0, bytes.Length);
            os.Close();
            System.Net.WebResponse resp = req.GetResponse();
            System.IO.StreamReader sr   = new System.IO.StreamReader(resp.GetResponseStream());
            JArray  array      = new JArray();
            JObject joResponse = JObject.Parse(sr.ReadToEnd());

            Return.Set(context, joResponse.ToString());
        }
Example #15
0
        protected override void Execute(CodeActivityContext context)
        {
            System.Net.WebRequest req = System.Net.WebRequest.Create("https://app.pipefy.com/queries");
            req.Proxy.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
            req.Timeout           = 120000;
            req.Headers.Add("authorization", "Bearer " + Bearer.Get(context));
            req.ContentType = "application/json";
            req.Method      = "POST";
            byte[] bytes = System.Text.Encoding.UTF8.GetBytes("{ \"query\": \"{ card(id: " + CardID.Get(context) + ") { title assignees { id } comments { id } comments_count current_phase { name } done due_date fields { name value } labels { name } phases_history { phase { name } firstTimeIn lastTimeOut } url } }\" }");
            req.ContentLength = bytes.Length;
            System.IO.Stream os = req.GetRequestStream();
            os.Write(bytes, 0, bytes.Length);
            os.Close();
            System.Net.WebResponse resp = req.GetResponse();
            System.IO.StreamReader sr   = new System.IO.StreamReader(resp.GetResponseStream());
            JArray  array      = new JArray();
            JObject joResponse = JObject.Parse(sr.ReadToEnd());

            Return.Set(context, joResponse.ToString());
        }
Example #16
0
        protected override void Execute(CodeActivityContext context)
        {
            System.Net.WebRequest req = System.Net.WebRequest.Create("https://app.pipefy.com/queries");
            req.Proxy.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
            req.Timeout           = 120000;
            req.Headers.Add("authorization", "Bearer " + Bearer.Get(context));
            req.ContentType = "application/json";
            req.Method      = "POST";
            byte[] bytes = System.Text.Encoding.UTF8.GetBytes("{ \"query\": \"{ table_record(id: " + TableRecordID.Get(context) + ") { assignees { id name } created_at created_by { id name } due_date finished_at id labels { id name } parent_relations { name source_type } record_fields { array_value date_value datetime_value filled_at float_value name required updated_at value } summary { title value } table { id } title updated_at url } }\" }");
            req.ContentLength = bytes.Length;
            System.IO.Stream os = req.GetRequestStream();
            os.Write(bytes, 0, bytes.Length);
            os.Close();
            System.Net.WebResponse resp = req.GetResponse();
            System.IO.StreamReader sr   = new System.IO.StreamReader(resp.GetResponseStream());
            JArray  array      = new JArray();
            JObject joResponse = JObject.Parse(sr.ReadToEnd());

            Return.Set(context, joResponse.ToString());
        }
Example #17
0
        /// <summary>
        /// Only the main part of the execution. Will be run inside of a try / catch statement
        /// </summary>
        protected virtual void SafeExecute(CodeActivityContext context)
        {
            string bearer    = Bearer.Get(context);
            var    queryText = GetQuery(context);
            var    query     = new PipefyQuery(queryText, bearer);

            int timeout = Timeout.Get(context);

            if (timeout > 100)
            {
                query.SetTimeout(timeout);
            }

            string result = query.Execute();

            CheckStatusCode(query.StatusCode);

            JObject json = PipefyQuery.ParseJson(result);

            ParseResult(context, json["data"] as JObject);
        }
Example #18
0
        static void Main(string[] args)
        {
            string Username = ConfigurationSettings.AppSettings["Username"];
            string Password = ConfigurationSettings.AppSettings["Password"];

            var baseUrl    = "https://api.life360.com/v3";
            var tokenUrl   = "/oauth2/token.json";
            var circlesUrl = "/circles.json";
            var membersUrl = baseUrl + "/circles/"; // This is dynamic and set later

            // Authenticate to Life360
            var client1  = new RestClient(baseUrl + tokenUrl);
            var request1 = new RestRequest(Method.POST);

            request1.AddHeader("Authorization", "Basic cFJFcXVnYWJSZXRyZTRFc3RldGhlcnVmcmVQdW1hbUV4dWNyRUh1YzptM2ZydXBSZXRSZXN3ZXJFQ2hBUHJFOTZxYWtFZHI0Vg==");
            request1.AddParameter("grant_type", "password");
            request1.AddParameter("username", Username);
            request1.AddParameter("password", Password);
            IRestResponse response    = client1.Execute(request1);
            var           bearer      = Bearer.FromJson(json: response.Content);
            var           bearerToken = "Bearer " + bearer.AccessToken;

            // Get Life360 Circles
            var client2  = new RestClient(baseUrl + circlesUrl);
            var request2 = new RestRequest(Method.GET);

            request2.AddHeader("Authorization", bearerToken);
            IRestResponse response2   = client2.Execute(request2);
            var           circles     = CirclesRoot.FromJson(json: response2.Content);
            var           circleCount = circles.Circle.Count;

            if (circleCount > 1)
            {
                Console.WriteLine("Circle Count: " + circleCount);
                Console.WriteLine("Multiple Circles are not implemented yet");
            }

            var circleId   = circles.Circle[0].Id;
            var circleName = circles.Circle[0].Name;

            // Get Life360 Members
            var client3  = new RestClient(membersUrl + circleId);
            var request3 = new RestRequest(Method.GET);

            request3.AddHeader("Accept", "application/json");
            request3.AddHeader("cache-control", "no-cache");
            request3.AddHeader("Authorization", bearerToken);
            IRestResponse response3 = client3.Execute(request3);
            var           member    = Members.FromJson(json: response3.Content);
            int           mCount    = member.MembersMembers.Length;

            for (int i = 0; i < mCount; i++)
            {
                //Get Life360 Member First Name
                string[] firstName = member.MembersMembers[i].FirstName.Split(' ');

                //Get Life360 Member Location
                string locationName = member.MembersMembers[i].Location.Name;

                string DeviceRef = ConfigurationSettings.AppSettings[firstName[0]];
                if (!String.IsNullOrEmpty(DeviceRef))
                {
                    if (locationName == "Home")
                    {
                        SetPresence(DeviceRef, "on");
                    }
                    else
                    {
                        SetPresence(DeviceRef, "off");
                    }
                }
                else
                {
                    Console.WriteLine(firstName[0] + ": " + "Has no config entry...Adding.");
                    //Add missing member to config
                    System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
                    config.AppSettings.Settings.Add(firstName[0], "000");
                    config.Save(ConfigurationSaveMode.Modified);
                    ConfigurationManager.RefreshSection("appSettings");
                }
            }
        }
Example #19
0
        /// <summary>
        /// Creates Activity
        /// </summary>
        /// <returns>True if successful</returns>
        public static async Task <dynamic> CreateActivity()
        {
            Bearer bearer   = (await Get2LeggedTokenAsync(new Scope[] { Scope.CodeAll })).ToObject <Bearer>();
            string nickName = ConsumerKey;

            AppBundlesApi appBundlesApi = new AppBundlesApi();

            appBundlesApi.Configuration.AccessToken = bearer.AccessToken;
            PageString appBundles = await appBundlesApi.AppBundlesGetItemsAsync();

            string appBundleID = string.Format("{0}.{1}+{2}", nickName, APPNAME, ALIAS);

            if (!appBundles.Data.Contains(appBundleID))
            {
                if (!System.IO.File.Exists(LocalAppPackageZip))
                {
                    return(new Output(Output.StatusEnum.Error, "Bundle not found at " + LocalAppPackageZip));
                }
                // create new bundle
                AppBundle appBundleSpec = new AppBundle(APPNAME, null, EngineName, null, null, APPNAME, null, APPNAME);
                AppBundle newApp        = await appBundlesApi.AppBundlesCreateItemAsync(appBundleSpec);

                if (newApp == null)
                {
                    return(new Output(Output.StatusEnum.Error, "Cannot create new app"));
                }
                // create alias
                Alias aliasSpec = new Alias(1, null, ALIAS);
                Alias newAlias  = await appBundlesApi.AppBundlesCreateAliasAsync(APPNAME, aliasSpec);

                // upload the zip bundle
                RestClient  uploadClient = new RestClient(newApp.UploadParameters.EndpointURL);
                RestRequest request      = new RestRequest(string.Empty, Method.POST);
                request.AlwaysMultipartFormData = true;
                foreach (KeyValuePair <string, object> x in newApp.UploadParameters.FormData)
                {
                    request.AddParameter(x.Key, x.Value);
                }
                request.AddFile("file", LocalAppPackageZip);
                request.AddHeader("Cache-Control", "no-cache");
                var res = await uploadClient.ExecuteTaskAsync(request);
            }
            ActivitiesApi activitiesApi = new ActivitiesApi();

            activitiesApi.Configuration.AccessToken = bearer.AccessToken;
            PageString activities = await activitiesApi.ActivitiesGetItemsAsync();

            string activityID = string.Format("{0}.{1}+{2}", nickName, ACTIVITY_NAME, ALIAS);

            if (!activities.Data.Contains(activityID))
            {
                // create activity
                string         commandLine  = string.Format(@"$(engine.path)\\inventorcoreconsole.exe /i $(args[InputIPT].path) /al $(appbundles[{0}].path) $(args[InputParams].path)", APPNAME);
                ModelParameter iptFile      = new ModelParameter(false, false, ModelParameter.VerbEnum.Get, "Input Ipt File", true, inputFileName);
                ModelParameter result       = new ModelParameter(false, false, ModelParameter.VerbEnum.Put, "Resulting Ipt File", true, outputFileName);
                ModelParameter inputParams  = new ModelParameter(false, false, ModelParameter.VerbEnum.Get, "Input params", false, "params.json");
                Activity       activitySpec = new Activity(
                    new List <string> {
                    commandLine
                },
                    new Dictionary <string, ModelParameter>()
                {
                    { "InputIPT", iptFile },
                    { "InputParams", inputParams },
                    { "ResultIPT", result },
                },
                    EngineName,
                    new List <string>()
                {
                    string.Format("{0}.{1}+{2}", nickName, APPNAME, ALIAS)
                },
                    null,
                    ACTIVITY_NAME,
                    null,
                    ACTIVITY_NAME
                    );
                Activity newActivity = await activitiesApi.ActivitiesCreateItemAsync(activitySpec);

                Alias aliasSpec = new Alias(1, null, ALIAS);
                Alias newAlias  = await activitiesApi.ActivitiesCreateAliasAsync(ACTIVITY_NAME, aliasSpec);
            }
            return(new Output(Output.StatusEnum.Sucess, "Activity created"));
        }
Example #20
0
        public async Task <string> GetPlatformActualAndSaveorUpdate(PlatformWellActual platformWellActual, Bearer bearer)
        {
            string          message      = string.Empty;
            List <Platform> platformList = new List <Platform>();

            string PlatformWellActualURL = platformWellActual.Url; //ConfigurationManager.AppSetting["PlatformWellActualAPI:URL"];

            using (var httpClient = new HttpClient())
            {
                httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", bearer.token);

                using (var response = await httpClient.GetAsync(PlatformWellActualURL))
                {
                    string apiResponse = await response.Content.ReadAsStringAsync();

                    try
                    {
                        platformList = JsonConvert.DeserializeObject <List <Platform> >(apiResponse);
                        DALUtility.InsertOrUpdatePlatformWellData(platformList);
                        message = "Data saved and loaded successfully.";
                        return(message);
                    }
                    catch (Exception ex)
                    {
                        message = "API return different set of data for example some key are missing or new key is added. " + ex.Message.ToString().Replace("'", "");
                        return(message);
                    }
                }
            }
        }