internal IBreakEnd[] GetSvBreakEnds(string ensemblName, int start, VariantType svType, int?svEnd, bool isInv3, bool isInv5) { if (svEnd == null) { return(null); } var end = svEnd.Value; var breakEnds = new IBreakEnd[2]; var chromosome = ReferenceNameUtilities.GetChromosome(_refNameToChromosome, ensemblName); // ReSharper disable once SwitchStatementMissingSomeCases switch (svType) { case VariantType.deletion: breakEnds[0] = new BreakEnd(chromosome, chromosome, start, end + 1, false, true); breakEnds[1] = new BreakEnd(chromosome, chromosome, end + 1, start, true, false); break; case VariantType.tandem_duplication: case VariantType.duplication: breakEnds[0] = new BreakEnd(chromosome, chromosome, end, start, false, true); breakEnds[1] = new BreakEnd(chromosome, chromosome, start, end, true, false); break; case VariantType.inversion: if (isInv3) { breakEnds[0] = new BreakEnd(chromosome, chromosome, start, end, false, false); breakEnds[1] = new BreakEnd(chromosome, chromosome, end, start, false, false); break; } if (isInv5) { breakEnds[0] = new BreakEnd(chromosome, chromosome, start + 1, end + 1, true, true); breakEnds[1] = new BreakEnd(chromosome, chromosome, end + 1, start + 1, true, true); break; } breakEnds[0] = new BreakEnd(chromosome, chromosome, start, end, false, false); breakEnds[1] = new BreakEnd(chromosome, chromosome, end + 1, start + 1, true, true); break; default: return(null); } return(breakEnds); }
private void Add() { if (Instruction == "Break") { if (!CheckValidHuboEntry(HuboStart)) { return; } if (!CheckValidHuboEntry(HuboEnd)) { return; } BreakTable breakAdd = new BreakTable() { StartDate = BreakStart.ToString(Resource.DateFormat), EndDate = BreakEnd.ToString(Resource.DateFormat), StartLocation = LocationStart, EndLocation = LocationEnd }; MessagingCenter.Send(this, "Break_Added", breakAdd); } else if (Instruction == "Note") { NoteTable note = new NoteTable() { Date = NoteTime.ToString(Resource.DateFormat), Note = NoteDetail }; MessagingCenter.Send(this, "Note_Added", note); } else if (Instruction == "Drive Shift") { if (!CheckValidHuboEntry(HuboStart)) { return; } if (!CheckValidHuboEntry(HuboEnd)) { return; } List <VehicleTable> vehicleKey = new List <VehicleTable>(); vehicleKey = GetVehicles(); DriveTable drive = new DriveTable() { StartDate = DriveStartTime.ToString(Resource.DateFormat), EndDate = DriveEndTime.ToString(Resource.DateFormat), StartHubo = int.Parse(HuboStart), EndHubo = int.Parse(HuboEnd), ActiveVehicle = false, VehicleKey = vehicleKey[SelectedVehicle].Key }; MessagingCenter.Send(this, "Drive_Added", drive); } Navigation.PopModalAsync(); }