public ActionResult Subscribe([FromBody] JwtWtihObject <string> subInfo) { JWT token; try { token = new JWT(subInfo.JWT); } catch (Exception ex) { _logger.LogError($"[POST]api/auth/subscribe" + ex.Message); return(BadRequest(ex.Message)); } var userWhoSubscribe = _db.Users .FirstOrDefault(p => p.Id == token.PAYLOAD.Sub); if (userWhoSubscribe == null) { return(NotFound("No user that matches this JWT")); } var userToSubscribe = _db.Users .FirstOrDefault(p => p.Login == subInfo.WithJWTObject); if (userToSubscribe == null) { return(NotFound("No user that matches you entered login")); } if (userToSubscribe == userWhoSubscribe) { return(BadRequest("You can't subscribe on yourself")); } var subSub = new SubscriberSubscription { WhoSubscribeId = userWhoSubscribe.Id, OnWhomSubscribeId = userToSubscribe.Id }; _db.SubscriberSubscriptions.Add(subSub); _db.SaveChanges(); _logger.LogInformation($"[POST]api/auth/subscribe;" + $"User [{userWhoSubscribe.Login}] subscribed to [{userToSubscribe.Id}]"); return(Ok(subSub)); }
public SubscriberMonitor(string subscriber, SubscriberSubscription subscription) { this.publisherName = subscription.PublisherName; this.publicationName = subscription.PublicationDBName; this.publicationDBName = subscription.PublicationDBName; this.subscriptionDBName = subscription.SubscriptionDBName; this.subscriberName = subscriber; // Initialize the form. InitializeComponent(); // Add columns to the ListView. AddColumnsToListView(); // If connection properties are passed, don't show the connection dialog // and hide the menus. //showDialog = false; foreach (ToolStripMenuItem menuItem in menuStrip2.Items) { menuItem.Visible = false; } }
private bool SynchronizeSubscription(SubscriberSubscription subscriptionparameters, string serverName) { bool result = true; ServerConnection conn = null; try { conn = new ServerConnection(serverName); // Connect to the Subscriber. conn.Connect(); if (!conn.IsOpen) { return(false); } // Define the pull subscription. MergePullSubscription subscription = new MergePullSubscription(); subscription.ConnectionContext = conn; subscription.DatabaseName = subscriptionparameters.SubscriptionDBName; subscription.PublisherName = subscriptionparameters.PublisherName; subscription.PublicationDBName = subscriptionparameters.PublicationDBName; subscription.PublicationName = subscriptionparameters.PublicationName; // If the pull subscription exists, then start the synchronization. if (subscription.LoadProperties()) { // Get the agent for the subscription. MergeSynchronizationAgent agent = subscription.SynchronizationAgent; agent.UseInteractiveResolver = true; agent.InternetTimeout = 600; //if (File.Exists(@"c:\DotNet\tosi2010-09-01.zip")) //{ // DateTime dt = DateTime.Now; // agent.Output = // string.Format(@"c:\DotNet\out_{0}_{1}_{2}_{3}_{4}.txt", dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute); // agent.OutputVerboseLevel = 2; //} // Synchronously start the Merge Agent for the subscription. agent.Status += OnAgentStatusEventHandler; agent.Synchronize(); Info.ConflittiPub = agent.PublisherConflicts; Info.ConflittiSub = agent.SubscriberConflicts; Info.ModificheSub = agent.SubscriberChanges; Info.ModifichePub = agent.PublisherChanges; if (agent.PublisherConflicts > 0 || agent.SubscriberConflicts > 0) { Log("**************************************"); Log(string.Format("Conflitti: pub: {0}, sub: {1}", agent.PublisherConflicts, agent.SubscriberConflicts )); } } else { // Do something here if the pull subscription does not exist. throw new ApplicationException(String.Format( "La sottoscrizione '{0}' non esiste sul server {1}", subscriptionparameters.PublicationName, conn.ServerInstance)); } } catch (ComErrorException comErrorEx) { result = false; throw new ApplicationException( "Impossibile connettersi al server di pubblicazione, " + "verificare la connessione di rete e che la sottoscrizione " + "sia stata creata correttamnte.", comErrorEx); } catch (Exception ex) { result = false; // Implement appropriate error handling here. throw new ApplicationException("The subscription could not be " + "synchronized. Verify that the subscription has " + "been defined correctly.", ex); } finally { if (conn != null) { conn.Disconnect(); } } Info.Result = result; return(result); }