/// <summary> /// 登录 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnOk_Click(object sender, EventArgs e) { try { if (cmbSystem.Text == "") { MessageDialog.ShowPromptMessage("请选择【系统平台】"); return; } if (FindWindow(null, cmbSystem.Text + "信息化系统") != IntPtr.Zero) { MessageDialog.ShowPromptMessage("您已经运行了一个【" + cmbSystem.Text + "信息化】程序,无法运行多个"); return; } if (txtUserCode.Text == "" || txtPwd.Text == "") { MessageDialog.ShowPromptMessage("请填写完整用户信息!"); return; } GlobalParameter.Init(cmbSystem.Text); DBOperateERP.AccessDB.InitDBOperate(); GlobalObject.DatabaseServer.IsConnection(); string loginNotice = UniversalFunction.GetSwitchKey()[13]; string workID = UniversalFunction.GetWorkID(txtUserCode.Text); if (AuthenticationManager.IdentifyAuthority(workID, txtPwd.Text)) { LoggingFlag = true; //if ((loginNotice != null && loginNotice.Length > 0) // && loginNotice != GlobalParameter.LoginNotice) //{ // 登陆界面温馨提示 frm = new 登陆界面温馨提示(loginNotice); // frm.ShowDialog(); //} IAuthentication authentication = AuthenticationManager.Authentication; List <string> listRoles = new List <string>(); string[] roleCodes = new string[authentication.Roles.Count]; for (int i = 0; i < authentication.Roles.Count; i++) { listRoles.Add(authentication.Roles[i].角色名称); roleCodes[i] = authentication.Roles[i].角色编码; } View_HR_Personnel personnelInfo = UniversalFunction.GetPersonnelInfo(workID); if (personnelInfo == null || personnelInfo.工号 == null) { throw new Exception("【工号】:" + workID + " 不存在,请咨询人力资源"); } else if (!personnelInfo.是否在职) { throw new Exception("【工号】:" + workID + " 已【离职】,请咨询人力资源"); } BasicInfo.LoginID = personnelInfo.工号; BasicInfo.LoginName = personnelInfo.姓名; BasicInfo.DeptCode = personnelInfo.部门编码; BasicInfo.DeptName = personnelInfo.部门名称; BasicInfo.BaseSwitchInfo = UniversalFunction.GetSwitchKey(); GlobalParameter.UserCode = txtUserCode.Text; GlobalParameter.LoginNotice = loginNotice; GlobalParameter.Save(); BasicInfo.ListRoles = listRoles; BasicInfo.RoleCodes = roleCodes; if (BasicInfo.ListRoles.Contains("物流公司") && BasicInfo.ListRoles.Contains("物流公司_库管理员") && BasicInfo.ListRoles.Count() == 2 && cmbSystem.SelectedIndex == 0) { throw new Exception("物流公司,无法登陆【湖南容大】信息化系统"); } this.Close(); } } catch (Exception err) { MessageDialog.ShowErrorMessage(err.Message); return; } }
public bool RefreshSpan(PhysicalBridge bridge) { bool success = true; Document doc = bridge.CommandData.Application.ActiveUIDocument.Document; using (Transaction transaction = new Transaction(doc, "Initializing individual")) { transaction.Start(); var failureOptions = transaction.GetFailureHandlingOptions(); failureOptions.SetFailuresPreprocessor(new DuplicateMarkSwallower()); transaction.SetFailureHandlingOptions(failureOptions); string[] parameters = Enum.GetNames(typeof(Symbols)); for (int p = 0; p < parameters.Count(); p++) { GlobalParameter globalParameter = doc.GetElement(GlobalParametersManager.FindByName(doc, parameters[p])) as GlobalParameter; if (globalParameter != null) { globalParameter.SetValue(new DoubleParameterValue(Converters.FromMeters(Parameters[p]))); } } double volume = 0.0; try { volume = Converters.FromCubicMeters(bridge.Superstructure.GetMaterialVolume(bridge.Superstructure.GetMaterialIds(false).First())); } catch { success = false; }; if (success) { FilteredElementCollector collector = new FilteredElementCollector(doc); List <Element> levels = collector.OfClass(typeof(Level)).ToElements().ToList(); if (levels.Count() > 0) { double O2 = Converters.ToMeters(bridge.Superstructure.ParametersMap.get_Item("O2").AsDouble()); double O3 = Converters.ToMeters(bridge.Superstructure.ParametersMap.get_Item("O3").AsDouble()); double O4 = Converters.ToMeters(bridge.Superstructure.ParametersMap.get_Item("O4").AsDouble()); double S1 = bridge.Superstructure.ParametersMap.get_Item("S1").AsDouble(); double S2 = bridge.Superstructure.ParametersMap.get_Item("S2").AsDouble(); double S3 = bridge.Superstructure.ParametersMap.get_Item("S3").AsDouble(); double S4 = bridge.Superstructure.ParametersMap.get_Item("S4").AsDouble(); double bearingHeight = 0.169; for (int i = levels.Count() - 1; i >= 0; i--) { if ((levels[i].Name.Contains("Wierzch ławy podłożyskowej") == false) && (levels[i].Name.Contains("Wierzch trzonów") == false)) { levels.RemoveAt(i); } } if (levels.Count() > 0) { double zRef = O3 < 0 ? -1.0 * O3 * S3 / 100 : -1.0 * O3 * S2 / 100; double zLeft; if (Parameters[(int)Symbols.OL] > O2) { zLeft = zRef + (O3 - Parameters[(int)Symbols.OL]) * S2 / 100; } else { zLeft = zRef - (O2 - O3) * S2 / 100 + (O2 - Parameters[(int)Symbols.OL]) * S1 / 100; } double zRight; if (Parameters[(int)Symbols.OP] < O4) { zRight = zRef + (O3 - Parameters[(int)Symbols.OP]) * S3 / 100; } else { zRight = zRef - (O4 - O3) * S3 / 100 + (O4 - Parameters[(int)Symbols.OP]) * S4 / 100; } double nominalBearingSpace = Converters.ToMeters(((doc.GetElement(GlobalParametersManager.FindByName(doc, "Nominalna wysokość przestrzeni łożyskowania")) as GlobalParameter).GetValue() as DoubleParameterValue).Value); double roadLayersThickness = Converters.ToMeters(((doc.GetElement(GlobalParametersManager.FindByName(doc, "Nominalna grubość nawierzchni")) as GlobalParameter).GetValue() as DoubleParameterValue).Value); double z = Math.Round((Math.Min(zLeft - Parameters[(int)Symbols.HL], zRight - Parameters[(int)Symbols.HP]) - nominalBearingSpace - roadLayersThickness) / 0.05) * 0.05; foreach (Element level in levels) { (level as Level).Elevation = Converters.FromMeters(z); } GlobalParameter leftBearingAshlar = doc.GetElement(GlobalParametersManager.FindByName(doc, "Wysokość ciosu. Dźwigar lewy")) as GlobalParameter; GlobalParameter rightBearingAshlar = doc.GetElement(GlobalParametersManager.FindByName(doc, "Wysokość ciosu. Dźwigar prawy")) as GlobalParameter; leftBearingAshlar.SetValue(new DoubleParameterValue(Converters.FromMeters(zLeft - Parameters[(int)Symbols.HL] - roadLayersThickness - z - bearingHeight))); rightBearingAshlar.SetValue(new DoubleParameterValue(Converters.FromMeters(zRight - Parameters[(int)Symbols.HP] - roadLayersThickness - z - bearingHeight))); } } } transaction.Commit(); } return(success); }