Example #1
0
        private ButtonView GetWxcCampaignButton(JToken json, DomainContext domainContext)
        {
            string clientAddress = _clientAddress.Replace("$APPID$", domainContext.AppId);

            EnumCampaignType type = (EnumCampaignType)Enum.Parse(typeof(EnumCampaignType), json["campaignType"].ToString());

            ButtonView button = new ButtonView();

            button.Name = json["name"].ToString();
            //http://wx8c36b3c0000a0a49.wxc.shengxunwei.com/Campaign/PictureVote/2a58d820-de07-4c8f-80b9-b5cb5a1028b4?id=16bc2e8e-8dbd-405a-85cc-34fb1879fd8a
            string campaignUri = null;

            switch (type)
            {
            case EnumCampaignType.PictureVote:
                campaignUri = "PictureVote";
                break;

            case EnumCampaignType.MemberQRCode:
                campaignUri = "MemberQRCode";
                break;

            case EnumCampaignType.Lottery:
                campaignUri = "Lottery";
                break;

            case EnumCampaignType.LuckyTicket:
                campaignUri = "LuckyTicket";
                break;

            case EnumCampaignType.ShakingLottery:
                campaignUri = "ShakingLottery";
                break;

            default:
                Debug.Assert(false, "未知的活动类型");
                _log.Write("发布菜单时遇到未知的活动类型", type.ToString(), TraceEventType.Error);
                break;
            }

            button.Url = String.Format(clientAddress + "Campaign/{0}/{1}?campaignId={2}",
                                       campaignUri, domainContext.Domain.Id, json["campaign"].ToString());

            return(button);
        }
        public GetCampaignCountResult GetCampaignCount(Guid domainId, string appId, EnumCampaignType type)
        {
            List <CommandParameter> parameterList = new List <CommandParameter>();

            parameterList.Add(new CommandParameter("@domainId", domainId));
            parameterList.Add(new CommandParameter("@appId", appId));
            parameterList.Add(new CommandParameter("@type", (int)type));

            //注意,此存储过程在没有取到任何数据时,不会返回任何行
            DataSet dsResult =
                DataBase.ExecuteDataSet(CommandType.StoredProcedure, "GetCampaignCount", parameterList, new string[] { "result" });

            GetCampaignCountResult result = new GetCampaignCountResult();

            if (dsResult.Tables[0].Rows.Count > 0)
            {
                string strPreparatoryCount = dsResult.Tables[0].Rows[0]["0"].ToString();
                string strOngoingCount     = dsResult.Tables[0].Rows[0]["1"].ToString();
                string strEndCount         = dsResult.Tables[0].Rows[0]["2"].ToString();

                if (string.IsNullOrEmpty(strPreparatoryCount) == false)
                {
                    result.PreparatoryCount = int.Parse(strPreparatoryCount);
                }

                if (string.IsNullOrEmpty(strOngoingCount) == false)
                {
                    result.OngoingCount = int.Parse(strOngoingCount);
                }

                if (string.IsNullOrEmpty(strEndCount) == false)
                {
                    result.EndCount = int.Parse(strEndCount);
                }
            }

            return(result);
        }