protected void buttonAddDp_OnClick(object sender, EventArgs e) { RequiresAuthorization(AuthorizationStrings.UpdateAdmin); var distributionPoint = new DistributionPointEntity { DisplayName = txtDisplayName.Text, Server = txtServer.Text, Protocol = ddlProtocol.Text, ShareName = txtShareName.Text, Domain = txtDomain.Text, RwUsername = txtRwUsername.Text, RwPassword = txtRwPassword.Text, RoUsername = txtRoUsername.Text, RoPassword = txtRoPassword.Text, IsPrimary = Convert.ToInt16(chkPrimary.Checked), PhysicalPath = txtPhysicalPath.Text, QueueSize = Convert.ToInt32(qSize.Text), Location = ddlPrimaryType.Text }; var result = Call.DistributionPointApi.Post(distributionPoint); if (result.Success) { EndUserMessage = "Successfully Created Distribution Point"; Response.Redirect("~/views/admin/dp/edit.aspx?level=2&dpid=" + result.Id); } else { EndUserMessage = result.ErrorMessage; } }
public ActionResultDTO Post(DistributionPointEntity distributionPoint) { var result = _distributionPointServices.AddDistributionPoint(distributionPoint); if (result == null) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound)); } return(result); }
public ActionResultDTO Put(int id, DistributionPointEntity distributionPoint) { distributionPoint.Id = id; var result = _distributionPointServices.UpdateDistributionPoint(distributionPoint); if (result == null) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound)); } return(result); }
public ActionResultDTO Put(int id, DistributionPointEntity tObject) { Request.Method = Method.PUT; Request.AddJsonBody(tObject); Request.Resource = string.Format("api/{0}/Put/{1}", Resource, id); var response = _apiRequest.Execute <ActionResultDTO>(Request); if (response.Id == 0) { response.Success = false; } return(response); }
public ActionResultDTO UpdateDistributionPoint(DistributionPointEntity distributionPoint) { var actionResult = new ActionResultDTO(); var dp = GetDistributionPoint(distributionPoint.Id); if (dp == null) { return new ActionResultDTO { ErrorMessage = "Distribution Point Not Found", Id = 0 } } ; if (string.IsNullOrEmpty(distributionPoint.RwPassword)) { distributionPoint.RwPassword = dp.RwPassword; } else { distributionPoint.RwPassword = new EncryptionServices().EncryptText(distributionPoint.RwPassword); } if (string.IsNullOrEmpty(distributionPoint.RoPassword)) { distributionPoint.RoPassword = dp.RoPassword; } else { distributionPoint.RoPassword = new EncryptionServices().EncryptText(distributionPoint.RoPassword); } var validationResult = ValidateDistributionPoint(distributionPoint, false); if (validationResult.Success) { _uow.DistributionPointRepository.Update(distributionPoint, distributionPoint.Id); _uow.Save(); actionResult.Success = true; actionResult.Id = distributionPoint.Id; } else { actionResult.ErrorMessage = validationResult.ErrorMessage; } return(actionResult); }
public ActionResultDTO AddDistributionPoint(DistributionPointEntity distributionPoint) { distributionPoint.RoPassword = new EncryptionServices().EncryptText(distributionPoint.RoPassword); distributionPoint.RwPassword = new EncryptionServices().EncryptText(distributionPoint.RwPassword); var validationResult = ValidateDistributionPoint(distributionPoint, true); var actionResult = new ActionResultDTO(); if (validationResult.Success) { _uow.DistributionPointRepository.Insert(distributionPoint); _uow.Save(); actionResult.Success = true; actionResult.Id = distributionPoint.Id; } else { actionResult.ErrorMessage = validationResult.ErrorMessage; } return(actionResult); }
protected void btnSubmit_OnClick(object sender, EventArgs e) { string unixDist = null; if (ValidateForm()) { var adminUser = Call.CloneDeployUserApi.GetByName("clonedeploy"); adminUser.Salt = Utility.CreateSalt(64); adminUser.Password = Utility.CreatePasswordHash(txtUserPwd.Text, adminUser.Salt); adminUser.Token = Utility.GenerateKey(); Call.CloneDeployUserApi.Put(adminUser.Id, adminUser); string tftpPath = null; if (Environment.OSVersion.ToString().Contains("Unix")) { string dist = null; var distInfo = new ProcessStartInfo { UseShellExecute = false, FileName = "uname", RedirectStandardOutput = true, RedirectStandardError = true }; using (var process = Process.Start(distInfo)) if (process != null) { dist = process.StandardOutput.ReadToEnd(); } unixDist = dist != null && dist.ToLower().Contains("bsd") ? "bsd" : "linux"; tftpPath = unixDist == "bsd" ? "/usr/pbi/clonedeploy-amd64/tftpboot/" : "/tftpboot/"; } else { tftpPath = Call.FilesystemApi.GetServerPaths("defaultTftp", ""); } var physicalPath = ""; if (Environment.OSVersion.ToString().Contains("Unix")) { physicalPath = unixDist == "bsd" ? "/usr/pbi/clonedeploy-amd64/cd_dp" : "/cd_dp"; } else { physicalPath = Call.FilesystemApi.GetServerPaths("defaultDp", ""); } var listSettings = new List <SettingEntity> { new SettingEntity { Name = "Server IP", Value = txtServerIP.Text, Id = Call.SettingApi.GetSetting("Server IP").Id }, new SettingEntity { Name = "Tftp Path", Value = tftpPath, Id = Call.SettingApi.GetSetting("Tftp Path").Id }, new SettingEntity { Name = "Tftp Server IP", Value = txtServerIP.Text, Id = Call.SettingApi.GetSetting("Tftp Server IP").Id } }; if (unixDist == "bsd") { listSettings.Add(new SettingEntity { Name = "Sender Args", Value = "--interface " + txtServerIP.Text, Id = Call.SettingApi.GetSetting("Sender Args").Id }); } Call.SettingApi.UpdateSettings(listSettings); var distributionPoint = new DistributionPointEntity(); distributionPoint.DisplayName = "Local_Default"; distributionPoint.Server = "[server-ip]"; distributionPoint.Protocol = "SMB"; distributionPoint.ShareName = "cd_share"; distributionPoint.Domain = "Workgroup"; distributionPoint.RwUsername = "******"; distributionPoint.RwPassword = txtReadWrite.Text; distributionPoint.RoUsername = "******"; distributionPoint.RoPassword = txtReadOnly.Text; distributionPoint.IsPrimary = 1; distributionPoint.QueueSize = 3; distributionPoint.PhysicalPath = physicalPath; distributionPoint.Location = "Local"; Call.DistributionPointApi.Post(distributionPoint); var defaultBootMenuOptions = new BootMenuGenOptionsDTO(); defaultBootMenuOptions.Kernel = SettingStrings.DefaultKernel32; defaultBootMenuOptions.BootImage = "initrd.xz"; defaultBootMenuOptions.Type = "standard"; Call.WorkflowApi.CreateDefaultBootMenu(defaultBootMenuOptions); var cdVersion = Call.CdVersionApi.Get(1); cdVersion.FirstRunCompleted = 1; if (Call.CdVersionApi.Put(cdVersion.Id, cdVersion).Success) { EndUserMessage = "Setup Complete"; Response.Redirect("~/views/dashboard/dash.aspx?fromlogin=true"); } } }
private ValidationResultDTO ValidateDistributionPoint(DistributionPointEntity distributionPoint, bool isNewDistributionPoint) { var validationResult = new ValidationResultDTO { Success = true }; if (Convert.ToBoolean(distributionPoint.IsPrimary)) { if (!distributionPoint.PhysicalPath.Trim().EndsWith(Path.DirectorySeparatorChar.ToString())) { distributionPoint.PhysicalPath += Path.DirectorySeparatorChar; } } if (string.IsNullOrEmpty(distributionPoint.DisplayName) || distributionPoint.DisplayName.Contains(" ")) { validationResult.Success = false; validationResult.ErrorMessage = "Distribution Point Name Is Not Valid"; return(validationResult); } if (isNewDistributionPoint) { var primaryDp = GetPrimaryDistributionPoint(); if (primaryDp != null && Convert.ToBoolean(distributionPoint.IsPrimary)) { validationResult.Success = false; validationResult.ErrorMessage = "There Can Only Be One Primary Distribution Point"; return(validationResult); } if (_uow.DistributionPointRepository.Exists(h => h.DisplayName == distributionPoint.DisplayName)) { validationResult.Success = false; validationResult.ErrorMessage = "This Distribution Point Already Exists"; return(validationResult); } } else { var originalDistributionPoint = _uow.DistributionPointRepository.GetById(distributionPoint.Id); var primaryDp = GetPrimaryDistributionPoint(); if (primaryDp != null) { if ((primaryDp.Id != distributionPoint.Id) && distributionPoint.IsPrimary == 1) { validationResult.Success = false; validationResult.ErrorMessage = "There Can Only Be One Primary Distribution Point"; return(validationResult); } } if (originalDistributionPoint.DisplayName != distributionPoint.DisplayName) { if (_uow.DistributionPointRepository.Exists(h => h.DisplayName == distributionPoint.DisplayName)) { validationResult.Success = false; validationResult.ErrorMessage = "This Distribution Point Already Exists"; return(validationResult); } } } return(validationResult); }