示例#1
0
 private void UpdateNamespace()
 {
     try
     {
         if (!File.Exists(CodeFile))
         {
             NameSpace = Path.GetFileName(Folder);
             return;
         }
         using (var file = File.Open(CodeFile, FileMode.Open))
         {
             var          streamReader = new StreamReader(file, Encoding.UTF8);
             var          buffer       = new char[10000];
             var          count        = streamReader.ReadBlock(buffer, 0, buffer.Length);
             var          str          = new string(buffer.Take(count).ToArray());
             const string ns           = "namespace ";
             if (!str.Contains(ns))
             {
                 return;
             }
             var afterNs = str.Split(new[] { ns }, 2, StringSplitOptions.None).Last();
             NameSpace = new string(afterNs.TakeWhile(c => Char.IsLetterOrDigit(c) || c == '.').ToArray());
         }
         EventHelper.Raise(ref NameSpaceUpdated, this, EventArgs.Empty);
     }
     catch (Exception exception)
     {
         _dialogHelper.Exception(exception);
     }
 }
        private void Install()
        {
            Busy = true;
            var connectionString = UseCustomConnectionString ? CustomConnectionString : ProjectConnectionString;

            try
            {
                var proc = new ProcessStartInfo
                {
                    FileName  = string.Format("{0}.exe", PHmiConstants.PHmiServiceName),
                    Arguments = "--i " + connectionString
                };
                Process.Start(proc);
                _actionHelper.Dispatch(() => { View.DialogResult = true; });
            }
            catch (Win32Exception)
            {
                _actionHelper.Dispatch(() => { View.DialogResult = false; });
            }
            catch (Exception exception)
            {
                _dialogHelper.Exception(exception, View);
            }
            finally
            {
                Busy = false;
            }
        }