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")); }
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)); }