internal async Task <Result> Add(FdAppliance appliance) { try { var validateResult = Validate(appliance, false, false); if (!validateResult.Success) { return(validateResult); } using (var client = new FdClient(appliance)) { var result = await client.TestCredential(); if (!result.Success) { return(result); } var addResult = await FdApplianceConnector.Instance.Add(appliance); if (addResult.Success) { await this.LoadAll(); } return(addResult); } } catch (Exception ex) { LogHelper.Error(ex, "Add"); return(Result.Failed(100, "Add", ex)); } }
public async Task <Result> Update(FdAppliance appliance, bool isUpdateCredential) { try { var validateResult = Validate(appliance, true, isUpdateCredential); if (!validateResult.Success) { return(validateResult); } if (isUpdateCredential)//修改了密码 { using (var client = new FdClient(appliance)) { var result = await client.TestCredential(); if (!result.Success) { return(result); } } } else { var oldFdObj = await FdApplianceConnector.Instance.FindByHost(appliance.HostIP); if (oldFdObj.Data == null) { return(Result.Failed(104, $"FusionDirector {appliance.HostIP} can not find.")); } var oldFd = GetModelFromMpObject(oldFdObj.Data); if (oldFd.Port != appliance.Port) //修改了端口 { appliance.LoginPd = oldFd.LoginPd; using (var client = new FdClient(appliance)) { var result = await client.TestCredential(); if (!result.Success) { return(result); } } } } var updateResult = await FdApplianceConnector.Instance.Update(appliance, isUpdateCredential); if (updateResult.Success) { await this.LoadAll(); } return(updateResult); } catch (Exception ex) { LogHelper.Error(ex, "Update"); return(Result.Failed(100, "Update", ex)); } }
internal async Task <Result> Test(FdAppliance appliance, bool isUpdate, bool isUpdateCredential) { try { var validateResult = Validate(appliance, isUpdate, isUpdateCredential); if (!validateResult.Success) { return(validateResult); } var client = new FdClient(appliance); return(await client.TestCredential()); } catch (Exception ex) { LogHelper.Error(ex, "Test"); return(Result.Failed(100, "Test", ex)); } }