Пример #1
0
 private void EditConfiguration(SunfishServiceConfiguration ssc, SunfishService oldService)
 {
     if (FServiceConf.Execute(ssc))
     {
         try
         {
             if (oldService == null)
             {
                 lbPaths.Items.Add(Sunfish.AddService(ssc));
             }
             else
             {
                 SunfishService s   = Sunfish.ReplaceService(oldService, ssc);
                 int            idx = lbPaths.Items.IndexOf(oldService);
                 if (idx < 0)
                 {
                     lbPaths.Items.Add(s);
                 }
                 else
                 {
                     lbPaths.Items[idx] = s;
                 }
             }
         }
         catch (Exception ex)
         {
             ex.Show();
         }
     }
 }
Пример #2
0
        private void btAdd_Click(object sender, EventArgs e)
        {
            SunfishServiceConfiguration ssc = new SunfishServiceConfiguration();

            ssc.Type = "WebService";
            EditConfiguration(ssc, null);
        }
Пример #3
0
        public static SunfishService AddService(SunfishServiceConfiguration ssc)
        {
            SunfishService s;

            srvs.Add(s = SunfishService.Instance(ssc));
            conf.Services.Add(ssc);
            return(s);
        }
Пример #4
0
 public static bool Execute(SunfishServiceConfiguration ssc)
 {
     using (FServiceConf f = new FServiceConf())
     {
         f.ssc = ssc;
         f.LoadData();
         return(f.ShowDialog() == DialogResult.OK);
     }
 }
Пример #5
0
        internal static SunfishService Instance(SunfishServiceConfiguration ssc)
        {
            Type stype = GetServiceTypeOf(ssc.Type);

            try
            {
                return((SunfishService)stype.GetConstructor(new Type[] { typeof(SunfishServiceConfiguration) }).Invoke(new object[] { ssc }));
            }
            catch { return(new ErrorService(ssc)); }
        }
Пример #6
0
        public static SunfishService ReplaceService(SunfishService sold, SunfishServiceConfiguration ssc)
        {
            SunfishService s = SunfishService.Instance(ssc);
            int            i = srvs.IndexOf(sold);

            if (i < 0)
            {
                srvs.Add(s);
            }
            else
            {
                srvs[i] = s;
            }
            i = conf.Services.IndexOf(ssc);
            if (i < 0)
            {
                conf.Services.Add(ssc);
            }
            return(s);
        }
Пример #7
0
 private void lbPaths_DragDrop(object sender, DragEventArgs e)
 {
     string[] files = e.Data.GetData(DataFormats.FileDrop) as string[];
     if (files != null)
     {
         foreach (string file in files)
         {
             SunfishServiceConfiguration ssc = new SunfishServiceConfiguration();
             ssc.Type = "WebService";
             string fil = file;
             if (!Directory.Exists(file))
             {
                 fil = Path.GetDirectoryName(fil);
             }
             ssc.Name     = Path.GetFileName(fil);
             ssc.Location = '/' + Path.GetFileName(fil);
             ssc.Enabled  = true;
             ssc.Settings[Services.WebServiceConfigurator.CFG_PATH]  = fil;
             ssc.Settings[Services.WebServiceConfigurator.CFG_SHARE] = true;
             EditConfiguration(ssc, null);
         }
         Activate();
     }
 }
Пример #8
0
 public SunfishService(SunfishServiceConfiguration ssc)
 {
     Configuration = ssc;
     configurator  = SunfishServiceConfigurator.GetConfiguratorForService(GetType());
 }