private void LoadSubscriptionDetails()
        {
            string adminUserId = string.Empty;

            if (AppState.Instance.IsSuperAdmin)
            {
                adminUserId = AppState.Instance.User.UserId;
            }
            else
            {
                adminUserId = AppState.Instance.SelectedTeam.AdminId;
            }
            HttpClient client = AppState.CreateClient(ServiceType.OnPremiseWebApi.ToString());

            client.DefaultRequestHeaders.Add("Authorization", "Bearer " + AppState.Instance.OnPremiseToken.access_token);
            var response = client.GetAsync("api/UserSubscription/SubscriptionDetils/" + adminUserId).Result;

            if (response.IsSuccessStatusCode)
            {
                var jsonData = response.Content.ReadAsStringAsync().Result;
                if (!string.IsNullOrEmpty(jsonData))
                {
                    _subscriptionDetailsList = JsonConvert.DeserializeObject <List <SubscriptionDetails> >(jsonData);
                }
            }
            client.Dispose();
        }
        /// <summary>
        /// To load subscription collection.
        /// </summary>
        private void LoadSubscriptionList()
        {
            HttpClient client = AppState.CreateClient(ServiceType.CentralizeWebApi.ToString());

            client.DefaultRequestHeaders.Add("Authorization", "Bearer " + AppState.Instance.CentralizedToken.access_token);
            HttpResponseMessage response;

            if (AppState.Instance.IsSuperAdmin)
            {
                response = client.GetAsync("api/subscription/All").Result;
            }
            else
            {
                response = client.GetAsync("api/subscription/All/" + AppState.Instance.User.ServerUserId).Result;
            }
            if (response.IsSuccessStatusCode)
            {
                var data             = response.Content.ReadAsStringAsync().Result;
                var subscriptionList = JsonConvert.DeserializeObject <List <SubscriptionType> >(data);
                foreach (var x in subscriptionList)
                {
                    x.ImagePath = @"..\ProductImages\" + x.ImagePath;
                    _subscriptionList.Add(x);
                }
            }
            else
            {
                var jsonData      = response.Content.ReadAsStringAsync().Result;
                var failureResult = JsonConvert.DeserializeObject <ResponseFailure>(jsonData);
            }
            client.Dispose();
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Performing the licence purchase action.
        /// </summary>
        /// <param name="parm"></param>
        private void OnPurchase(object parm)
        {
            if (!string.IsNullOrEmpty(CardName) && !string.IsNullOrEmpty(CardNumber) && !string.IsNullOrEmpty(SelectedMonth) &&
                !string.IsNullOrEmpty(SelectedYear.ToString()) && !string.IsNullOrEmpty(CardCVV.ToString()))
            {
                //Add to cart
                CartItems item = new CartItems();
                item.SubscriptionTypeId = Convert.ToInt32(AppState.Instance.SelectedSubscription.Id);
                item.Quantity           = 1;
                item.DateCreated        = DateTime.Now;
                item.UserId             = AppState.Instance.User.ServerUserId;
                HttpClient client0 = AppState.CreateClient(ServiceType.CentralizeWebApi.ToString());
                client0.DefaultRequestHeaders.Add("Authorization", "Bearer " + AppState.Instance.CentralizedToken.access_token);
                var response = client0.PostAsJsonAsync("api/Cart/Create", item).Result;
                client0.Dispose();
                // ===================

                SubscriptionList userSubscriptionList = null;
                var        serviceType = System.Configuration.ConfigurationManager.AppSettings.Get("ServiceType");
                HttpClient client      = AppState.CreateClient(ServiceType.CentralizeWebApi.ToString());
                client.DefaultRequestHeaders.Add("Authorization", "Bearer " + AppState.Instance.CentralizedToken.access_token);
                response = client.PostAsync("api/cart/OnlinePayment/" + AppState.Instance.User.ServerUserId, null).Result;
                if (response.IsSuccessStatusCode)
                {
                    var jsondata = response.Content.ReadAsStringAsync().Result;
                    if (!string.IsNullOrEmpty(jsondata))
                    {
                        userSubscriptionList = JsonConvert.DeserializeObject <SubscriptionList>(jsondata);
                        string userId = string.Empty;
                        userId = AppState.Instance.User.UserId;
                        List <UserSubscriptionData> subscriptionData = new List <UserSubscriptionData>();
                        foreach (var subDtls in userSubscriptionList.Subscriptions)
                        {
                            //Code to save the user Subscription details to Database.
                            UserSubscriptionData userSubscription = new UserSubscriptionData();
                            userSubscription.SubscriptionDate = subDtls.SubscriptionDate;
                            userSubscription.SubscriptionId   = subDtls.SubscriptionTypeId;
                            userSubscription.UserId           = userId;
                            userSubscription.Quantity         = subDtls.OrderdQuantity;
                            userSubscription.Subscription     = subDtls;
                            userSubscription.LicenseKeys      = subDtls.LicenseKeyProductMapping;
                            subscriptionData.Add(userSubscription);
                        }
                        client.Dispose();
                        HttpClient client1 = AppState.CreateClient(ServiceType.OnPremiseWebApi.ToString());
                        client1.DefaultRequestHeaders.Add("Authorization", "Bearer " + AppState.Instance.OnPremiseToken.access_token);
                        var response1 = client1.PostAsJsonAsync("api/UserSubscription/SyncSubscription", subscriptionData).Result;
                        client1.Dispose();
                    }
                }
                var kvp = new Dictionary <string, string>();
                kvp.Add("Amount", AppState.Instance.SelectedSubscription.Price.ToString());
                NavigateNextPage("RedirectToAmountPaymentPage", kvp);
            }
        }
Ejemplo n.º 4
0
        public void LoadTeams()
        {
            HttpClient client = AppState.CreateClient(ServiceType.OnPremiseWebApi.ToString());

            client.DefaultRequestHeaders.Add("Authorization", "Bearer " + AppState.Instance.OnPremiseToken.access_token);
            string url = "api/Team/GetTeamsByUserId/";

            if (AppState.Instance.IsSuperAdmin)
            {
                url = "api/Team/GetTeamsByAdminId/";
            }
            var response = client.GetAsync(url + AppState.Instance.User.UserId).Result;

            if (response.IsSuccessStatusCode)
            {
                var jsonData = response.Content.ReadAsStringAsync().Result;
                var teamList = JsonConvert.DeserializeObject <List <Team> >(jsonData);
                if (teamList.Count > 1)
                {
                    AppState.Instance.TeamList = teamList;
                    Views.Teams teamWindow = new Views.Teams();
                    teamWindow.ClosePopupWindow += CloseWindow;
                    teamWindow.ShowDialog();
                }
                else if (teamList.Count == 1)
                {
                    AppState.Instance.SelectedTeam = teamList.FirstOrDefault();
                    ConcurrentUserLogin userLogin = new ConcurrentUserLogin();
                    userLogin.TeamId = AppState.Instance.SelectedTeam.Id;
                    userLogin.UserId = AppState.Instance.User.UserId;
                    client           = AppState.CreateClient(ServiceType.OnPremiseWebApi.ToString());
                    client.DefaultRequestHeaders.Add("Authorization", "Bearer " + AppState.Instance.OnPremiseToken.access_token);
                    response = client.PostAsJsonAsync("api/User/IsConcurrentUserLoggedIn", userLogin).Result;
                    jsonData = response.Content.ReadAsStringAsync().Result;
                    var userLoginObj = JsonConvert.DeserializeObject <ConcurrentUserLogin>(jsonData);
                    if (userLoginObj.IsUserLoggedIn)
                    {
                        NavigateNextPage?.Invoke("Dashboard", null);
                    }
                    else
                    {
                        MessageBox.Show(userLoginObj.ErrorOrNotificationMessage);
                    }
                }
            }
        }
Ejemplo n.º 5
0
        public void LoadFeaturesOnline()
        {
            HttpClient client = AppState.CreateClient(ServiceType.OnPremiseWebApi.ToString());

            client.DefaultRequestHeaders.Add("authorization", "Bearer " + AppState.Instance.OnPremiseToken.access_token);
            FetchUserSubscription userSub = new FetchUserSubscription();

            userSub.TeamId            = AppState.Instance.SelectedTeam.Id;
            userSub.IsFeatureRequired = true;
            userSub.UserId            = AppState.Instance.User.UserId;
            var response = client.PostAsJsonAsync("api/License/GetSubscriptionLicenseByTeam", userSub).Result;

            if (response.IsSuccessStatusCode)
            {
                var jsonData = response.Content.ReadAsStringAsync().Result;
                var details  = JsonConvert.DeserializeObject <UserLicenseDetails>(jsonData);
                AppState.Instance.UserLicenseList = details.SubscriptionDetails;
                UpdateFeatureToFile();
            }
        }
Ejemplo n.º 6
0
        private void PayOffline(object obj)
        {
            //Add to cart
            CartItems item = new CartItems();

            item.SubscriptionTypeId = Convert.ToInt32(AppState.Instance.SelectedSubscription.Id);
            item.Quantity           = 1;
            item.DateCreated        = DateTime.Now;
            item.UserId             = AppState.Instance.User.ServerUserId;
            HttpClient client0 = AppState.CreateClient(ServiceType.CentralizeWebApi.ToString());

            client0.DefaultRequestHeaders.Add("Authorization", "Bearer " + AppState.Instance.CentralizedToken.access_token);
            var response = client0.PostAsJsonAsync("api/Cart/Create", item).Result;

            client0.Dispose();

            //=========================================

            PurchaseOrder poOrder = new PurchaseOrder();
            HttpClient    client  = AppState.CreateClient(ServiceType.CentralizeWebApi.ToString());

            client.DefaultRequestHeaders.Add("Authorization", "Bearer " + AppState.Instance.CentralizedToken.access_token);
            response = client.PostAsync("api/cart/offlinepayment/" + AppState.Instance.User.ServerUserId, null).Result;
            if (response.IsSuccessStatusCode)
            {
                var jsonData = response.Content.ReadAsStringAsync().Result;
                if (!string.IsNullOrEmpty(jsonData))
                {
                    poOrder = JsonConvert.DeserializeObject <PurchaseOrder>(jsonData);
                }
                AppState.Instance.purchaseOrder = poOrder;
            }
            else
            {
                var jsonData = response.Content.ReadAsStringAsync().Result;
                //var obj = JsonConvert.DeserializeObject<ResponseFailure>(jsonData);
                //ModelState.AddModelError("", response.ReasonPhrase + " - " + obj.Message);
            }
            NavigateNextPage("OfflinePayment", null);
        }
Ejemplo n.º 7
0
        public void UpdateLogoutStatus(string userId, ServiceType type)
        {
            HttpClient client = AppState.CreateClient(type.ToString());

            switch (type)
            {
            case ServiceType.CentralizeWebApi:
                client.DefaultRequestHeaders.Add("Authorization", "Bearer " + AppState.Instance.CentralizedToken.access_token);
                break;

            case ServiceType.OnPremiseWebApi:
                client.DefaultRequestHeaders.Add("Authorization", "Bearer " + AppState.Instance.OnPremiseToken.access_token);
                break;
            }
            User userModel = new User()
            {
                UserId   = userId,
                IsActive = false
            };

            client.PutAsJsonAsync("api/user/UpdateActiveStatus", userModel);
        }
Ejemplo n.º 8
0
        public void UpdateSelectedTeam(object args)
        {
            AppState.Instance.SelectedTeam = (Team)args;
            ConcurrentUserLogin userLogin = new ConcurrentUserLogin();

            userLogin.TeamId = AppState.Instance.SelectedTeam.Id;
            userLogin.UserId = AppState.Instance.User.UserId;
            HttpClient client = AppState.CreateClient(ServiceType.OnPremiseWebApi.ToString());

            client.DefaultRequestHeaders.Add("Authorization", "Bearer " + AppState.Instance.OnPremiseToken.access_token);
            var response     = client.PostAsJsonAsync("api/User/IsConcurrentUserLoggedIn", userLogin).Result;
            var jsonData     = response.Content.ReadAsStringAsync().Result;
            var userLoginObj = JsonConvert.DeserializeObject <ConcurrentUserLogin>(jsonData);

            AppState.Instance.UserLogin = userLoginObj;
            //CustomEventArgs e = new CustomEventArgs();
            //e.IsConcurrentuserLoggedIn = userLoginObj.IsUserLoggedIn;
            //if (userLoginObj.IsUserLoggedIn)
            //    e.ErrorMessage = "";
            //else
            //    e.ErrorMessage = userLoginObj.ErrorOrNotificationMessage;
            ClosepoupWindow?.Invoke(this, new EventArgs());
        }
Ejemplo n.º 9
0
        private void UpdateSubscriptionOnpremise(SubscriptionList subs)
        {
            string userId = string.Empty;

            userId = AppState.Instance.User.UserId;
            List <UserSubscriptionData> subscriptionData = new List <UserSubscriptionData>();

            foreach (var subDtls in subs.Subscriptions)
            {
                //Code to save the user Subscription details to Database.
                UserSubscriptionData userSubscription = new UserSubscriptionData();
                userSubscription.SubscriptionDate = subDtls.SubscriptionDate;
                userSubscription.SubscriptionId   = subDtls.SubscriptionTypeId;
                userSubscription.UserId           = userId;
                userSubscription.Quantity         = subDtls.OrderdQuantity;
                userSubscription.Subscription     = subDtls;
                userSubscription.LicenseKeys      = subDtls.LicenseKeyProductMapping;
                subscriptionData.Add(userSubscription);
            }
            HttpClient client = AppState.CreateClient(ServiceType.OnPremiseWebApi.ToString());

            client.DefaultRequestHeaders.Add("Authorization", "Bearer " + AppState.Instance.OnPremiseToken.access_token);
            var response = client.PostAsJsonAsync("api/UserSubscription/SyncSubscription", subscriptionData).Result;
        }
Ejemplo n.º 10
0
        private void SynchPurchaseOrder(string userID)
        {
            string     errorMessage = string.Empty;
            HttpClient client       = AppState.CreateClient(ServiceType.CentralizeWebApi.ToString());

            client.DefaultRequestHeaders.Add("Authorization", "Bearer " + AppState.Instance.CentralizedToken.access_token);
            var response = client.GetAsync("api/purchaseorder/syncpo/" + userID).Result;

            if (response.IsSuccessStatusCode)
            {
                var jsonData = response.Content.ReadAsStringAsync().Result;
                var obj      = JsonConvert.DeserializeObject <SubscriptionList>(jsonData);
                if (obj.Subscriptions.Count > 0)
                {
                    UpdateSubscriptionOnpremise(obj);
                }
            }
            else
            {
                var jsonData = response.Content.ReadAsStringAsync().Result;
                var obj      = JsonConvert.DeserializeObject <ResponseFailure>(jsonData);
                errorMessage = response.ReasonPhrase + " - " + obj.Message;
            }
        }
Ejemplo n.º 11
0
        public User AuthenticateOnline(string email, string password)
        {
            User       user     = null;
            HttpClient client   = AppState.CreateClient(ServiceType.OnPremiseWebApi.ToString());
            var        formData = new FormUrlEncodedContent(new[] {
                new KeyValuePair <string, string>("grant_type", "password"),
                new KeyValuePair <string, string>("username", email),
                new KeyValuePair <string, string>("password", password)
            });

            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
                                                                                       EncodeToBase64(string.Format("{0}:{1}",
                                                                                                                    applicationCode,
                                                                                                                    applicationSecretPass)));
            var response = client.PostAsync("/Authenticate", formData).Result;

            if (response.IsSuccessStatusCode)
            {
                var jsondata = response.Content.ReadAsStringAsync().Result;
                var token    = JsonConvert.DeserializeObject <AccessToken>(jsondata);
                AppState.Instance.OnPremiseToken = token;
                client.Dispose();
                client = AppState.CreateClient(ServiceType.OnPremiseWebApi.ToString());
                client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token.access_token);
                response = client.GetAsync("api/user/UserById/" + token.Id).Result;
                if (response.IsSuccessStatusCode)
                {
                    jsondata = response.Content.ReadAsStringAsync().Result;
                    user     = JsonConvert.DeserializeObject <User>(jsondata);
                    AppState.Instance.IsSuperAdmin = false;
                    if (user.Roles.Contains("SuperAdmin"))
                    {
                        client.Dispose();
                        var formData1 = new FormUrlEncodedContent(new[] {
                            new KeyValuePair <string, string>("grant_type", "password"),
                            new KeyValuePair <string, string>("username", email),
                            new KeyValuePair <string, string>("password", password)
                        });
                        client = AppState.CreateClient(ServiceType.OnPremiseWebApi.ToString());
                        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
                                                                                                   EncodeToBase64(string.Format("{0}:{1}",
                                                                                                                                applicationCode,
                                                                                                                                applicationSecretPass)));
                        response = client.PostAsync("/Authenticate", formData1).Result;
                        if (response.IsSuccessStatusCode)
                        {
                            jsondata = response.Content.ReadAsStringAsync().Result;
                            token    = JsonConvert.DeserializeObject <AccessToken>(jsondata);
                            AppState.Instance.CentralizedToken = token;
                        }
                        AppState.Instance.IsSuperAdmin = true;
                    }

                    CreateCredentialFile(user, password);
                    if (AppState.Instance.IsSuperAdmin)
                    {
                        SynchPurchaseOrder(user.ServerUserId);
                    }
                }
            }
            else
            {
                ErrorMessage = "Invalid User Name or Password";
            }
            return(user);
        }