示例#1
0
        public override void ExecuteCommand()
        {
            //Get all the failed edits.
            var connectionString = ConnectionString.ConnectionString;
            var entitiesContext  = new EntitiesContext(connectionString, readOnly: true);
            var failedEdits      = entitiesContext.Set <PackageEdit>()
                                   .Where(pe => pe.TriedCount == 3).Include(pe => pe.Package).Include(pe => pe.Package.PackageRegistration);


            //For each ofthe failed edit, send out a support request mail.
            foreach (PackageEdit edit in failedEdits)
            {
                Log.Info(
                    "Sending support request for  '{0}'",
                    edit.Package.PackageRegistration.Id);
                SendMailTask mailTask = new SendMailTask
                {
                    ConnectionString = this.ConnectionString,
                    UserAccount      = this.UserAccount,
                    Password         = this.Password,
                    EmailHost        = this.EmailHost,
                    ToList           = this.UserAccount,
                    ReplyToList      = this.UserAccount,
                    MailSubject      = $" [NuGet Gallery] : Package Edit Request for {edit.Package.PackageRegistration.Id}",
                    MailContent      = $"<b><i>Package:</i></b>  {edit.Package.PackageRegistration.Id} </br> <b>Version:</b>  {edit.Package.NormalizedVersion} </br> <b>TimeStamp:</b>  {edit.Timestamp} </br> <b>LastError:</b>  {edit.LastError} </br> <i>Message sent from NuGet Gallery</i> "
                };
                try
                {
                    mailTask.Execute();
                }
                catch (Exception e)
                {
                    Log.Error("Creating support request for package {0} failed with error {1}", edit.Package.PackageRegistration.Id, e.Message);
                }
            }
        }
        public override void ExecuteCommand()
        {
            //Get all the failed edits.
            var connectionString = ConnectionString.ConnectionString;           
            var entitiesContext = new EntitiesContext(connectionString, readOnly: true);
            var failedEdits = entitiesContext.Set<PackageEdit>()
                .Where(pe => pe.TriedCount == 3).Include(pe => pe.Package).Include(pe => pe.Package.PackageRegistration);

         
            //For each ofthe failed edit, send out a support request mail.
            foreach (PackageEdit edit in failedEdits)
            { 
                Log.Info(
               "Sending support request for  '{0}'",
               edit.Package.PackageRegistration.Id);
                SendMailTask mailTask = new SendMailTask
                {
                    ConnectionString = this.ConnectionString,
                    UserAccount = this.UserAccount,
                    Password = this.Password,
                    EmailHost = this.EmailHost,
                    ToList = this.UserAccount,
                    ReplyToList = this.UserAccount,
                    MailSubject = string.Format(" [NuGet Gallery] : Package Edit Request for {0}", edit.Package.PackageRegistration.Id),
                    MailContent = string.Format("<b><i>Package:</i></b>  {0} </br> <b>Version:</b>  {1} </br> <b>TimeStamp:</b>  {2} </br> <b>LastError:</b>  {3} </br> <i>Message sent from NuGet Gallery</i> ", edit.Package.PackageRegistration.Id, edit.Package.NormalizedVersion,  edit.Timestamp,edit.LastError)
                };
                try
                {
                    mailTask.Execute();
                }
                catch (Exception e)
                {
                    Log.Error("Creating support request for package {0} failed with error {1}", edit.Package.PackageRegistration.Id, e.Message);
                }                
            }
        }