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); }
public bool ApplyForResellership(ReqApplyForResellership req) { return(Call <bool, ReqApplyForResellership>(req, MethodBase.GetCurrentMethod().Name)); }