public async Task<IHttpActionResult> Post(PublishVersion m)
 {
     if (!ModelState.IsValid)
         return BadRequest(ModelState);
     m.CreateTime = System.DateTimeOffset.Now;
     m = db.PublishVersions.Add(m);
     await db.SaveChangesAsync();
     return Created<PublishVersion>(m);
 }
Ejemplo n.º 2
0
        public async Task <IHttpActionResult> Post(PublishVersion m)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            m.CreateTime = System.DateTimeOffset.Now;
            m            = db.PublishVersions.Add(m);
            await db.SaveChangesAsync();

            return(Created <PublishVersion>(m));
        }
Ejemplo n.º 3
0
        private PublishVersion IsNewVersion(PublishVersion newVersion)
        {
            if (newVersion == null)
            {
                return(null);
            }
            var currentVersion = Assembly.GetCallingAssembly().GetName().Version;

            var v = newVersion.ParsedVersion;

            if (currentVersion.Revision == 0)
            {
                // Local build, no revision
                v = new Version(v.Major, v.Minor, v.Build);
            }

            return(v > currentVersion ? newVersion : null);
        }
 public async Task<IHttpActionResult> Put(PublishVersion putModel)
 {
     var m = await db.PublishVersions.FindAsync(putModel.Id);
     if (m == null)
         return NotFound();
     else
     {
         m.Deleted = putModel.Deleted;
         m.Title = putModel.Title;
         m.Content = putModel.Content;
         m.UpdateBy = CurrentUserId;
         m.UpdateTime = DateTimeOffset.Now;
         if (!ModelState.IsValid)
             return BadRequest(ModelState);
         await db.SaveChangesAsync();
         return Updated(m);
     }
 }
Ejemplo n.º 5
0
        private void ShowUpdateResult(PublishVersion newVersion, bool forceNotify)
        {
            if (newVersion == null)
            {
                if (forceNotify)
                {
                    MessageBox.Show(strings.messageLatest, strings.actPanelTitle, MessageBoxButtons.OK,
                                    MessageBoxIcon.Information);
                }
            }
            else
            {
                // Check if ignored
                if (forceNotify ||
                    !Version.TryParse(_plugin.Settings.VersionIgnored, out var v) ||
                    v < newVersion.ParsedVersion)
                {
                    // Show notify
                    var message = string.Format(newVersion.IsPreRelease
                            ? strings.messageNewPrerelease
                            : strings.messageNewStable,
                                                newVersion.ParsedVersion);

                    MessageBoxManager.Yes    = strings.buttonUpdateNow;
                    MessageBoxManager.No     = strings.buttonIgnoreVersion;
                    MessageBoxManager.Cancel = strings.buttonUpdateLater;
                    MessageBoxManager.Register();
                    var res = MessageBox.Show(message, strings.actPanelTitle, MessageBoxButtons.YesNoCancel,
                                              MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                    MessageBoxManager.Unregister();

                    if (res == DialogResult.No)
                    {
                        _controller.NotifyNewVersionIgnored(true, newVersion.ParsedVersion.ToString());
                    }
                    else if (res == DialogResult.Yes)
                    {
                        System.Diagnostics.Process.Start(newVersion.PublishPage);
                    }
                }
            }
        }
Ejemplo n.º 6
0
        private void ShowUpdateResult(PublishVersion newVersion, bool forceNotify)
        {
            if (newVersion == null)
            {
                if (forceNotify)
                {
                    var ts = new TraySlider
                    {
                        ButtonLayout = TraySlider.ButtonLayoutEnum.OneButton,
                    };
                    ts.ShowTraySlider(strings.messageLatest, strings.actPanelTitle);
                }
            }
            else
            {
                // Check if ignored
                if (forceNotify ||
                    !Version.TryParse(_plugin.Settings.VersionIgnored, out var v) ||
                    v < newVersion.ParsedVersion)
                {
                    // Show notify
                    var message = string.Format(newVersion.IsPreRelease
                            ? strings.messageNewPrerelease
                            : strings.messageNewStable,
                                                newVersion.ParsedVersion);

                    var ts = new TraySlider
                    {
                        ButtonLayout = TraySlider.ButtonLayoutEnum.FourButton,
                        ButtonSW     = { Text = strings.buttonUpdateNow },
                        ButtonSE     = { Text = strings.buttonUpdateLater },
                        ButtonNE     = { Text = strings.buttonIgnoreVersion },
                    };
                    ts.ButtonNW.Hide();
                    ts.ButtonSW.Click += (sender, args) => Process.Start(newVersion.PublishPage);
                    ts.ButtonNE.Click += (sender, args) => _controller.NotifyNewVersionIgnored(true, newVersion.ParsedVersion.ToString());
                    ts.ShowTraySlider(message, strings.actPanelTitle);
                }
            }
        }
Ejemplo n.º 7
0
        public async Task <IHttpActionResult> Put(PublishVersion putModel)
        {
            var m = await db.PublishVersions.FindAsync(putModel.Id);

            if (m == null)
            {
                return(NotFound());
            }
            else
            {
                m.Deleted    = putModel.Deleted;
                m.Title      = putModel.Title;
                m.Content    = putModel.Content;
                m.UpdateBy   = CurrentUserId;
                m.UpdateTime = DateTimeOffset.Now;
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }
                await db.SaveChangesAsync();

                return(Updated(m));
            }
        }