private void cmdUpdateSignatures_Click(object sender, EventArgs e)
        {
            var signatures = new List <CosmicSignature>();

            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                var signature = new CosmicSignature
                {
                    Name            = row.Cells["Name"].Value.ToString(),
                    Code            = row.Cells["Code"].Value.ToString(),
                    SolarSystemName = selectedSolarSystemName
                };

                var signatureType = row.Cells["Type"].Value.ToString();

                var type = (SignatureType)Enum.Parse(typeof(SignatureType), signatureType, true);

                signature.Type = type;

                signatures.Add(signature);
            }

            if (UpdateSignatures != null)
            {
                UpdateSignatures(selectedSolarSystemName, signatures);
            }
        }
        private void ejButton2_Click(object sender, System.EventArgs e)
        {
            if (string.IsNullOrEmpty(Clipboard.GetText()))
            {
                return;
            }

            var lines = Clipboard.GetText().Split(new[] { '\n' }, StringSplitOptions.None);

            var signatures = new List <CosmicSignature>();

            const char tab = '\u0009';

            foreach (var line in lines)
            {
                // Log.DebugFormat("[whlTravelHistory.Event_PasteSignatures] line = {0}", line);

                try
                {
                    var coordinates = line.Replace(tab.ToString(), "[---StarinForReplace---]");
                    var coordinate  = coordinates.Split(new[] { @"[---StarinForReplace---]" }, StringSplitOptions.None)[0];
                    var type        = coordinates.Split(new[] { @"[---StarinForReplace---]" }, StringSplitOptions.None)[2];
                    var name        = coordinates.Split(new[] { @"[---StarinForReplace---]" }, StringSplitOptions.None)[1];
                    var label       = coordinates.Split(new[] { @"[---StarinForReplace---]" }, StringSplitOptions.None)[3];
                    var m1          = Regex.Matches(coordinate, @"\d\d\d", RegexOptions.Singleline);

                    foreach (Match m in m1)
                    {
                        //listCosmicSifnatures.Items.Add("[" + coordinate + "] - " + name);
                        var signature = new CosmicSignature();
                        signature.Code            = coordinate;
                        signature.SolarSystemName = Global.Pilots.Selected.SpaceMap.LocationSolarSystemName;
                        //var type = record.Key.Split(new[] { @" - " }, StringSplitOptions.None)[1];
                        signature.Type = SignatureType.Unknown;

                        signature.Name = "Cosmic Signature";

                        if (type.ToUpper().IndexOf("ЧЕРВОТОЧИНА") > -1 || type.ToUpper().IndexOf("WORMHOLE") > -1)
                        {
                            signature.Name = type + " " + label;
                            signature.Type = SignatureType.WH;
                        }

                        if (type.ToUpper().IndexOf("ГАЗ") > -1 || type.ToUpper().IndexOf("GAS SITE") > -1)
                        {
                            signature.Name = type + " " + label;
                            signature.Type = SignatureType.Gas;
                        }

                        if (type.ToUpper().IndexOf("ДАННЫЕ") > -1 || type.ToUpper().IndexOf("DATA SITE") > -1)
                        {
                            signature.Name = type + " " + label;
                            signature.Type = SignatureType.Data;
                        }

                        if (type.ToUpper().IndexOf("АРТЕФАКТЫ") > -1 || type.ToUpper().IndexOf("RELIC SITE") > -1)
                        {
                            signature.Name = type + " " + label;
                            signature.Type = SignatureType.Relic;
                        }

                        //bool isNeedAddSignature = true;


                        signatures.Add(signature);
                    }
                }
                catch (Exception ex)
                {
                    //Log.ErrorFormat("[whlTravelHistory.Event_PasteSignatures] Critical error = {0}", ex);
                }
            }

            FillSignaturesContainer(signatures);
        }