Example #1
0
        public void UpdatePartnerStatus(string loginName, PartnerStatus newStatus)
        {
            IPartner partner = GetPartnerByLoginName(loginName);

            DalPartner dal = new DalPartner(this.storageAccount, this.container);

            partner.Status = newStatus;
            dal.Save(partner as Partner);
        }
Example #2
0
        public IPartner GetPartnerByLoginName(string loginName)
        {
            IPartner result = null;

            string    location = @"AzureDalManager.GetPartnerByLoginName";
            Stopwatch watch    = Stopwatch.StartNew();

            try
            {
                CloudBlobClient client = this.storageAccount.CreateCloudBlobClient();

                BlobRequestOptions requestOption = new BlobRequestOptions()
                {
                    UseFlatBlobListing = true
                };
                string prefix = string.Format(CultureInfo.InvariantCulture, "{0}/partneraccount/", this.container.Name);
                foreach (IListBlobItem partnetAccountBlobItem in client.ListBlobsWithPrefix(prefix, requestOption))
                {
                    string[] segments = partnetAccountBlobItem.Uri.Segments;
                    if (segments != null && segments.Length > 1)
                    {
                        string lastSegment = segments[segments.Length - 1];
                        if (!string.IsNullOrWhiteSpace(lastSegment))
                        {
                            if (loginName.Equals(lastSegment, StringComparison.OrdinalIgnoreCase))
                            {
                                string partnerIdentifier = segments[segments.Length - 2].Trim('/');
                                if (!string.IsNullOrWhiteSpace(partnerIdentifier))
                                {
                                    DalPartner dal = new DalPartner(this.storageAccount, this.container);
                                    result = dal.Get(partnerIdentifier);
                                    break;
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                LoggerFactory.Logger.Warning(location, EventId.DALGetPartnerByLoginName,
                                             "Error executing AzureDalManager.GetPartnerByLoginName({0}) in container {1}: {2}."
                                             , loginName, this.container.Name, exception.ToString());
            }
            finally
            {
                watch.Stop();
                LoggerFactory.Logger.Debug(location, "AzureDalManager.GetPartnerByLoginName() finished in {0} ms.", watch.ElapsedMilliseconds);
            }

            return(result);
        }
Example #3
0
        public List <IPartnerAccount> ListPartnerAccounts()
        {
            List <IPartnerAccount> result = new List <IPartnerAccount>();

            DalPartner dalPartner = new DalPartner(this.storageAccount, this.container);

            foreach (IPartner partner in dalPartner.List())
            {
                DalPartnerAccount dal = new DalPartnerAccount(this.storageAccount, this.container, partner.Identifier);
                result.AddRange(dal.List().ConvertAll <IPartnerAccount>(partnerAccount => partnerAccount));
            }

            return(result);
        }
Example #4
0
        public void DeletePartner(IPartner partner)
        {
            DalPartner dal = new DalPartner(this.storageAccount, this.container);

            dal.Delete(partner as Partner);
        }
Example #5
0
        public List <IPartner> ListPartners()
        {
            DalPartner dal = new DalPartner(this.storageAccount, this.container);

            return(dal.List().ConvertAll <IPartner>(partner => partner));
        }
Example #6
0
        public IPartner GetPartner(string identifier)
        {
            DalPartner dal = new DalPartner(this.storageAccount, this.container);

            return(dal.Get(identifier));
        }