コード例 #1
0
        public ActionResult DeployCustomer(DeployCustomerModel model)
        {
            if (model.DeployOptions == DeployOptions.Both || model.DeployOptions == DeployOptions.MobileApp)
            {
                var job = new AddDeploymentJobModel {
                    Android = true, CallBox = false, CompanyId = model.CompanyKey, CreateType = (int)DeploymentJobType.DeployClient, Database = false, IosAdhoc = true, IosAppStore = true, BlackBerry = false, RevisionId = model.RevisionId, ServerUrlOptions = model.ServerUrlOptions
                };

                var environments = new MongoRepository <Environment>();
                job.ServerId = environments.Single(e => e.Name == "MobileBuildServer").Id;
                AddDeploymentJob(job);
            }

            if (model.DeployOptions == DeployOptions.Both || model.DeployOptions == DeployOptions.Server)
            {
                var rev = new MongoRepository <Revision>().GetById(model.RevisionId);

                var  tagComponents           = rev.Tag.Split('.');
                bool useNewDeploymentService = (tagComponents.Length == 3) && (tagComponents[1] == "5") && (int.Parse(tagComponents[2]) >= 25);

                var job = new AddDeploymentJobModel {
                    Android = false, CallBox = false, CompanyId = model.CompanyKey, CreateType = (int)DeploymentJobType.DeployServer, Database = true, IosAdhoc = false, IosAppStore = false, BlackBerry = false, RevisionId = model.RevisionId, ServerUrlOptions = model.ServerUrlOptions
                };
                var environments = new MongoRepository <Environment>();
                job.ServerId = model.ServerUrlOptions == ServerUrlOptions.Production ? environments.Single(e => e.Name == "ProductionV2").Id : environments.Single(e => e.Name == "Staging").Id;
                AddDeploymentJob(job);
            }

            return(RedirectToAction("Index"));
        }
コード例 #2
0
        public ActionResult DeployCustomer(string id)
        {
            var company = new MongoRepository <Company>().GetById(id);

            if (company == null)
            {
                return(HttpNotFound());
            }

            var model = new DeployCustomerModel {
                Company = company, CompanyKey = company.CompanyKey
            };

            var revisions = new MongoRepository <Revision>();

            model.Revision =
                revisions.Where(r => r.CustomerVisible).OrderBy(r => r.Tag).Select(r => new SelectListItem
            {
                Value = r.Id,
                Text  = r.Tag
            });

            var environments = new MongoRepository <Environment>();

            model.Environment = environments.ToArray().Where(e => e.Role == EnvironmentRole.BuildMobile).OrderBy(e => e.Name).Select(e => new SelectListItem
            {
                Value = e.Id,
                Text  = e.Name
            });

            return(View(model));
        }