Ejemplo n.º 1
0
        private void AddPoolSpecToAnalysis(NameValueCollection formData, AnalysisSpecification spec)
        {
            if (string.IsNullOrEmpty(formData["poolId"]) && (string.IsNullOrEmpty(formData["targetDedicated"]) || string.IsNullOrEmpty(formData["virtualMachineSize"])))
            {
                throw new Exception("An existing PoolId or targetDedicated and virtualMachineSize must be specified");
            }

            if (!string.IsNullOrEmpty(formData["poolId"]))
            {
                spec.PoolId = formData["poolId"];
            }
            else
            {
                spec.TargetDedicated    = int.Parse(formData["targetDedicated"]);
                spec.VirtualMachineSize = formData["virtualMachineSize"];
                spec.PoolDisplayName    = formData["poolName"];
            }
        }
Ejemplo n.º 2
0
        private AnalysisSpecification CreateAnalysisModel(NameValueCollection formData)
        {
            // note: only to see what is in here, can be removed
            foreach (var key in formData.AllKeys)
            {
                foreach (var val in formData.GetValues(key))
                {
                    Trace.WriteLine(string.Format("{0}: {1}", key, val));
                }
            }

            var spec = new AnalysisSpecification
            {
                Name               = formData["analysisName"],
                DatabaseName       = formData["databaseName"],
                Executable         = formData["executable"],
                ExecutableArgs     = formData["executableArgs"],
                AnalysisInputFiles = new List <AnalysisInputFile>(),
                SplitSequenceFile  = ToBoolean(formData["splitSequenceFile"]),
                SequencesPerQuery  = ToInt(formData["seqencesPerQuery"], 1),
            };

            AddPoolSpecToAnalysis(formData, spec);

            if (formData["analysisSequenceText"] != null && !string.IsNullOrEmpty(formData["analysisSequenceText"].Trim()))
            {
                var bytes = Encoding.UTF8.GetBytes(formData["analysisSequenceText"]);

                spec.AnalysisInputFiles = new List <AnalysisInputFile>()
                {
                    new AnalysisInputFile
                    {
                        Filename = "analysissequence.txt",
                        Content  = new MemoryStream(bytes),
                        Length   = bytes.Length,
                    }
                };
            }

            return(spec);
        }