Esempio n. 1
0
        protected override async Task <PortalActionResult> ProcessImport(string id)
        {
            var bitdefender = ZohoRepository.Bitdefenders.FirstOrDefault(x => x.BitdefenderID.Equals(id, StringComparison.CurrentCultureIgnoreCase));

            if (bitdefender == null)
            {
                return(new PortalActionResult
                {
                    IsSuccess = false,
                    Message = string.Format("Could not find Bitdefender record for id:{0}", id)
                });
            }

            var accountId = bitdefender.BDPartner;

            var company = await _userManager.GetCompanyByZohoAccountIdAsync(accountId);

            if (company == null)
            {
                return(new PortalActionResult
                {
                    IsSuccess = false,
                    Message = string.Format("Could not find Account/Company information for Zoho Account id:{0}", accountId)
                });
            }

            var companyHasClaim = await _userManager.ComanyHasClaimAsync(company.Id, _bdClarimType, _bdClarimValue);

            if (companyHasClaim)
            {
                return(new PortalActionResult
                {
                    IsSuccess = true,
                    Message = string.Format("Account {0} already has Bitdefender module permission", accountId)
                });
            }


            var result = _userManager.CreateCompanyClaimAsync(new CompanyClaims
            {
                CompanyId  = company.Id,
                ClaimType  = _bdClarimType,
                ClaimValue = _bdClarimValue
            });


            return(new PortalActionResult
            {
                IsSuccess = true,
                Message = string.Format("Bitdefender Permission added for Account:{0}", accountId)
            });
        }