예제 #1
0
 public Manager(IConfiguration configuration, string connectionStringName)
 {
     _configuration   = configuration;
     _repoManager     = new RepoManager(connectionStringName, configuration);
     _lsClientWeb     = new LsClientWeb(configuration, connectionStringName);
     _telemetryClient = new TelemetryClient();
 }
        public override Task ValidateClientAuthentication(OAuthValidateClientAuthenticationContext context)
        {
            string clientId;
            string clientSecret;

            //first try to get the client details from the Authorization Basic header
            if (!context.TryGetBasicCredentials(out clientId, out clientSecret))
            {
                //no details in the Authorization Header so try to find matching post values
                context.TryGetFormCredentials(out clientId, out clientSecret);
            }

            if (string.IsNullOrWhiteSpace(clientId) || string.IsNullOrWhiteSpace(clientSecret))
            {
                context.SetError("client_not_authorized", "invalid client details");
                return(Task.FromResult <object>(null));
            }

            var dataLayer   = new RepoManager(new DataLayerDapper()).DataLayer;
            var audienceDto = dataLayer.GetAudience(clientId);

            if (audienceDto == null || !clientSecret.Equals(audienceDto.Secret))
            {
                context.SetError("unauthorized_client", "unauthorized client");
                return(Task.FromResult <object>(null));
            }

            context.Validated();
            return(Task.FromResult <object>(null));
        }
예제 #3
0
        private void btnInstall_Click(object sender, EventArgs e)
        {
            GameManager gameManager = GameManager.Instance;
            RepoManager repoManager = gameManager.RepoManager;

            repoManager.RequestPackageDownload(selectedHeader, selectedGame, ReceivePackageDownload);
        }
예제 #4
0
 public RobotImage(string _Name, string _ImageLocation, int _RobotID, int _ID, RepoManager _RepoRef) : base(_ID, _RepoRef)
 {
     name            = _Name;
     imageLocation   = _ImageLocation;
     robotID         = _RobotID;
     referencedRobot = null;
 }
예제 #5
0
        // GET: Customers
        public ActionResult Index()
        {
            List <Customer> customers = RepoManager.GetAllCustomers();

            ViewData["customers"] = customers;

            return(View());
        }
예제 #6
0
        public LsClientWeb(IConfiguration configuration, string connectionStringName)
        {
            // Configuration
            _configuration = configuration;

            // Repository
            _repoManager = new RepoManager(connectionStringName, configuration);
        }
예제 #7
0
        public ActionResult Display()
        {
            List <Employee> emp = RepoManager.getAllDetails();

            ViewData["emp"] = emp;

            return(View());
        }
예제 #8
0
        /// <summary>
        /// fill data grids
        /// </summary>
        void FillDataGrid()
        {
            RepoManager.SetHeaderTable();
            RepoManager.SetDetailTable();

            dgHeaders.ItemsSource = null;
            dgDetails.ItemsSource = null;
            dgHeaders.ItemsSource = DBClass.dtHeader.DefaultView;
        }
예제 #9
0
        private void ReceivePackageDownload(RequestResult <string> result)
        {
            if (result.Success)
            {
                GameManager gameManager = GameManager.Instance;
                RepoManager repoManager = gameManager.RepoManager;

                repoManager.InstallPackage(result.Data);
            }
        }
예제 #10
0
        private void ScrapeMain(string html)
        {
            // Clean html
            html = HtmlEntity.DeEntitize((String)JObject.Parse(html)["1"]);

            if (string.IsNullOrEmpty(html))
            {
                ControllerHelper.WriteLine("No data was found.", true);
                return;
            }

            var htmlDoc = new HtmlDocument();

            htmlDoc.LoadHtml(html);

            var title = htmlDoc.DocumentNode.SelectNodes("//h3")?.FirstOrDefault()?.InnerText.Trim();
            var table = htmlDoc.DocumentNode.SelectNodes("//table[contains(@class,'table') and contains(@class,'top-stocks')]")?.FirstOrDefault();

            if (table == null)
            {
                ControllerHelper.WriteLine("No table was found...");
                ControllerHelper.WriteLine(html);
                return;
            }


            var head = table.SelectNodes("./thead");
            var body = table.SelectNodes("./tbody");

            var repo = RepoManager.SectorRepository();

            foreach (var b in body)
            {
                var rows = b.SelectNodes("./tr");
                // iterate over each row in the body.
                // Each row at this stage represents a different stock.
                foreach (var row in rows ?? Enumerable.Empty <HtmlNode>())
                {
                    var data = row.SelectNodes("./td");
                    var i    = 0;

                    var sector = new Sector(title);
                    foreach (var d in data)
                    {
                        if (i == 1)
                        {
                            sector.StockName = d.InnerText.Trim();
                        }
                        i++;
                    }
                    repo.InsertOne(sector);
                    WriteData(sector);
                }
            }
        }
예제 #11
0
        private void BtnSelectDllFile_Click(object sender, EventArgs e)
        {
            var dialogResult = openFileDialog1.ShowDialog();

            if (dialogResult == DialogResult.OK)
            {
                TxtFilePath.Text = openFileDialog1.FileName;
                manager          = new RepoManager(TxtFilePath.Text);
                BindClbRepo();
            }
        }
예제 #12
0
 public ActionResult Update(int id, string password, string returnUrl)
 {
     if (RepoManager.Update(id, password))
     {
         return(Redirect(returnUrl ?? Url.Action("Msg", "Home")));
     }
     else
     {
         return(View());
     }
 }
예제 #13
0
 public ActionResult Register(int id, string name, string address, string salary, string password, string returnUrl)
 {
     if (RepoManager.Insert(id, name, address, salary, password))
     {
         return(Redirect(returnUrl ?? Url.Action("Msg", "Home")));
     }
     else
     {
         return(View());
     }
 }
예제 #14
0
 public ActionResult Login(string name, string Password, string returnUrl)
 {
     if (RepoManager.Validate(name, Password))
     {
         FormsAuthentication.SetAuthCookie("name", false);
         return(Redirect(returnUrl ?? Url.Action("Display", "Home")));
     }
     else
     {
         return(View());
     }
 }
예제 #15
0
        private void comboVersions_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboVersions.SelectedIndex == -1)
            {
                return;
            }

            GameManager gameManager = GameManager.Instance;
            RepoManager repoManager = gameManager.RepoManager;

            repoManager.RequestPackageFullInfo(selectedHeader, selectedGame, comboVersions.SelectedIndex + 1, ReceiveFullGameInfo);
        }
예제 #16
0
        /// <summary>
        /// add article event
        /// </summary>
        /// <param name="sender">button</param>
        /// <param name="e">event-args</param>
        void dg_AddArticle(object sender, RoutedEventArgs e)
        {
            var button   = sender as Button;
            var param    = Convert.ToInt16(button.CommandParameter);
            var response = MessageBox.Show("Do you want to Add a new article", "Confirm", MessageBoxButton.YesNo);

            if (response == MessageBoxResult.Yes)
            {
                RepoManager.AddArticle(param);
                dgDetails.ItemsSource = DBClass.dtDetail.DefaultView;
                RefreshDetailsGrid(param);
                MessageBox.Show("new (empty) article added");
            }
        }
예제 #17
0
        /// <summary>
        /// delate header event
        /// </summary>
        /// <param name="sender">button</param>
        /// <param name="e">event-args</param>
        void dg_DeleteHeader(object sender, RoutedEventArgs e)
        {
            var button   = sender as Button;
            var param    = Convert.ToInt32(button.CommandParameter); // id
            var response = MessageBox.Show("Do you want to Delete this header (with all articles)", "Confirm", MessageBoxButton.YesNo);

            if (response == MessageBoxResult.Yes)
            {
                RepoManager.DeleteHeader(param);
                dgDetails.ItemsSource = null;
                dgHeaders.ItemsSource = DBClass.dtHeader.DefaultView;               //refresh
                MessageBox.Show("the header and all header's articles deleted");
            }
        }
 public SearchRepoUserControl()
 {
     InitializeComponent();
     datePicker.DisplayDateEnd    = DateTime.Today;
     endDatePicker.DisplayDateEnd = DateTime.Today;
     updateDate.DisplayDateEnd    = DateTime.Today;
     DateValidator = new DateValidator();
     languageComboBox.ItemsSource   = Enum.GetValues(typeof(Language));
     languageComboBox.SelectedIndex = (int)Enum.Parse(typeof(Language), "Unknown");
     AccessToken = "b662ba89eb7878f9e75b885789bda4dbbb5115ec";
     repoSearch  = new RepoSearchManager();
     repoManager = new RepoManager();
     DataContext = this;
 }
예제 #19
0
        public MainForm()
        {
            InitializeComponent();
            _settingsManager = new SettingsManager();
            _profileManager  = new ProfileManager();
            _repoManager     = new RepoManager();

            // Load Settings if available
            _settings = _settingsManager.LoadSettings();

            ListMods();

            var repoProfile = _settings?.RepoProfiles.FirstOrDefault();

            SwitchProfile(repoProfile?.GetViewModelFromData());
        }
예제 #20
0
        /// <summary>
        /// delete article event
        /// </summary>
        /// <param name="sender">button</param>
        /// <param name="e">event-args</param>
        void dg_DeleteArticle(object sender, RoutedEventArgs e)
        {
            var         button    = sender as Button;
            var         param     = Convert.ToInt32(button.CommandParameter); // article_id
            DataRowView drv       = (DataRowView)button.DataContext;
            int         header_id = Convert.ToInt32(drv.Row.ItemArray[1]);    // header_id

            var response = MessageBox.Show("Do you want to Delete this article", "Confirm", MessageBoxButton.YesNo);

            if (response == MessageBoxResult.Yes)
            {
                RepoManager.DeleteArticle(param);            // delete from db, delete from table
                RepoManager.RecalcHeaderTable(header_id);    // recalc db, recal head tale
                RefreshDetailsGrid(header_id);               // refresh detail_grid
                MessageBox.Show("article deleted");
            }
        }
예제 #21
0
        /// <summary>
        /// update header event
        /// </summary>
        /// <param name="sender">button</param>
        /// <param name="e">event-args</param>
        void dg_UpdateHeader(object sender, RoutedEventArgs e)
        {
            var button = sender as Button;
            var param  = Convert.ToInt32(button.CommandParameter); // id

            DataRowView drv = (DataRowView)button.DataContext;
            var         i0  = drv.Row.ItemArray[0];                   // id
            var         i1  = drv.Row.ItemArray[1];                   // customer_id
            var         i2  = drv.Row.ItemArray[2];                   // header_name
            var         i3  = drv.Row.ItemArray[3];                   // date
            float       i4  = Convert.ToSingle(drv.Row.ItemArray[4]); // net
            float       i5  = Convert.ToSingle(drv.Row.ItemArray[5]); // gross

            Header header = new Header((int)i0, (DateTime)i3, (string)i2, (int)i1, i4, i5);

            RepoManager.UpdateHeader(header);
            MessageBox.Show("header updated");
        }
예제 #22
0
        /// <summary>
        /// update article event
        /// </summary>
        /// <param name="sender">button</param>
        /// <param name="e">event-args</param>
        void dg_UpdateAttribute(object sender, RoutedEventArgs e)
        {
            var button = sender as Button;
            var param  = Convert.ToInt32(button.CommandParameter); // id

            DataRowView drv = (DataRowView)button.DataContext;
            var         i0  = drv.Row.ItemArray[0];                   // id
            var         i1  = drv.Row.ItemArray[1];                   // header_id
            var         i2  = drv.Row.ItemArray[2];                   // article_name
            var         i3  = drv.Row.ItemArray[3];                   // quantity
            float       i4  = Convert.ToSingle(drv.Row.ItemArray[4]); // net
            float       i5  = 0.0f;                                   // will be recalculated

            Article article = new Article((int)i0, (int)i1, (string)i2, (int)i3, (float)i4, (float)i5);

            RepoManager.UpdateArticle(article);                     // update db, update table table  //TODO: separate?
            RepoManager.RecalcHeaderTable(Convert.ToInt32(i1));     // recalc db, recalc table
            MessageBox.Show("article updated");
        }
예제 #23
0
        private static void ProcessRepository(Repository repoConfig)
        {
            Logger.Log("Processing repo " + repoConfig.name);

            try
            {
                using (var repoInstance = RepoManager.InitRepo(repoConfig))
                {
                    var bm = new BranchManager(repoInstance, repoConfig);

                    var branchesToMerge = bm.GetBranchesToMerge();

                    bm.BuildBranchReport(branchesToMerge);
                }
            }
            catch (Exception ex)
            {
                Logger.Log("Failed during processing of repo.");
                Logger.Log(ex.ToString());
            }
        }
예제 #24
0
        private void Initialize()
        {
            if (LicenseManager.UsageMode == LicenseUsageMode.Designtime)
            {
                return;
            }

            gameListBrowser.SelectedChanged += GameListBrowser_SelectedChanged;

            GameManager gameManager = GameManager.Instance;
            RepoManager repoManager = gameManager.RepoManager;

            var config       = gameManager.Config;
            int totalHeaders = config.RepoHeaders.Count;

            for (int i = 0; i < totalHeaders; i++)
            {
                string headerUrl = config.RepoHeaders[i];
                repoManager.UpdateHeader(headerUrl, ReceiveUpdatedHeader);
            }
        }
예제 #25
0
    void Awake()
    {
        I       = this;
        _sbLine = new StringBuilder();
        //gameObject.AddComponent<FrameShow>();

#if UNITY_EDITOR
        _defaultFontSize   = 20;
        _defaultLineHeight = 30;
        _lineHeight        = 20;

        _debugMode = DebugMode.StatsAndDebug;
#else
        _defaultFontSize   = 20;
        _defaultLineHeight = 30;
        _lineHeight        = 30;
        _debugMode         = DebugMode.StatsAndDebug;
#endif

        //控制台类型
        string[] types =
        {
            "main",
            "log",
            "command",
        };
        //对应控制台类型的窗口绘制函数
        GUI.WindowFunction[] cFunc =
        {
            Console_Main,
            Console_Log,
            Console_Command,
        };

        _consoleType = types;
        _consoleFunc = cFunc;

        _eventSystem = GameObject.Find("EventSystem");
    }
예제 #26
0
        public void ConfigureOAuth(IAppBuilder app)
        {
            var audiences = new RepoManager(new DataLayerDapper()).DataLayer.GetAll();

            var jwtAudiences   = new List <string>();
            var tokenProviders = new List <IIssuerSecurityTokenProvider>();

            var issuer = ConfigurationHelper.GetAppSetting("TokenIssuer");

            foreach (var audienceTemp in audiences)
            {
                jwtAudiences.Add(audienceTemp.ClientId);
                tokenProviders.Add(new SymmetricKeyIssuerSecurityTokenProvider(issuer, TextEncodings.Base64Url.Decode(audienceTemp.Secret)));
            }

            app.UseJwtBearerAuthentication(
                new JwtBearerAuthenticationOptions
            {
                AuthenticationMode           = AuthenticationMode.Active,
                AllowedAudiences             = jwtAudiences,
                IssuerSecurityTokenProviders = tokenProviders
            });
        }
        public string Protect(AuthenticationTicket data)
        {
            if (data == null)
            {
                throw new ArgumentNullException("data");
            }

            string audienceId = data.Properties.Dictionary.ContainsKey("audience") ? data.Properties.Dictionary["audience"] : null;

            if (string.IsNullOrWhiteSpace(audienceId) || audienceId.Length != 32)
            {
                throw new InvalidOperationException("audience missing from AuthenticationTicket.Properties");
            }

            var dataLayer = new RepoManager(new DataLayerDapper()).DataLayer;

            var audienceDto = dataLayer.GetAudience(audienceId);

            if (audienceDto == null)
            {
                throw new InvalidOperationException("invalid_client");
            }

            var keyByteArray = Convert.FromBase64String(audienceDto.Secret);
            var signingKey   = new HmacSigningCredentials(keyByteArray);

            var issued  = data.Properties.IssuedUtc;
            var expires = data.Properties.ExpiresUtc;

            var token = new JwtSecurityToken(_issuer, audienceId, data.Identity.Claims, issued.Value.UtcDateTime, expires.Value.UtcDateTime, signingKey);

            var handler = new JwtSecurityTokenHandler();

            var jwt = handler.WriteToken(token);

            return(jwt);
        }
예제 #28
0
 public void Init()
 {
     repoManager = new RepoManager(RepoReadyCallback);
     repoManager.RepoRefreshedCallback += repoManager_RefreshedCallback;
     changesTab.Init();
 }
예제 #29
0
 public Repository(RepoManager _Manager)
 {
     m_ParentRepo = _Manager;
 }
예제 #30
0
 public OperationBase(RepoManager repositoryManager)
 {
     RepositoryManager = repositoryManager;
 }