예제 #1
0
        private List <string> GetLyricsFromMusixmatch(List <Track> randomTracksFromSelectedArtist)
        {
            var client = new RestClient("http://api.musixmatch.com/ws/1.1/matcher.lyrics.get");

            var apiKey = new ApiConstants().Apikey;

            var request = new RestRequest("", Method.GET);

            request.AddParameter("apikey", apiKey);
            client.ClearHandlers();
            client.AddHandler("*", new RestSharp.Deserializers.JsonDeserializer());

            var allSelectedLyrics = new List <string>();

            foreach (var track in randomTracksFromSelectedArtist)
            {
                request.AddParameter("q_track", track.TrackName);
                request.AddParameter("q_artist", track.Artist.ArtistName);

                var response = client.Execute <MusixmatchResponse.RootObject>(request);
                var lyric    = response.Data.message.body.lyrics.lyrics_body;

                allSelectedLyrics.Add(lyric);
            }

            return(allSelectedLyrics);
        }
예제 #2
0
        public async Task SetOccurredIncidentUnsolvedAsync(int id)
        {
            UriBuilder builder = new UriBuilder(ApiConstants.BaseApiUrl)
            {
                Path = ApiConstants.SetIncidentUnsolvedEndpoint(id)
            };

            await _repository.PutAsync <OccurredIncident>(builder.ToString());
        }
        public async Task Invoke(HttpContext context)
        {
            if (context.Request.Path.Value.Contains(ApiConstants.HubUrl()) &&
                context.Request.Query.TryGetValue("access_token", out StringValues token))
            {
                context.Request.Headers.Add("Authorization", "Bearer " + token.First());
            }

            await next.Invoke(context);
        }
예제 #4
0
        public async Task <User> GetUserByNameAsync(string name)
        {
            UriBuilder builder = new UriBuilder(ApiConstants.BaseApiUrl)
            {
                Path = ApiConstants.UserByNameEndpoint(name)
            };
            User user = await _repository.GetAsync <User>(builder.ToString());

            return(user);
        }
예제 #5
0
        public async Task <IList <Item> > GetAllItemsAsync()
        {
            UriBuilder builder = new UriBuilder(ApiConstants.BaseApiUrl)
            {
                Path = ApiConstants.AllItemsEndpoint()
            };
            var items = await _repository.GetAsync <IList <Item> >(builder.ToString());

            return(items);
        }
예제 #6
0
        public async Task <IList <Item> > GetItemByAreaAsync(string area)
        {
            UriBuilder builder = new UriBuilder(ApiConstants.BaseApiUrl)
            {
                Path = ApiConstants.ItemByAreaEndpoint(area)
            };
            var items = await _repository.GetAsync <IList <Item> >(builder.ToString());

            return(items);
        }
예제 #7
0
        public async Task <Device> GetDeviceByIdAsync(int id)
        {
            UriBuilder builder = new UriBuilder(ApiConstants.BaseApiUrl)
            {
                Path = ApiConstants.DeviceByIdEndpoint(id)
            };

            var device = await _repository.GetAsync <Device>(builder.ToString());

            return(device);
        }
예제 #8
0
        public async Task <User> GetUserByIdAsync(int id)
        {
            UriBuilder builder = new UriBuilder(ApiConstants.BaseApiUrl)
            {
                Path = ApiConstants.UserByIdEndpoint(id)
            };

            var user = await _repository.GetAsync <User>(builder.ToString());

            return(user);
        }
예제 #9
0
        public string BuildSessionUrl()
        {
            var sb = new StringBuilder();

            sb.Append(ApiConstants.BaseUrl)
            .Append(ApiConstants.SessionRelativePath)
            .Append(ApiConstants.DevKey)
            .Append(AsciiConstants.ForwardSlash)
            .Append(_signatureBuilder.GenerateSignature(ApiConstants.SessionRelativePath))
            .Append(AsciiConstants.ForwardSlash)
            .Append(ApiConstants.TimeStamp());

            return(sb.ToString());
        }
예제 #10
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Error");
                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                app.UseHsts();
                app.UseHttpsRedirection();
            }

            app.UseCors(DefaultCorsPolicy);

            app.UseStaticFiles();
            app.UseSpaStaticFiles();

            app.UseRouting();
            app.UseSignalRQueryStringAuthentication();
            app.UseAuthentication();
            app.UseAuthorization();
            app.UseIdentityServer();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapHub <AssetsHub>(ApiConstants.HubUrl("assets"));
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller}/{action=Index}/{id?}");
            });

            if (string.IsNullOrEmpty(Environment.GetEnvironmentVariable("DISABLE_WEB")))
            {
                app.UseSpa(spa =>
                {
                    spa.Options.SourcePath = "ClientApp";

                    if (env.IsDevelopment())
                    {
                        spa.UseReactDevelopmentServer(npmScript: "start");
                    }
                });
            }
        }
예제 #11
0
        public string BuildGetFriendsUrl(string sessionId, string playerName)
        {
            var sb = new StringBuilder();

            sb.Append(ApiConstants.BaseUrl)
            .Append(ApiConstants.GetPlayerFriendsRelativePath)
            .Append(ApiConstants.DevKey)
            .Append(AsciiConstants.ForwardSlash)
            .Append(_signatureBuilder.GenerateSignature(ApiConstants.GetPlayerFriendsRelativePath))
            .Append(AsciiConstants.ForwardSlash)
            .Append(sessionId)
            .Append(AsciiConstants.ForwardSlash)
            .Append(ApiConstants.TimeStamp())
            .Append(AsciiConstants.ForwardSlash)
            .Append(playerName);

            return(sb.ToString());
        }
예제 #12
0
        public string BuildMatchDetailsBatchUrl(string sessionId, List <string> matchIds)
        {
            var sb = new StringBuilder();

            sb.Append(ApiConstants.BaseUrl)
            .Append(ApiConstants.GetMatchDetailsBatchRelativePath)
            .Append(ApiConstants.DevKey)
            .Append(AsciiConstants.ForwardSlash)
            .Append(_signatureBuilder.GenerateSignature(ApiConstants.GetMatchDetailsBatchRelativePath))
            .Append(AsciiConstants.ForwardSlash)
            .Append(sessionId)
            .Append(AsciiConstants.ForwardSlash)
            .Append(ApiConstants.TimeStamp())
            .Append(AsciiConstants.ForwardSlash)
            .Append(string.Join(AsciiConstants.Comma, matchIds));

            return(sb.ToString());
        }
예제 #13
0
        public string BuildGetItemsUrl(string sessionId, int langaugeId)
        {
            var sb = new StringBuilder();

            sb.Append(ApiConstants.BaseUrl)
            .Append(ApiConstants.GetItemsRelativePath)
            .Append(ApiConstants.DevKey)
            .Append(AsciiConstants.ForwardSlash)
            .Append(_signatureBuilder.GenerateSignature(ApiConstants.GetItemsRelativePath))
            .Append(AsciiConstants.ForwardSlash)
            .Append(sessionId)
            .Append(AsciiConstants.ForwardSlash)
            .Append(ApiConstants.TimeStamp())
            .Append(AsciiConstants.ForwardSlash)
            .Append(langaugeId);

            return(sb.ToString());
        }
예제 #14
0
        public string BuildMatchIdsByQueueUrl(string sessionId, string queue, string date, string hour)
        {
            var sb = new StringBuilder();

            sb.Append(ApiConstants.BaseUrl)
            .Append(ApiConstants.GetMatchIdsByQueueRelativePath)
            .Append(ApiConstants.DevKey)
            .Append(AsciiConstants.ForwardSlash)
            .Append(_signatureBuilder.GenerateSignature(ApiConstants.GetMatchIdsByQueueRelativePath))
            .Append(AsciiConstants.ForwardSlash)
            .Append(sessionId)
            .Append(AsciiConstants.ForwardSlash)
            .Append(ApiConstants.TimeStamp())
            .Append(AsciiConstants.ForwardSlash)
            .Append(queue)
            .Append(AsciiConstants.ForwardSlash)
            .Append(date)
            .Append(AsciiConstants.ForwardSlash)
            .Append(hour);

            return(sb.ToString());
        }
예제 #15
0
        protected override async void OnInitialized()
        {
            //Use License synfusion
            //Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense(Constants.SfLicense);

            //Load default Langeage resx file
            var translate = Container.Resolve <ITranslateManager>();

            if (!translate.IsLoaded)
            {
                translate.Load();
            }

            InitializeComponent();

            //Load user local storage
            var userInfo = Container.Resolve <IUserInformationLocalStorage>();

            if (!userInfo.IsLoaded)
            {
                userInfo.Load();
                //Load Theme(picto, color)
                var xmlLoader = Container.Resolve <IXmlLoader>();
                await new Theme().Load(xmlLoader);

                //Load service configuration
                var json = Container.Resolve <IJsonLoader <RootConfiguration> >();
                // Choose one specific environment from this list : [Development, Test, Production]
                RootConfiguration config = await json.GetAsync("Test");

                ApiConstants.LoadApiConfiguration(config?.ApiConfiguration);

                var gr = Container.Resolve <IGenericRepository>();
                gr.ApplicationBaseApiUrl = ApiConstants.ApplicationBaseApiUrl;
                gr.AuthBaseApiUrl        = ApiConstants.AuthBaseApiUrl;
                gr.CatalogBaseApiUrl     = ApiConstants.CatalogBaseApiUrl;
                gr.WebcBaseApiUrl        = ApiConstants.FetaureBaseApiUrl;
                gr.PlatformBaseApiUrl    = ApiConstants.PlateformBaseApiUrl;
            }

            Connectivity.ConnectivityChanged += Connectivity_ConnectivityChanged;
            // Load Authentication
            var authentication = Container.Resolve <IAuthentication>();

            authentication.GetToken();

            // Load IAppInfo
            var appInfo = Container.Resolve <IAppInfo>();

            appInfo.Load();

            if (authentication.IsConnected) // Si Connecté -> redirection pge de connexion
            {
                authentication.Logout();
                await NavigationService.NavigateAsync("Login");
            }
            else // Otherwise
            {
                await NavigationService.NavigateAsync("LoginOrSigin");
            }


            CrossFirebasePushNotification.Current.OnNotificationOpened += (s, p) =>
            {
                System.Diagnostics.Debug.WriteLine("Opened");
            };

            CrossFirebasePushNotification.Current.OnNotificationDeleted += (s, p) =>
            {
                System.Diagnostics.Debug.WriteLine("Dismissed");
            };

            CrossFirebasePushNotification.Current.OnNotificationAction += (s, p) =>
            {
                System.Diagnostics.Debug.WriteLine("Action");
            };

            CrossFirebasePushNotification.Current.OnNotificationReceived += (s, p) =>
            {
                try
                {
                    if (p == null)
                    {
                        return;
                    }
                    else
                    {
                        string title = p.Data.ContainsKey("title") ? p.Data["title"] as string : "";
                        string body  = p.Data.ContainsKey("body") ? p.Data["body"] as string : "";
                        Notification.ShowNotificationImmediatly(title, body);
                    }
                }
                catch (Exception ex)
                {
                    System.Diagnostics.Debug.WriteLine(ex.Message);
                }
            };

            var userLocalStorage = Container.Resolve <IUserInformationLocalStorage>();

            CrossFirebasePushNotification.Current.OnTokenRefresh += (s, p) =>
            {
                userLocalStorage.SetDeviceTokenNotification(p?.Token);
            };
        }
예제 #16
0
 private async Task <ApiResponseWrapper <string> > GetTallyDayBookInformation(string companyName)
 {
     return(await ApiManager.getInstance().SendTallyReqst(ApiConstants.XML_DayBook(companyName)));
 }
예제 #17
0
 private async Task <ApiResponseWrapper <string> > GetTallyRaportsInformation(string reportName, string companyName)
 {
     return(await ApiManager.getInstance().SendTallyReqst(ApiConstants.XML_GetReport(reportName, companyName)));
 }