Exemple #1
0
        /// <summary>
        /// 新增Activity
        /// </summary>
        //[AbpAuthorize(ActivityAppPermissions.Activity_CreateActivity)]
        protected virtual async Task <ActivityEditDto> CreateActivityAsync(ActivityEditDto input)
        {
            //TODO:新增前的逻辑判断,是否允许新增
            var entity = ObjectMapper.Map <Activity>(input);

            entity.TenantId = AbpSession.TenantId;
            entity          = await _activityRepository.InsertAsync(entity);

            return(entity.MapTo <ActivityEditDto>());
        }
Exemple #2
0
 /// <summary>
 /// 添加或者修改Activity的公共方法
 /// </summary>
 public async Task <ActivityEditDto> CreateOrUpdateActivityDto(ActivityEditDto input)
 {
     if (input.Id.HasValue)
     {
         return(await UpdateActivityAsync(input));
     }
     else
     {
         return(await CreateActivityAsync(input));
     }
 }
        protected virtual async Task UpdateActivityAsync(ActivityEditDto input)
        {
            //TODO:更新前的逻辑判断,是否允许更新

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

            input.MapTo(entity);

            // ObjectMapper.Map(input, entity);
            await _activityRepository.UpdateAsync(entity);
        }
        public async Task GetActivityById_WithValidData_ShouldReturnCorrectResult(string id)
        {
            string errorMessagePrefix = "ActivitiesService EditActivityAsync() method does not work properly.";

            var context = OmmDbContextInMemoryFactory.InitializeContext();

            await SeedData(context);

            this.activitiesService = new ActivitiesService(context);

            ActivityEditDto expectedResult = (await context.Activities.SingleAsync(a => a.Id == id)).To <ActivityEditDto>();
            ActivityEditDto actualResult   = await this.activitiesService.GetActivityById <ActivityEditDto>(id).SingleAsync();

            Assert.True(expectedResult.Date == actualResult.Date, errorMessagePrefix + " " + "Date is not returned properly.");
            Assert.True(expectedResult.Description == actualResult.Description, errorMessagePrefix + " " + "Description is not returned properly.");
            Assert.True(expectedResult.WorkingTime == actualResult.WorkingTime, errorMessagePrefix + " " + "WorkingTime is not returned properly.");
            Assert.True(expectedResult.ReportId == actualResult.ReportId, errorMessagePrefix + " " + "ReportId is not returned properly.");
        }
        public async Task EditActivityAsync_WithInvalidId_ShouldThrowNullReferenceException()
        {
            var context = OmmDbContextInMemoryFactory.InitializeContext();

            await SeedData(context);

            this.activitiesService = new ActivitiesService(context);

            ActivityEditDto expectedResult = (await context.Activities.FirstAsync()).To <ActivityEditDto>();

            expectedResult.Date        = "22/08/2019";
            expectedResult.Description = "New description when edited";
            expectedResult.WorkingTime = "01:33";
            expectedResult.Id          = "Invalid Id";

            var ex = await Assert.ThrowsAsync <NullReferenceException>(() => this.activitiesService.EditActivityAsync(expectedResult));

            Assert.Equal(string.Format(ErrorMessages.ActivityIdNullReference, expectedResult.Id), ex.Message);
        }
        public async Task <bool> EditActivityAsync(ActivityEditDto input)
        {
            var activity = await this.context.Activities.SingleOrDefaultAsync(a => a.Id == input.Id);

            if (activity == null)
            {
                throw new NullReferenceException(string.Format(ErrorMessages.ActivityIdNullReference, input.Id));
            }

            activity.Date        = DateTime.ParseExact(input.Date, Constants.ACTIVITY_DATETIME_FORMAT, CultureInfo.InvariantCulture);
            activity.Description = input.Description;
            var workingTime = input.WorkingTime.Split(Constants.WORKING_TIME_SPLIT_VALUE, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray();

            activity.WorkingMinutes = workingTime[0] * Constants.MINUTES_IN_HOUR + workingTime[1];

            this.context.Activities.Update(activity);
            var result = await this.context.SaveChangesAsync();

            return(result > 0);
        }
Exemple #7
0
        /// <summary>
        /// 导出Activity为excel表
        /// </summary>
        /// <returns></returns>
        //public async Task<FileDto> GetActivitysToExcel(){
        //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 <GetActivityForEditOutput> GetActivityForEdit(NullableIdDto <Guid> input)
        {
            var             output = new GetActivityForEditOutput();
            ActivityEditDto activityEditDto;

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

                activityEditDto = entity.MapTo <ActivityEditDto>();

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

            output.Activity = activityEditDto;
            return(output);
        }
        public async Task EditActivityAsync_WithValidData_ShouldEditActivityAndReturnTrue()
        {
            string errorMessagePrefix = "ActivitiesService EditActivityAsync() method does not work properly.";

            var context = OmmDbContextInMemoryFactory.InitializeContext();

            await SeedData(context);

            this.activitiesService = new ActivitiesService(context);

            ActivityEditDto expectedResult = (await context.Activities.FirstAsync()).To <ActivityEditDto>();

            expectedResult.Date        = "22/08/2019";
            expectedResult.Description = "New description when edited";
            expectedResult.WorkingTime = "01:33";

            await this.activitiesService.EditActivityAsync(expectedResult);

            var actualResult = (await context.Activities.FirstAsync()).To <ActivityEditDto>();

            Assert.True(expectedResult.Date == actualResult.Date, errorMessagePrefix + " " + "Date is not changed properly.");
            Assert.True(expectedResult.Description == actualResult.Description, errorMessagePrefix + " " + "Description is not changed properly.");
            Assert.True(expectedResult.WorkingTime == actualResult.WorkingTime, errorMessagePrefix + " " + "WorkingTime is not changed properly.");
        }