public JsonResult ByAgencyApi(int orgId)
        {
            var apis = _apiClientBusiness.GetApiClients(orgId);

            var models = apis.Select(api => new
            {
                ApiClientId = api.ApiClientId,
                VendorName  = api.Application.Vendor.VendorName,
                Key         = api.Key,
                Claimset    = api.Application.ClaimSetName,
                Profile     = api.Application.Profiles?.Select(p => p.ProfileName).FirstOrDefault()
            });

            return(Json(models));
        }
Ejemplo n.º 2
0
        public ActionResult Index()
        {
            var user = _userBusiness.GetUserByWamsId(WamsUser.WamsId);

            if (user == null)//no user found with this id
            {
                user = _userBusiness.GetNonAsmUserByEmail(WamsUser.Email);
                if (user != null)//user without wamsid found with matching email
                {
                    var asmUser = _userBusiness.GetAsmUserByWamsId(WamsUser.WamsId);
                    if (asmUser != null)
                    {
                        user.UserAsmUser = new UserAsmUser {
                            WamsId = asmUser.WamsId, WamsUser = asmUser.UserName
                        };
                        _userBusiness.SaveChanges(WamsUser.WamsId);
                    }
                }
                else
                {
                    var vendor =
                        _vendorBusiness.GetVendorIdByDomain(WamsUser.Email.Substring(WamsUser.Email.IndexOf("@") + 1));
                    if (vendor != null)
                    {
                        user = new User {
                            Email = WamsUser.Email, FullName = WamsUser.FullName, VendorVendorId = vendor.VendorId
                        };
                        var asmUser = _userBusiness.GetAsmUserByWamsId(WamsUser.WamsId);
                        if (asmUser != null)
                        {
                            user.UserAsmUser = new UserAsmUser {
                                WamsId = asmUser.WamsId, WamsUser = asmUser.UserName
                            };
                        }
                        _userBusiness.Create(user);
                        _userBusiness.SaveChanges(WamsUser.WamsId);
                        user.Vendor = vendor;
                    }
                    else
                    {
                        return(View("UserAccountError"));
                    }
                }
            }

            if (user.VendorVendorId == null)
            {
                return(View("UserAccountError"));
            }

            var nonTestApiClients    = _apiClientBusiness.GetApiClients(WamsUser.WamsId);
            var hasNonTestApiClients = nonTestApiClients.Any();

            var agreement = _agreementBusiness.FindByWamsIdNotVendorSub(WamsUser.WamsId, AgreementType.Vendor);
            var agree     = (agreement != null && agreement.Agree);

            var currentUser =
                new UserModel
            {
                UserId         = user.UserId,
                FullName       = user.FullName,
                WamsUserName   = user.UserAsmUser?.WamsUser,
                VendorVendorId = user.VendorVendorId,
                Email          = user.Email,
                VendorName     = user.Vendor?.VendorName
            };
            var users      = _userBusiness.GetUsers(user.VendorVendorId.GetValueOrDefault());
            var userModels = users.Select(u => new UserModel
            {
                UserId         = u.UserId,
                FullName       = u.FullName,
                WamsUserName   = u.UserAsmUser?.WamsUser,
                VendorVendorId = u.VendorVendorId,
                Email          = u.Email,
                VendorName     = u.Vendor?.VendorName
            }).ToList();

            var message = _siteContentBusiness.GetByContentTypeId((int)SiteContentType.VendorAgreement);
            var model   = new VendorProfileModel
            {
                VendorName           = user.Vendor.VendorName,
                HasAgreed            = agree,
                HasNonTestApiClients = hasNonTestApiClients,
                AgreementMessage     = message.Body,
                Users       = userModels,
                CurrentUser = currentUser
            };

            return(View(model));
        }