コード例 #1
0
        public bool ApplyForResellership(ReqApplyForResellership req)
        {
            if (string.IsNullOrWhiteSpace(Provider.CurrentMember.Id))
            {
                return(false);
            }

            string resellerTypeId = req.ResellerTypeId;

            if (Provider.CurrentMember.Reseller() != null)
            {
                throw new APIException("You have already applied for resellership.");
            }

            ResellerType rt = Provider.Database.Read <ResellerType>("Id = {0}", resellerTypeId);

            if (Provider.CurrentMember.CreditBalance < rt.PrePaidCreditAmount)
            {
                throw new APIException("You have not enough credits to apply this resellership. (Min amount: " + (rt.PrePaidCreditAmount / 100) + ")");
            }

            Reseller r = new Reseller();

            rt.CopyPropertiesWithSameName(r);
            r.ResellerEndDate = Provider.Database.Now.AddDays(rt.ValidityInDays);
            r.Id             = Provider.CurrentMember.Id;
            r.ResellerTypeId = rt.Id;
            Provider.Database.Insert("Reseller", Provider.Database.EntityToHashtable(r), false);

            r.Member().MemberType = MemberTypes.Reseller;
            r.Member().Medal      = rt.Id;
            r.Member().Save();

            return(true);
        }
コード例 #2
0
 public bool ApplyForResellership(ReqApplyForResellership req)
 {
     return(Call <bool, ReqApplyForResellership>(req, MethodBase.GetCurrentMethod().Name));
 }