async public Task <bool> GenerateVMConfig(QuickCreate model)
        {
            VMManager vmm = GetVMM();

            if (await vmm.IsServiceNameAvailable(model.Name).ConfigureAwait(continueOnCapturedContext: false) == false)
            {
                return(false);
            }

            bool      isVmImage = false;
            string    ImageName = "";
            string    ImagePath = "";
            XDocument vm        = vmm.NewAzureVMConfig(model.Name, model.Machine_Size, model.OS, GetOSDiskMediaLocation(model.OSLabel), true, isVmImage, ImageName, ImagePath);

            if (!isVmImage)
            {
                vm = vmm.NewWindowsProvisioningConfig(vm, model.Name, pwd);
                vm = vmm.NewNetworkConfigurationSet(vm);
                vm = vmm.AddNewInputEndpoint(vm, "web", "TCP", 80, 80);
                vm = vmm.AddNewInputEndpoint(vm, "rdp", "TCP", 3389, 3389);
            }


            var builder  = new StringBuilder();
            var settings = new XmlWriterSettings()
            {
                Indent = true
            };

            using (var writer = XmlWriter.Create(builder, settings))
            {
                vm.WriteTo(writer);
            }

            String requestID_cloudService = await vmm.NewAzureCloudService(model.ServiceName, "West US", String.Empty).ConfigureAwait(continueOnCapturedContext: false);

            OperationResult result = await vmm.PollGetOperationStatus(requestID_cloudService, 5, 120).ConfigureAwait(continueOnCapturedContext: false);

            String requestID_createDeployment;

            if (result.Status == OperationStatus.Succeeded)
            {
                // VM creation takes too long so we'll check it later
                requestID_createDeployment = await vmm.NewAzureVMDeployment(model.ServiceName, model.Name, String.Empty, vm, null, isVmImage).ConfigureAwait(continueOnCapturedContext: false);

                OperationResult resultvm = await vmm.PollGetOperationStatus(requestID_createDeployment, 5, 120).ConfigureAwait(continueOnCapturedContext: false);
            }
            else
            {
                requestID_createDeployment = "";
            }

            return(true);
        }
        public MainPage()
        {
            // Register Client ID Instructions: https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app
            var ClientId = "CLIENT_ID_HERE";

            _ = Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async() =>
            {
                ProviderManager.Instance.GlobalProvider = await QuickCreate.CreateMsalProviderAsync(
                    ClientId,
#if __ANDROID__
                    $"msal{ClientId}://auth", // Need to change redirectUri on Android for protocol registration from AndroidManifest.xml, ClientId needs to be updated there as well to match above.
#endif
                    scopes: new string[] { "user.read", "user.readbasic.all", "people.read" });
            });

            this.InitializeComponent();
        }
        /// <inheritdoc/>
        protected override bool Initialize()
        {
            lock (lock_sync)
            {
                if (!initialized)
                {
#if DOTNET
                    _ = Dispatcher.BeginInvoke(new Action(async() =>
                    {
                        ProviderManager.Instance.GlobalProvider =
                            await QuickCreate.CreateMsalProviderAsync(ClientId, RedirectUri, Scopes.ToArray());
                    }), System.Windows.Threading.DispatcherPriority.Normal);
#else
                    _ = Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async() =>
                    {
                        ProviderManager.Instance.GlobalProvider =
                            await QuickCreate.CreateMsalProviderAsync(ClientId, RedirectUri, Scopes.ToArray());
                    });
#endif
                }
            }

            return(base.Initialize());
        }
        // GET: api/VmCreate
        public bool Get()
        {
            string serviceName = Guid.NewGuid().ToString();
            var    name        = Request.GetQueryNameValuePairs();
            string Size        = name.ElementAt(1).Value;
            string OS          = name.ElementAt(2).Value;
            string usrname     = name.ElementAt(3).Value;
            string email       = name.ElementAt(4).Value;
            string osname      = name.ElementAt(5).Value;

            //QueryString["OS"];
            //var pwd = Request.QueryString["Size"];
            QuickCreate          model = new QuickCreate();
            ApplicationDbContext db    = new ApplicationDbContext();
            int index = Size.IndexOf(' ');

            model.Machine_Size      = Size.Substring(0, index);
            model.ApplicationUserID = usrname;
            model.OSLabel           = OS;
            model.RecepientEmail    = email;
            vmname            = "IjpieVm";
            model.Name        = vmname;
            model.OS          = osname;
            model.ServiceName = serviceName;
            var status = GenerateVMConfig(model);

            db.QuickCreates.Add(model);
            try
            {
                db.SaveChanges();
            }
            catch (Exception e)
            {
                string Message = e.Message;
                return(false);
            }



            WebAccess webAccess = new WebAccess();

            webAccess.EndPoint          = serviceName + ".cloudapp.net";
            webAccess.UserName          = "******";
            webAccess.Password          = pwd;
            webAccess.UserMail          = model.RecepientEmail;
            webAccess.ApplicationUserID = usrname;
            webAccess.AccessToken       = Guid.NewGuid().ToString();
            db.WebAccessess.Add(webAccess);
            try
            {
                db.SaveChanges();
            }
            catch (Exception e)
            {
                string Message = e.Message;
                return(false);
            }

            //string link = "http://ijpieen.cloudapp.net/webaccess?accessToken=" + webAccess.AccessToken;
            string link = "http://ijpie.azurewebsites.net:54642/webaccess?accessToken=" + webAccess.AccessToken;
            Mailer mail = new Mailer("*****@*****.**", "ijpie");

            mail.Compose(link, model.RecepientEmail);
            mail.SendMail();
            return(true);
        }
        public Pipeline QuickCreate(QuickCreate data)
        {
            var newPipeline = new PipelineService().CreateNew(data.ContactName, data.OrganisationName, data.ContactEmail, "", data.Name, data.Message, 0, data.Value, data.Probability, data.StatusId);

            return(GetById(newPipeline.Id));
        }
Exemple #6
0
 /// <summary>
 /// Sets the MultiSelectOptionSet field value.
 /// </summary>
 /// <param name="quickCreate">The QuickCreate.</param>
 /// <param name="driver">The Selenium WebDriver.</param>
 /// <param name="option">The multiselectoptionset.</param>
 /// <param name="removeExistingValues">Controls whether currently selected values should be removed first.</param>
 public static void SetMultiSelectOptionSetValue(this QuickCreate quickCreate, IWebDriver driver, MultiValueOptionSet option, bool removeExistingValues = false)
 {
     SetMultiSelectOptionSetValue(driver, option, FormContextType.QuickCreate, removeExistingValues);
 }