protected override void Execute(CodeActivityContext context)
        {
            AndroidDriver <AndroidElement> driver;

            // Inherit driver from scope activity OR from input (if out of context)
            try
            {
                driver = context.DataContext.GetProperties()["Driver"].GetValue(context.DataContext) as AndroidDriver <AndroidElement>;
            }
            catch
            {
                driver = Driver.Get(context);
            }

            string appPackage  = AppPackage.Get(context);
            string appActivity = AppActivity.Get(context);

            try
            {
                driver.StartActivity(appPackage, appActivity);
            }
            catch (Exception)
            {
                throw;
            }
        }
        Task IAuthorizingAppDelegate.OpenInDefaultBrowserAsync(Uri uri, Uri redirectUri)
        {
            if (redirectUri != null)
            {
                ExpectedRedirectUris.Add(redirectUri);
            }

            var androidUri = global::Android.Net.Uri.Parse(uri.ToString());
            var browser    = new Intent(Intent.ActionView, androidUri);

            browser.SetData(androidUri);
            var resolveInfo = AppActivity.PackageManager.ResolveActivity(browser, PackageInfoFlags.MatchDefaultOnly);
            var packageName = resolveInfo.ActivityInfo.PackageName;

            browser.SetPackage(packageName);
            try
            {
                AppActivity.StartActivity(browser);
            }
            catch (ActivityNotFoundException)
            {
                browser.SetPackage(null);
                AppActivity.StartActivity(Intent.CreateChooser(browser, "Select Browser"));
            }
            return(Task.CompletedTask);
        }
        void IAuthorizingAppDelegate.ActivateApp()
        {
            var mainActivityType = AppActivity.GetType();
            var intent           = new Intent(AppActivity, mainActivityType).SetFlags(ActivityFlags.ReorderToFront);

            AppActivity.StartActivity(intent);
        }
Пример #4
0
        public async Task <IActionResult> AddActivity([FromBody] AppActivity model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    logger.LogInformation("Adding Actiivty in Repository");
                    var addedActivity = await activityRepo.AddActivity(model);

                    if (addedActivity != null)
                    {
                        return(Ok(addedActivity));
                    }
                    else
                    {
                        return(NotFound());
                    }
                }
                catch (Exception excp)
                {
                    logger.LogError("Error Adding Actiivty in Repository " + excp.Message);

                    return(BadRequest(excp));
                }
            }

            return(BadRequest());
        }
        public async Task <AppActivity> UpdateActivity(AppActivity activity)
        {
            if (db != null)
            {
                //Delete that post
                db.AppActivity.Update(activity);

                //Commit the transaction
                await db.SaveChangesAsync();
            }

            return(activity);
        }
Пример #6
0
        public override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            CurrActivity = (AppActivity)this.Activity;
            CurrContext  = CurrActivity.ApplicationContext;
            string userinfoStr = (string)SharedPreferencesUtil.GetParam(CurrActivity, AppConfig.SP_USERINFO, "");

            if (!string.IsNullOrEmpty(userinfoStr))
            {
                CurrUserInfo = DataService.Helper.FromJsonTo <LoginUserInfoEntity>(userinfoStr);
            }
        }
        public async Task <AppActivity> AddActivity(AppActivity activity)
        {
            if (db != null)
            {
                activity.AppActivityId = Guid.NewGuid();
                activity.CreatedDate   = DateTime.Now;
                await db.AppActivity.AddAsync(activity);

                await db.SaveChangesAsync();

                return(activity);
            }

            return(activity);
        }
Пример #8
0
 public async Task <IAppActivity> Create()
 {
     try
     {
         var crmService = StartupHelper.CreateCrmService();
         IActivityRepository repository = new ActivityRepository();
         IActivityService    service    = new ActivityService(crmService, repository);
         IAppActivity        app        = new AppActivity(service);
         return(app);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Пример #9
0
        public async Task <IActionResult> UpdateActivity([FromBody] AppActivity Activity)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    await activityRepo.UpdateActivity(Activity);

                    return(Ok());
                }
                catch (Exception excp)
                {
                    if (excp.GetType().FullName ==
                        "Microsoft.EntityFrameworkCore.DbUpdateConcurrencyException")
                    {
                        return(NotFound());
                    }

                    return(BadRequest(excp));
                }
            }

            return(BadRequest());
        }
Пример #10
0
        public void AddActivityTest()
        {
            AppActivity activty = new AppActivity();

            //  repository.SetupAdd()
        }
Пример #11
0
        protected override void Execute(NativeActivityContext context)
        {
            // Gather fields
            string apkPath          = ApkPath.Get(context);
            string deviceName       = DeviceName.Get(context);
            string version          = AndroidVersion.Get(context);
            string package          = AppPackage.Get(context);
            string activity         = AppActivity.Get(context);
            string locale           = Locale.Get(context) ?? "US";
            string language         = Language.Get(context) ?? "en";
            int    waitTime         = WaitTime.Get(context);
            string screenshotPath   = ScreenshotPath.Get(context) ?? "";
            string chromedriverPath = ChromedriverPath.Get(context) ?? "";

            // Initialize Driver and Appium Server
            AndroidDriver <AndroidElement> driver;
            AppiumLocalService             server;

            // Start Appium Server on any open port
            server = new AppiumServiceBuilder().UsingAnyFreePort().Build();
            server.Start();

            // Set additional capabilities
            var options = new AppiumOptions();

            //Device capabilities
            options.AddAdditionalCapability(MobileCapabilityType.DeviceName, deviceName);
            options.AddAdditionalCapability(MobileCapabilityType.PlatformName, "Android");
            options.AddAdditionalCapability(MobileCapabilityType.PlatformVersion, version);
            options.AddAdditionalCapability(MobileCapabilityType.Locale, locale);
            options.AddAdditionalCapability(MobileCapabilityType.Language, language);
            // Use UIAutomator2 for better performance
            options.AddAdditionalCapability(MobileCapabilityType.AutomationName, AutomationName.AndroidUIAutomator2);
            // Launch App or Browser depending on user input
            switch (LaunchType)
            {
            case LaunchType.App:
                // App capabilities
                if (!String.IsNullOrEmpty(apkPath))
                {
                    options.AddAdditionalCapability(MobileCapabilityType.App, apkPath);
                }
                options.AddAdditionalCapability(AndroidMobileCapabilityType.AppPackage, package);
                options.AddAdditionalCapability(AndroidMobileCapabilityType.AppActivity, activity);
                break;

            case LaunchType.Browser:
                // Browser capabilities
                switch (BrowserType)
                {
                case BrowserType.Chrome:
                    options.AddAdditionalCapability(MobileCapabilityType.BrowserName, MobileBrowserType.Chrome);
                    if (!String.IsNullOrEmpty(chromedriverPath))
                    {
                        options.AddAdditionalCapability(AndroidMobileCapabilityType.ChromedriverExecutable, chromedriverPath);
                    }
                    break;

                default:
                    throw new ArgumentNullException("Missing Argument: BrowserType.");
                }
                break;

            default:
                throw new ArgumentNullException("Missing Argument: LaunchType.");
            }
            // Default Screenshot Path
            options.AddAdditionalCapability(AndroidMobileCapabilityType.AndroidScreenshotPath, screenshotPath);

            driver = new AndroidDriver <AndroidElement>(server, options);
            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(waitTime);

            // Export driver
            Driver.Set(context, driver);

            // Schedule Activities
            if (Body != null)
            {
                context.ScheduleAction <AndroidDriver <AndroidElement> >(Body, driver, OnCompleted, OnFaulted);
            }
        }