private void DelOrg_Click(object sender, RoutedEventArgs e) { ActivityOrganization org = xDataGrid.SelectedItem as ActivityOrganization; if (org == null) { MessageBox.Show("请先选中要删除的单位信息,然后再次点击删除按钮", "操作提示"); return; } else if (Equipments.Length > 0) { MessageBox.Show(string.Format("当前活动下,{0}已经包含设备,请先删除设备后再执行删除该单位的操作。", org.Name), "操作提示"); return; } try { DataOperator.DeleteOrgByGuid(org.Guid); Organization[] orgs = xDataGrid.ItemsSource as Organization[]; xDataGrid.ItemsSource = null; xDataGrid.ItemsSource = orgs.Where(p => p.Guid != org.Guid).ToArray(); MessageBox.Show("删除成功"); } catch (Exception ex) { MessageBox.Show(ex.GetExceptionMessage(), "删除失败"); } }
private void ImportFromRiasEvent(Organization arg1, List <Equipment> arg2) { ActivityOrganization importorg = new ActivityOrganization(); importorg.CopyFrom(arg1); importorg.ActivityGuid = SystemLoginService.CurrentActivity.Guid; if (arg2 != null && arg2.Count > 0) { List <ActivityEquipment> actequs = new List <ActivityEquipment>(); foreach (Equipment item in arg2) { ActivityEquipment equ = new ActivityEquipment(); equ.CopyFrom(item); equ.ActivityGuid = SystemLoginService.CurrentActivity.Guid; equ.PlaceGuid = SystemLoginService.CurrentActivityPlace.Guid; equ.OrgInfo.Guid = importorg.Guid; actequs.Add(equ); } this.ImportActivityEquipmentEvent(importorg, actequs); } else { MessageBox.Show("请选择要导入的设备"); } }
private static void ImportActivityEquipment(DataTable[] tables, ActivityOrganization activityorg) { StringBuilder error = new StringBuilder(); bool validresult = ExcelImportHelper.ValidateEquipmentTables(tables, out error); //验证设备信息 if (validresult) { List <ActivityEquipment> lstequ = LoadActivityEquipments(tables, SystemLoginService.CurrentActivity.Guid, SystemLoginService.CurrentActivityPlace.Guid, activityorg.Guid); if (lstequ == null || lstequ.Count == 0) { MessageBox.Show("请输入要导入的设备", "提示", MessageBoxButton.OK); return; } else { ImportEquipmentDelegate(activityorg, lstequ); } } else { ErrorDialog errordialog = new ErrorDialog(error.ToString()); errordialog.ShowDialog(); return; } }
/// <summary> /// 添加单位 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnAdd_Click(object sender, RoutedEventArgs e) { ActivityOrganization org = CreateOrganization(); this.orgdatagrid.SelectedItem = org; this.ORGItemSource.Add(org); bordermask.Visibility = Visibility.Collapsed; this.IsPropertyChanged = true; }
private void InitORGDataContent(ActivityOrganization org) { if (org != null) { ORGDataContent = AT_BC.Data.Helpers.DataContractSerializeHelper.Clone <ActivityOrganization>(org); ORGDataContent.PropertyChanged -= ORGDataContent_PropertyChanged; ORGDataContent.PropertyChanged += ORGDataContent_PropertyChanged; } }
public ORGInfoDialog(ActivityOrganization org, ActivityEquipment equ) { InitializeComponent(); orgInfo.ORGDataContent = org; orgInfo.IsReadOnly = true; EquipmentDetail.DataContext = equ; EquipmentDetail.IsReadOnly = true; }
public OrgInputDialog() { InitializeComponent(); if (this.orgdatacontent == null) { this.orgdatacontent = CreateOrganization(); } InitSecurityClass(); _currentOrg = AT_BC.Data.Helpers.DataContractSerializeHelper.Clone <ActivityOrganization>(orgdatacontent); this.DataContext = this; }
public static void Import(Action <ActivityOrganization, List <ActivityEquipment> > p_importEquips) { ImportEquipmentDelegate = p_importEquips; OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = "Excel文件(*.xls)|*.xls"; dialog.DefaultExt = "xls"; dialog.CheckFileExists = true; if (dialog.ShowDialog() == true) { DataTable[] tables = ExcelImportHelper.LoadDataFromExcel(dialog.FileName); if (tables != null && tables.Length > 0) { //单位信息 ActivityOrganization activityorg = null; DataTable orgtable = tables.FirstOrDefault(r => r.TableName == "单位信息"); if (orgtable != null && ExcelImportHelper.ValidateORG(orgtable)) { activityorg = LoadActivityORGFromTable(orgtable, SystemLoginService.CurrentActivity.Guid); } if (activityorg != null) { #region 验证单位名称 OrgQueryCondition condition = new OrgQueryCondition(); condition.ActivityGuid = SystemLoginService.CurrentActivity.Guid; condition.Name = activityorg.Name; ActivityOrganization[] orgs = DataOperator.GetActivityOrgSources(condition); ActivityOrganization sameorg = orgs.FirstOrDefault(r => r.Name == activityorg.Name); #endregion if (sameorg != null) { MessageBoxResult result = MessageBox.Show(string.Format("单位'{0}'已经存在,是否将Excel中的设备导入到现有的单位中?", activityorg.Name), "提示", MessageBoxButton.YesNo); if (result == MessageBoxResult.Yes) { ImportActivityEquipment(tables, sameorg); } else { MessageBox.Show("请修改单位名称"); } } else { ImportActivityEquipment(tables, activityorg); } } } } }
/// <summary> /// 删除 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnDelete_Click(object sender, RoutedEventArgs e) { List <ActivityOrganization> orgs = ORGItemSource.Where(r => r.IsChecked == true).ToList(); if (orgs.Count == 0) { MessageBox.Show("请先勾线要删除的单位"); return; } else { MessageBoxResult msresult = MessageBox.Show("确认要删除选择的设备?", "提示", MessageBoxButton.YesNo); if (msresult == MessageBoxResult.Yes) { List <string> guids = orgs.Select(r => r.Guid).ToList(); BeOperationInvoker.Invoke <I_CO_IA_FreqStation>(org => { List <string> resultguids = org.CountActivityEqusForOrg(guids, RiasPortal.ModuleContainer.Activity.Guid); StringBuilder errormsg = new StringBuilder(); if (resultguids != null && resultguids.Count > 0) { foreach (string orgguid in guids) { ActivityOrganization orginfo = orgs.FirstOrDefault(r => r.Guid == orgguid); errormsg.AppendFormat("{0},", orginfo.Name); } string message = errormsg.ToString().TrimEnd(','); MessageBox.Show(string.Format("当前活动下,{0}已经包含设备", message), "提示"); } else { try { org.DeleteActivityOrg(guids, RiasPortal.ModuleContainer.Activity.Guid); GetORGInfos(); chkAll.IsChecked = false; IsORGItemSourceChanged = true; MessageBox.Show("删除成功"); } catch (Exception ex) { MessageBox.Show(ex.GetExceptionMessage(), "删除失败"); } } }); } } }
private void AddEquip_Click(object sender, RoutedEventArgs e) { DataGrid equipDataGrid = (sender as Button).Tag as DataGrid; //equipDataGrid.ItemsSource = null; //操作xTestDataGrid就行。 ActivityOrganization org = xDataGrid.SelectedItem as ActivityOrganization; ActivityEquipment newequ = new ActivityEquipment(); newequ.OrgInfo.Guid = org.Guid; newequ.OrgInfo.Name = org.Name; newequ.Key = System.Guid.NewGuid().ToString(); newequ.EQUCount = 1; ShowEquipDetail(newequ); }
public OrgEqu(ActivityOrganization orginfo, ActivityEquipment equinfo) { InitializeComponent(); if (orginfo == null || equinfo == null) { return; } Orginfo = orginfo; Equinfo = equinfo; txtOrgname.Text = orginfo.Name; txtEquname.Text = equinfo.Name; this.ToolTip = orginfo.Name; ElementId = MapGroupTypes.OrgEqu_.ToString() + orginfo.Guid; }
public static ActivityOrganization LoadActivityORGFromTable(DataTable dt, string activityguid) { ActivityOrganization org = null; if (dt.Rows != null && dt.Rows.Count > 0) { org = new ActivityOrganization(); org.ActivityGuid = activityguid; org.Guid = System.Guid.NewGuid().ToString(); if (dt.Columns[1] != null) { org.Name = dt.Columns[1].ColumnName; } org.ShortName = dt.Rows[0][1].ToString(); org.Address = dt.Rows[2][1].ToString(); org.Contact = dt.Rows[3][1].ToString(); org.Phone = dt.Rows[4][1].ToString(); string secclass = dt.Rows[1][1].ToString(); SecurityClass[] securityclasses = CO_IA.Client.Utility.GetSecurityClasses(); if (secclass != null && securityclasses.Length > 0) { SecurityClass securityclass = securityclasses.FirstOrDefault(r => r.Name == secclass); if (securityclass == null) { MessageBoxResult msgres = MessageBox.Show(string.Format("系统的保障类别中,不存在名称为‘{0}’的保障类别,是否将保障类别改为默认保障类别'{1}'", secclass, securityclasses[0].Name), "提示", MessageBoxButton.YesNo); if (msgres == MessageBoxResult.Yes) { org.SecurityClass = securityclasses[0]; } else { MessageBox.Show("请修改保障类别"); return(null); } } else { org.SecurityClass = securityclass; } } else { MessageBox.Show("系统中不存在保障类别"); } } return(org); }
private void itemInfo_Click(object sender, RoutedEventArgs e) { MenuItem item = sender as MenuItem; ContextMenu menu = item.Parent as ContextMenu; var target = menu.PlacementTarget as OrgEqu; if (item != null) { ActivityOrganization orginfo = target.Orginfo; ActivityEquipment equinfo = target.Equinfo; ORGInfoDialog info = new ORGInfoDialog(orginfo, equinfo); info.ShowDialog(); } }
private void ImportActivityEquipmentEvent(ActivityOrganization orginfo, List <ActivityEquipment> lstequ) { try { BeOperationInvoker.Invoke <I_CO_IA_FreqStation>(channel => { channel.ImportActivityEquipment(orginfo, lstequ); ReLoadOrgGridSource(orginfo); MessageBox.Show("导入成功!", "提示", MessageBoxButton.OK); }); } catch (Exception ex) { MessageBox.Show(ex.GetExceptionMessage(), "导入失败"); } }
private ActivityOrganization CreateOrganization() { ActivityOrganization neworg = new ActivityOrganization(); neworg.ActivityGuid = activity.Guid; neworg.Guid = System.Guid.NewGuid().ToString(); neworg.DataSate = DataStateEnum.Added; neworg.Name = defname; if (securityclasses != null && securityclasses.Length > 0) { neworg.SecurityClass = securityclasses[0]; } else { neworg.SecurityClass = new SecurityClass(); } return(neworg); }
/// <summary> /// 保存单位信息 /// </summary> private void SaveORGInfos() { if (this.ORGDataContent != null) { if (ValidORG(this.ORGDataContent)) { PT_BS_Service.Client.Framework.BeOperationInvoker.Invoke <I_CO_IA_FreqStation>(org => { string orgguid = ORGDataContent.Guid; #region 验证单位名称 OrgQueryCondition condition = new OrgQueryCondition(); condition.ActivityGuid = RiasPortal.ModuleContainer.Activity.Guid; condition.Name = ORGDataContent.Name; ActivityOrganization[] orgs = org.GetActivityOrgs(condition); ActivityOrganization sameorg = orgs.FirstOrDefault(r => r.Name == ORGDataContent.Name && r.Guid != ORGDataContent.Guid); #endregion if (sameorg == null) { try { org.SaveActivityOrg(this.ORGDataContent); MessageBox.Show("保存成功"); GetORGInfos(SelectedORG); chkAll.IsChecked = false; IsORGItemSourceChanged = true; IsPropertyChanged = false; } catch (Exception ex) { MessageBox.Show(ex.GetExceptionMessage()); } } else { MessageBox.Show("单位名称已经存在,请重新输入"); this.txtName.Focus(); this.ORGDataContent.Name = SelectedORG.Name; } }); } } }
/// <summary> /// XLS导入 /// </summary> /// <param name="orginfo"></param> /// <param name="lstequ"></param> private void ImportActivityEquipmentEvent(ActivityOrganization orginfo, List <ActivityEquipment> lstequ) { List <ActivityEquipment> lst = new List <ActivityEquipment>(); BeOperationInvoker.Invoke <I_CO_IA_FreqStation>(channel => { foreach (ActivityEquipment equ in lstequ) { int count = channel.CountEquName(equ); if (count > 0) { lst.Add(equ); } } if (lst.Count == 0) { try { channel.ImportActivityEquipment(orginfo, lstequ); GetActivityOrgs(orgquerycondition); ActivityOrganization selectorg = this.ActivityOrgSource.FirstOrDefault(r => r.Guid == orginfo.Guid); this.orgdatagrid.SelectedItem = selectorg; MessageBox.Show("导入成功!", "提示", MessageBoxButton.OK); } catch (Exception ex) { MessageBox.Show(ex.GetExceptionMessage(), "导入失败"); } } else { StringBuilder errormsg = new StringBuilder(); errormsg.AppendLine("当前单位名称下,存在相同的设备名称+编号:"); foreach (Equipment item in lst) { errormsg.AppendLine(string.Format("设备名称:{0},设备编号:{1}", item.Name, item.SeriesNumber)); } ErrorDialog errordialog = new ErrorDialog(errormsg.ToString()); errordialog.ShowDialog(); } }); }
private bool ValidORG(ActivityOrganization orginfo) { bool issuccess = true; StringBuilder strmsg = new StringBuilder(); if (string.IsNullOrEmpty(orginfo.Name)) { issuccess = false; strmsg.Append("单位名称不能为空! \r"); } if (string.IsNullOrEmpty(orginfo.ShortName)) { issuccess = false; strmsg.Append("单位简称不能为空! \r"); } if (orginfo.SecurityClass == null) { issuccess = false; strmsg.Append("保障类别不能为空! \r"); } if (string.IsNullOrEmpty(orginfo.Address)) { issuccess = false; strmsg.Append("单位地址不能为空! \r"); } if (string.IsNullOrEmpty(orginfo.Contact)) { issuccess = false; strmsg.Append("联系人不能为空! \r"); } if (string.IsNullOrEmpty(orginfo.Phone)) { issuccess = false; strmsg.Append("联系电话不能为空! \r"); } if (!string.IsNullOrEmpty(strmsg.ToString())) { MessageBox.Show(strmsg.ToString(), "提示", MessageBoxButton.OK); } return(issuccess); }
/// <summary> /// 保存单位信息 /// </summary> private void SaveORGInfos() { if (this.ORGDataContent != null) { if (ValidORG(this.ORGDataContent)) { PT_BS_Service.Client.Framework.BeOperationInvoker.Invoke <I_CO_IA_FreqStation>(org => { string orgguid = ORGDataContent.Guid; #region 验证单位名称 OrgQueryCondition condition = new OrgQueryCondition(); condition.ActivityGuid = SystemLoginService.CurrentActivity.Guid; condition.Name = ORGDataContent.Name; ActivityOrganization[] orgs = org.GetActivityOrgs(condition); ActivityOrganization sameorg = orgs.FirstOrDefault(r => r.Name == ORGDataContent.Name && r.Guid != ORGDataContent.Guid); #endregion if (sameorg == null) { try { org.SaveActivityOrg(this.ORGDataContent); MessageBox.Show("保存成功"); this.Close(); if (AfterSave != null) { AfterSave(this.ORGDataContent); } } catch (Exception ex) { MessageBox.Show(ex.GetExceptionMessage()); } } else { MessageBox.Show("单位名称已经存在,请重新输入"); } }); } } }
private void row_PreviewMouseDown(object sender, MouseButtonEventArgs e) { if (IsPropertyChanged) { MessageBoxResult result = MessageBoxResult.Yes; if (SelectedORG.DataSate == DataStateEnum.Added) { result = MessageBox.Show(string.Format("是否保存添加的单位{0}", SelectedORG.Name), "提示", MessageBoxButton.YesNo); } else { result = MessageBox.Show(string.Format("{0}信息已经改变,是否保存修改", SelectedORG.Name), "提示", MessageBoxButton.YesNo); } if (result == MessageBoxResult.Yes) { SaveORGInfos(); GetORGInfos(SelectedORG); DetailLostFocus(); } else { //新添加的单位 if (SelectedORG.DataSate == DataStateEnum.Added) { ORGItemSource.Remove(SelectedORG); if (ORGItemSource == null || ORGItemSource.Count == 0) { bordermask.Visibility = Visibility.Visible; } } IsPropertyChanged = false; DataGridRow row = sender as DataGridRow; ActivityOrganization neworg = row.Item as ActivityOrganization; orgdatagrid.SelectedItem = neworg; InitORGDataContent(neworg); DetailLostFocus(); } } }
private bool AddNewAccidentToCDS(AccidentStandardDTO accident) { try { context.Database.CommandTimeout = 5000; ServiceCall oldServiceCall = GetAccidentFromCDS(accident.IncidentNo); if (oldServiceCall != null) { try { duplicatedRowsCount++; oldServiceCall.ServiceClassDescription = accident.ClassName; context.SaveChanges(); } catch (Exception ex) { Utility.WriteLog(ex); } return(true); } //Service Call #region Service Call /Activity var newServiceCall = new ServiceCall { OriginalIdent = accident.IncidentNo, ActivityStartDate = accident.CreatedTime, ServiceCallCategoryCode = Truncate(accident.CrashTypeName, 20), ServiceCallCategoryDescription = accident.CrashTypeName, ServiceCallPriorityCode = Truncate(accident.IncidentTypeName, 20), ServiceCallPriorityDescription = accident.IncidentTypeName, SourceName = "CAD", ActivityCategoryCode = "CAD", ActivityCategoryDescription = "Calls For Service", ActivityReasonCode = Truncate(accident.CauseName, 20), ActivityReasonDescription = accident.CauseName, ServiceCallReceivedDate = accident.CreatedTime, ServiceCallSourceCode = "CAD", ServiceCallSourceDescription = "CAD", StatusDescription = accident.StatusName, StatusCode = accident.StatusId, //Pending LanesCount = accident.LanesCount, SlightInjuriesCount = accident.SlightInjuriesCount, MediumInjuriesCount = accident.MediumInjuriesCount, SevereInjuriesCount = accident.SevereInjuriesCount, FatalitiesCount = accident.FatalitiesCount, TotalInjuriesFatalities = accident.TotalInjuriesFatalities, CrashSeverityCode = accident.CrashSeverityCode, CrashSeverityDescription = accident.CrashSeverityName, ActivityDescription = accident.CrashDescription, LightingConditionDescription = accident.LightingName, //ServiceClassCode = Truncate(ServiceCall.ClassName, 20), ServiceClassDescription = accident.ClassName }; context.ServiceCalls.Add(newServiceCall); context.SaveChanges(); var serviceCallDriver = new ServiceCallDriver { SourceName = "CAD", DriverNationalityCode = Truncate(accident.DriverNationality, 20), DriverNationalityDescription = accident.DriverNationality, DriverLicenceSourceCode = Truncate(accident.DriverLicenceSource, 20), DriverLicenceSourceDescription = accident.DriverLicenceSource, DriverLicenceTypeCode = Truncate(accident.DriverLicenceType, 20), DriverLicenceTypeDescription = accident.DriverLicenceType }; context.ServiceCallDrivers.Add(serviceCallDriver); context.SaveChanges(); var activityPeople = new ActivityPersonView { ActivityId = newServiceCall.ActivityId, PersonId = serviceCallDriver.PersonId, SourceName = "CAD", PersonInvolvementCode = "Service Call Driver", PersonInvolvementDescription = "Service Call Driver", }; context.ActivityPersonViews.Add(activityPeople); context.SaveChanges(); var serviceCallVehicle = new ServiceCallVehicle { SourceName = "CAD", VehicleLiabilityCode = Truncate(accident.VehiclesLiability, 20), VehicleLiabilityDescription = accident.VehiclesLiability, VehicleCollisionPointCode = Truncate(accident.VehicleCollisionPoint, 20), VehicleCollisionPointDescription = accident.VehicleCollisionPoint, VehicleCountryCode = Truncate(accident.VehicleCountry, 20), VehicleCountryDescription = accident.VehicleCountry, }; context.ServiceCallVehicles.Add(serviceCallVehicle); context.SaveChanges(); var activityItem = new ActivityItemView { ItemId = serviceCallVehicle.ItemId, ActivityId = newServiceCall.ActivityId, SourceName = "CAD", ItemInvolvementCode = "Service Call Vehicle", ItemInvolvementDescription = "Service Call Vehicle" }; context.ActivityItemViews.Add(activityItem); context.SaveChanges(); #endregion var geoPoint = DbGeometry.FromText( "POINT(" + (accident.Longitude.HasValue ? accident.Longitude.Value : 0) + " " + (accident.Latitude.HasValue ? accident.Latitude.Value : 0) + ")", 4326); var _Location = new LocationView { LocationCategoryCode = new Random().Next().ToString(), LocationCategoryDescription = accident.LocationTypeName, Latitude = accident.Latitude.HasValue ? accident.Latitude.Value : 0, Longitude = accident.Longitude.HasValue ? accident.Longitude.Value : 0, OrgLat = accident.Latitude.HasValue ? accident.Latitude.Value.ToString() : "0", OrgLong = accident.Longitude.HasValue ? accident.Longitude.Value.ToString() : "0", locationIntersectionTypeDescription = accident.IntersectionName, GeoStateCode = Truncate(accident.StateName, 20), GeoStateStateName = accident.StateName, GeoCityCode = Truncate(accident.CityName, 20), GeoCityCityName = accident.CityName, GeoCountyCode = Truncate(accident.AreaName, 20), GeoCountyCountyName = accident.AreaName, GeoPoint = geoPoint, Address1 = accident.Address, LocationName = accident.LocationName, Description = accident.LocationDescription, locationDatumCode = "Service Call", locationDatumDescription = "Service Call Location Datum", SourceName = "CAD", }; context.LocationViews.Add(_Location); context.SaveChanges(); var activityLocation = new ActivityLocationView { LocationId = _Location.LocationId, CreateDateTimeStamp = DateTime.Now, ModifiedDateTimeStamp = DateTime.Now, ActivityId = newServiceCall.ActivityId, ActivityLocationDescription = "Service Call Location", LocationInvolvementCode = "Incident Location", LocationInvolvementDescription = "Incident Location", SourceName = "CAD" }; context.ActivityLocationViews.Add(activityLocation); context.SaveChanges(); var serviceCallInsurance = new ServiceCallInsurance { SourceName = "CAD", Name = accident.InsuranceCompany, InsuranceTypeDescription = accident.InsuranceType }; context.ServiceCallInsurances.Add(serviceCallInsurance); context.SaveChanges(); var activityOrganization = new ActivityOrganization { Organizationid = serviceCallInsurance.OrganizationId, ActivityId = newServiceCall.ActivityId, OrganizationInvolvementDescription = "Service Call Insurance Company", SourceName = "CAD" }; context.ActivityOrganizations.Add(activityOrganization); context.SaveChanges(); if (accident.PoliceStationName != null && accident.PoliceStationName.Trim().Length > 0) { var policeStation = new OrganizationView { SourceName = "CAD", Name = accident.PoliceStationName, }; context.OrganizationViews.Add(policeStation); var policeActivityOrganization = new ActivityOrganization { Organizationid = policeStation.OrganizationId, ActivityId = newServiceCall.ActivityId, OrganizationInvolvementDescription = "Service Call Police Station", SourceName = "CAD" }; context.ActivityOrganizations.Add(policeActivityOrganization); } if (context.SaveChanges() > 0) { insertedRowsCount++; return(true); } return(false); } catch (DbEntityValidationException ex) { Utility.WriteLog(ex); corruptedRowsCount++; return(false); } catch (DbUpdateException ex) { Utility.WriteLog(ex); corruptedRowsCount++; return(false); } catch (EntityCommandCompilationException ex) { Utility.WriteLog(ex); corruptedRowsCount++; return(false); } catch (EntityCommandExecutionException ex) { Utility.WriteLog(ex); corruptedRowsCount++; return(false); } catch (Exception ex) { Utility.WriteLog(ex); corruptedRowsCount++; return(false); } }
public OrgInputDialog(ActivityOrganization p_orgdatacontent) : this() { this.orgdatacontent = p_orgdatacontent; }
private void btnReset_Click(object sender, RoutedEventArgs e) { ORGDataContent = AT_BC.Data.Helpers.DataContractSerializeHelper.Clone <ActivityOrganization>(_currentOrg); this.DataContext = null; this.DataContext = this; }