Exemplo n.º 1
0
        public ActionResult GetDonationLogList()
        {
            GetCampaign_DonationLogListArgs args = RequestArgs<GetCampaign_DonationLogListArgs>();
            if (args == null)
            {
                return RespondResult(false, "参数无效。");
            }

            args.DomainId = DomainContext.Domain.Id;
            args.AppId = DomainContext.AppId;
            args.Member = MemberContext.Member.Id;
            args.Finished = false;

            GetItemListResult result = _campaignManager.Donation.GetDonationLogList(args);
            return RespondDataResult(result);
        }
        //public bool CreateDonationLog(Campaign_DonationLogEntity args)
        //{
        //    if (args == null)
        //        return false;

        //    //先判断指定的的OpenId有没有帮MemberId生成过
        //    List<CommandParameter> parameterList = new List<CommandParameter>();
        //    parameterList.Add(new CommandParameter("@campaignId", args.CampaignId));
        //    parameterList.Add(new CommandParameter("@memberId", args.Member));
        //    parameterList.Add(new CommandParameter("@fromOpenId", args.FromOpenId));

        //    int intStatus = 0;
        //    _campaignManager.DataBase.ExecuteScalar<int>(
        //        "SELECT Count(1) FROM [Campaign_DonationLog] WHERE [CampaignId] = @campaignId AND [Member] = @memberId AND [FromOpenId] = @fromOpenId",
        //        parameterList, (scalarValue) => { intStatus = scalarValue; });

        //    if (intStatus > 0)
        //        return false;

        //    //生成一个抽奖号码
        //    args.CreateTime = DateTime.Now;
        //    args.TicketNumber = _campaignManager.DomainManager.GetRandomSerialNumber("Campaign_Donation");

        //    if (String.IsNullOrEmpty(args.TicketNumber))
        //    {
        //        _campaignManager.Log.Write("抽奖号码生成失败。", JsonHelper.Serializer(args), TraceEventType.Warning);
        //        return false;
        //    }

        //    _campaignManager.DataBase.Insert(args);

        //    return true;
        //}

        public GetItemListResult GetDonationLogList(GetCampaign_DonationLogListArgs args)
        {
            List <CommandParameter> parameterList = new List <CommandParameter>();

            parameterList.Add(new CommandParameter("@page", args.Page));
            parameterList.Add(new CommandParameter("@pageSize", args.PageSize));
            parameterList.Add(new CommandParameter("@campaignId", args.CampaignId));

            if (args.Member.HasValue)
            {
                parameterList.Add(new CommandParameter("@member", args.Member.Value));
            }
            else
            {
                parameterList.Add(new CommandParameter("@member", DBNull.Value));
            }
            parameterList.Add(new CommandParameter("@finished", args.Finished));

            DataSet dsResult =
                _campaignManager.DataBase.ExecuteDataSet(CommandType.StoredProcedure, "GetCampaign_DonationLogList",
                                                         parameterList, new string[] { "result" });

            if (dsResult.Tables[0].Rows.Count == 0 && args.Page > 1)
            {
                args.Page--;
                return(GetDonationLogList(args));
            }

            GetItemListResult result = new GetItemListResult();

            result.ItemList = dsResult.Tables[0];

            int totalCount = int.Parse(dsResult.Tables[1].Rows[0][0].ToString());

            result.TotalCount = totalCount;
            result.TotalPage  = totalCount / args.PageSize;
            if (totalCount % args.PageSize > 0)
            {
                result.TotalPage++;
            }
            result.Page = args.Page;

            return(result);
        }