Esempio n. 1
0
        /// <summary>
        /// 新增VoteLog
        /// </summary>
        //[AbpAuthorize(VoteLogAppPermissions.VoteLog_CreateVoteLog)]
        protected virtual async Task <VoteLogEditDto> CreateVoteLogAsync(VoteLogEditDto input)
        {
            //TODO:新增前的逻辑判断,是否允许新增

            var entity = ObjectMapper.Map <VoteLog>(input);

            entity = await _votelogRepository.InsertAsync(entity);

            return(entity.MapTo <VoteLogEditDto>());
        }
Esempio n. 2
0
        protected virtual async Task UpdateVoteLogAsync(VoteLogEditDto input)
        {
            //TODO:更新前的逻辑判断,是否允许更新

            var entity = await _votelogRepository.GetAsync(input.Id.Value);

            input.MapTo(entity);

            // ObjectMapper.Map(input, entity);
            await _votelogRepository.UpdateAsync(entity);
        }
Esempio n. 3
0
        public async Task <APIResultDto> AddVoteLogAsync(VoteLogEditDto input)
        {
            Exhibition config = await _exhibitionRepository.GetAll().FirstOrDefaultAsync();

            //if (DateTime.Now.Date>=config.BeginTime.Value.Date && DateTime.Now.Date<=config.EndTime.Value.Date)
            if (DateTime.Today >= config.BeginTime && DateTime.Today <= config.EndTime)
            {
                var nickName = await _wechatuserRepository.GetAll().Where(v => v.OpenId == input.OpenId).Select(v => v.NickName).FirstOrDefaultAsync();

                input.CreateTime = DateTime.Now;
                input.UserName   = nickName;
                var result = input.MapTo <VoteLog>();
                //var votecount = await _votelogRepository.GetAll().Where(v=>v.OpenId==input.OpenId&&config.BeginTime)
                int?votecount = await _votelogRepository.GetAll().Where(v => v.OpenId == input.OpenId && v.CreateTime.Date == DateTime.Now.Date).CountAsync();

                if (votecount < config.Frequency)
                {
                    await _votelogRepository.InsertAsync(result);

                    var entity = await _exhibitionshopRepository.GetAll().Where(v => v.Id == input.ExhibitionId).FirstOrDefaultAsync();

                    if (entity.Votes == null)
                    {
                        entity.Votes = 0;
                    }
                    entity.Votes++;
                    var exhibitionShopUpdate = await _exhibitionshopRepository.UpdateAsync(entity);
                }
                return(new APIResultDto()
                {
                    Code = 0, Msg = "成功"
                });
            }
            else if (DateTime.Today < config.BeginTime)
            //else if(DateTime.Now.Date< config.BeginTime.Value.Date)
            {
                return(new APIResultDto()
                {
                    Code = 888, Msg = "活动尚未开始"
                });
            }
            else
            {
                return(new APIResultDto()
                {
                    Code = 999, Msg = "活动已过期"
                });
            }
        }
Esempio n. 4
0
        /// <summary>
        /// 导出VoteLog为excel表
        /// </summary>
        /// <returns></returns>
        //public async Task<FileDto> GetVoteLogsToExcel(){

        //var users = await UserManager.Users.ToListAsync();
        //var userListDtos = ObjectMapper.Map<List<UserListDto>>(users);
        //await FillRoleNames(userListDtos);

        //return _userListExcelExporter.ExportToFile(userListDtos);

        //}

        /// <summary>
        /// MPA版本才会用到的方法
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <GetVoteLogForEditOutput> GetVoteLogForEdit(NullableIdDto <Guid> input)
        {
            var            output = new GetVoteLogForEditOutput();
            VoteLogEditDto votelogEditDto;

            if (input.Id.HasValue)
            {
                var entity = await _votelogRepository.GetAsync(input.Id.Value);

                votelogEditDto = entity.MapTo <VoteLogEditDto>();

                //votelogEditDto = ObjectMapper.Map<List <votelogEditDto>>(entity);
            }
            else
            {
                votelogEditDto = new VoteLogEditDto();
            }

            output.VoteLog = votelogEditDto;
            return(output);
        }