private async Task SendGrantAdminConsentCard(IDialogContext context, Activity activity, TeamsChannelData channelData)
        {
            var configurationCard = new ThumbnailCard
            {
                Text = "Please grant permission to the application first."
            };

            // Show button with Open URl.
            AdminUserDetails adminDetails = new AdminUserDetails
            {
                ServiceUrl  = activity.ServiceUrl,
                UserEmailId = await GetUserEmailId(activity)
            };
            var loginUrl = GetAdminConsentUrl(channelData.Tenant.Id, ApplicationSettings.AppId, adminDetails);

            configurationCard.Buttons = new List <CardAction>();
            configurationCard.Buttons.Add(new CardAction()
            {
                Title = "Grant Admin Permission",
                Value = loginUrl,
                Type  = ActionTypes.OpenUrl
            });

            var reply = activity.CreateReply();

            reply.Attachments.Add(configurationCard.ToAttachment());
            await context.PostAsync(reply);
        }
Example #2
0
        /// <summary>
        /// Gets the admin user address details.
        /// </summary>
        /// <param name="userId">The user identifier.</param>
        /// <returns></returns>
        public AdminUserDetails GetAdminUserAddressDetails(int userId)
        {
            AdminUserDetails adminUserDetails = new AdminUserDetails();

            try
            {
                SqlParameter[] parameters = new SqlParameter[1];
                parameters[0] = new SqlParameter("adminUserId", userId);
                DataSet dataSet = DBHelper.GetDataTable("GetAdminLastAddress", parameters, DBHelper.ParseString(settings.Value.AppDbContext));
                if (dataSet != null && dataSet.Tables != null && dataSet.Tables.Count > 0)
                {
                    DataTable dt = dataSet.Tables[0];
                    if (dt != null && dt.Rows.Count > 0)
                    {
                        var row = dt.Rows[0];
                        adminUserDetails.Address1    = DBHelper.ParseString(row["Address1"]);
                        adminUserDetails.Address2    = DBHelper.ParseString(row["Address2"]);
                        adminUserDetails.City        = DBHelper.ParseString(row["City"]);
                        adminUserDetails.CountryName = DBHelper.ParseString(row["CountryName"]);
                        adminUserDetails.FirstName   = DBHelper.ParseString(row["FirstName"]);
                        adminUserDetails.StateName   = DBHelper.ParseString(row["StateName"]);
                    }
                }
                return(adminUserDetails);
            }
            catch (Exception)
            {
                throw;
            }
        }
Example #3
0
        public IActionResult AddAdminUser([FromBody] PostModel inUsers)
        {
            AdminUserDetails obj = JsonConvert.DeserializeObject <AdminUserDetails>(inUsers.Key);

            try
            {
                var result = _IUser.AddAdminUser(obj);
                return(Ok(result));
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Example #4
0
 public Result AddAdminUser(AdminUserDetails adminUsers)
 {
     try
     {
         AdminUsers adminUserDetails = new AdminUsers();
         using (DB_A3E3FF_scampus2020Context db = new DB_A3E3FF_scampus2020Context())
         {
             adminUserDetails.Userid         = Guid.NewGuid();
             adminUserDetails.Username       = adminUsers.Username;
             adminUserDetails.Password       = adminUsers.Password;
             adminUserDetails.EmailId        = adminUsers.EmailId;
             adminUserDetails.ConfigSettings = adminUsers.ConfigSettings;
             adminUserDetails.Status         = adminUsers.Status;
             adminUserDetails.AccountStatus  = adminUsers.AccountStatus;
             adminUserDetails.CreatedBy      = adminUsers.CreatedBy;
             adminUserDetails.CreatedDate    = adminUsers.CreatedDate;
             adminUserDetails.UpdatedBy      = adminUsers.UpdatedBy;
             adminUserDetails.UpdatedDate    = adminUsers.UpdatedDate;
             adminUserDetails.Role           = adminUsers.Role;
             adminUserDetails.Baseurl        = adminUsers.Baseurl;
             adminUserDetails.CreatedById    = adminUsers.CreatedById;
             db.AdminUsers.Add(adminUserDetails);
             var result = db.SaveChanges();
             if (result == 1)
             {
                 return(new Result {
                     StatusCode = 1, Message = "Added Successdully..!"
                 });
             }
             else
             {
                 return(new Result {
                     StatusCode = -1, Message = "Adding Failed..!"
                 });
             }
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public async Task <AdminUserDetailsList> GetUsers()
        {
            AdminUserDetailsList usersList = new AdminUserDetailsList();

            ProfileDetails profileDetails;

            if (ValidateAuthentication(true, out profileDetails))
            {
                IProfileService profileService = DependencyResolver.Current.GetService(typeof(IProfileService)) as IProfileService;
                profileDetails = profileService.GetProfile(profileDetails.PUID);
                if (profileDetails != null)
                {
                    usersList.AdminUsers = new Collection <AdminUserDetails>();
                    usersList.Users      = new Collection <AdminUserDetails>();

                    foreach (var profile in await profileService.GetAllProfiles(profileDetails.ID))
                    {
                        AdminUserDetails user = new AdminUserDetails();
                        Mapper.Map(profile, user);

                        if (profile.UserType == UserTypes.SiteAdmin)
                        {
                            usersList.AdminUsers.Add(user);
                        }
                        else
                        {
                            usersList.Users.Add(user);
                        }
                    }
                }
                else
                {
                    throw new WebFaultException <string>(Resources.UserNotRegisteredMessage, HttpStatusCode.Unauthorized);
                }
            }

            return(usersList);
        }
Example #6
0
        /// <summary>
        /// Gets the user address.
        /// </summary>
        /// <param name="userId">The user identifier.</param>
        /// <param name="orderInvoiceId">The order invoice identifier.</param>
        /// <returns></returns>
        public AdminUserDetails GetUserAddress(int userId, long orderInvoiceId)
        {
            AdminUserDetails userDetails = new AdminUserDetails();

            try
            {
                var orderInvoice = context.OrderInvoice.Where(a => a.OrderInvoiceId == orderInvoiceId).FirstOrDefault();
                if (orderInvoice != null)
                {
                    var order = context.Order.Where(a => a.OrderId == orderInvoice.OrderFK).FirstOrDefault();

                    if (order != null)
                    {
                        var userAddress = context.UserAddress.Where(a => a.UserAddressId == order.UserAddressFK).FirstOrDefault();
                        if (userAddress != null)
                        {
                            var country = context.Country.Where(a => a.CountryId == userAddress.CountryFK).FirstOrDefault();
                            var state   = context.State.Where(a => a.StateId == userAddress.StateFK).FirstOrDefault();

                            userDetails.Address1     = userAddress.Address1;
                            userDetails.Address2     = userAddress.Address2;
                            userDetails.City         = userAddress.City;
                            userDetails.CountryName  = country.Name;
                            userDetails.StateName    = state.Name;
                            userDetails.Zipcode      = userAddress.Zipcode;
                            userDetails.PhoneNumber  = userAddress.PhoneNumber;
                            userDetails.FirstName    = userAddress.FullName;
                            userDetails.EmailAddress = userAddress.Email;
                        }
                    }
                }
                return(userDetails);
            }
            catch (Exception)
            {
                throw;
            }
        }
Example #7
0
        /// <summary>
        /// Orders the list.
        /// </summary>
        /// <param name="OrderId">The order identifier.</param>
        /// <param name="OrderStatusId">The order status identifier.</param>
        /// <returns></returns>
        public IActionResult ProcessInvoicePayment(OrderInvoicePayment model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    StripeConfiguration.SetApiKey(config.GetValue <string>("app_settings:StripePublishKey"));
                    StripeConfiguration.ApiKey = config.GetValue <string>("app_settings:StripeSecreteKey");

                    AdminUserDetails adminUserDetails = iOrderInvoice.GetUserAddress(model.LoggedInUserId, model.OrderInvoiceId);
                    var customers = new CustomerService();
                    var charges   = new ChargeService();

                    var customer = customers.Create(new CustomerCreateOptions
                    {
                        Email   = model.StripeEmail,
                        Source  = model.StripeToken,
                        Name    = adminUserDetails.FirstName,
                        Address = new AddressOptions
                        {
                            Line1      = adminUserDetails.Address1,
                            Line2      = adminUserDetails.Address2,
                            PostalCode = adminUserDetails.Zipcode,
                            City       = adminUserDetails.City,
                            State      = adminUserDetails.StateName,
                            Country    = adminUserDetails.CountryName
                        },
                    });

                    var charge = charges.Create(new ChargeCreateOptions
                    {
                        Amount      = DBHelper.ParseInt64(model.Amount),
                        Description = string.Concat("Payment by ", adminUserDetails.FirstName, " For InvoiceId ", model.OrderInvoiceId),
                        Currency    = "usd",
                        Customer    = customer.Id,
                        Shipping    = new ChargeShippingOptions {
                            Name    = adminUserDetails.FirstName,
                            Phone   = adminUserDetails.PhoneNumber,
                            Address = new AddressOptions
                            {
                                Line1      = adminUserDetails.Address1,
                                Line2      = adminUserDetails.Address2,
                                PostalCode = adminUserDetails.Zipcode,
                                City       = adminUserDetails.City,
                                State      = adminUserDetails.StateName,
                                Country    = adminUserDetails.CountryName
                            }
                        }
                    });

                    iOrderInvoice.UpdateInvoiceStripeDetails(model.OrderInvoiceId, customer.Id, charge.Id);

                    return(Ok(ResponseHelper.Success(MessageConstants.PaymentSuccess)));
                }
                return(Ok(ResponseHelper.Error(MessageConstants.CompulsoryData)));
            }
            catch (Exception ex)
            {
                LogHelper.ExceptionLog(ex.Message + "  :::::  " + ex.StackTrace);
                return(Ok(ResponseHelper.Error(ex.Message)));
            }
        }
        private static string GetAdminConsentUrl(string tenant, string appId, AdminUserDetails adminDetails)
        {
            var data = System.Web.HttpUtility.UrlEncode(JsonConvert.SerializeObject(adminDetails));

            return($"https://login.microsoftonline.com/{tenant}/adminconsent?client_id={appId}&state={data}&redirect_uri={ System.Web.HttpUtility.UrlEncode(ApplicationSettings.BaseUrl + "/adminconsent")}");
        }