private async Task <int> AddCourtRole()
        {
            var courtRole = new AddLookupCodeDto
            {
                Description = "test",
                Type        = LookupTypes.CourtRole,
                LocationId  = 5
            };
            var controllerResult = await _controller.Add(courtRole);

            var result = HttpResponseTest.CheckForValid200HttpResponseAndReturnValue(controllerResult);

            return(result.Id);
        }
        public async Task AddLookup()
        {
            await Db.Database.EnsureDeletedAsync();

            var courtRole = new AddLookupCodeDto
            {
                Type = LookupTypes.CourtRole,
            };
            var controllerResult = await _controller.Add(courtRole);

            var response = HttpResponseTest.CheckForValid200HttpResponseAndReturnValue(controllerResult);

            Assert.True(response.Id > 0);
            await Db.Database.EnsureDeletedAsync();
        }
예제 #3
0
        public async Task <ActionResult <LookupCodeDto> > Add(AddLookupCodeDto lookupCodeDto)
        {
            if (lookupCodeDto == null)
            {
                return(BadRequest(InvalidLookupCodeError));
            }
            if (!PermissionDataFiltersExtensions.HasAccessToLocation(User, Db, lookupCodeDto.LocationId))
            {
                return(Forbid());
            }

            var lookupCode = await ManageTypesService.Add(lookupCodeDto);

            return(Ok(lookupCode.Adapt <LookupCodeDto>()));
        }
        public async Task LocationTest()
        {
            await Db.Database.EnsureDeletedAsync();

            var newLocation = new Location {
                Name = "5", Id = 5
            };
            await Db.Location.AddAsync(newLocation);

            await Db.SaveChangesAsync();

            Detach();

            var courtRole = new AddLookupCodeDto
            {
                Type       = LookupTypes.CourtRole,
                LocationId = 66
            };
            var controllerResult = await _controller.Add(courtRole);

            var response = HttpResponseTest.CheckForValid200HttpResponseAndReturnValue(controllerResult);

            Assert.True(response.Id > 0);

            controllerResult = await _controller.Find(response.Id);

            response = HttpResponseTest.CheckForValid200HttpResponseAndReturnValue(controllerResult);

            Assert.Null(response.Location);


            courtRole = new AddLookupCodeDto
            {
                Type       = LookupTypes.CourtRole,
                LocationId = 5
            };
            controllerResult = await _controller.Add(courtRole);

            response = HttpResponseTest.CheckForValid200HttpResponseAndReturnValue(controllerResult);
            Assert.True(response.Id > 0);

            controllerResult = await _controller.Find(response.Id);

            response = HttpResponseTest.CheckForValid200HttpResponseAndReturnValue(controllerResult);

            Assert.Equal(5, response.LocationId);
        }
        public async Task <LookupCode> Add(AddLookupCodeDto addLookupCode)
        {
            var lookupCd = addLookupCode.Adapt <LookupCode>();

            using TransactionScope scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled);
            lookupCd.Location            = await Db.Location.FindAsync(addLookupCode.LocationId);

            lookupCd.SortOrder = null;

            if (Db.LookupCode.AsNoTracking()
                .Any(lc => lc.Code == addLookupCode.Code && lc.LocationId == addLookupCode.LocationId))
            {
                throw new BusinessLayerException("Attempted to create a duplicate entry.");
            }

            await Db.LookupCode.AddAsync(lookupCd);

            await Db.SaveChangesAsync();

            if (addLookupCode.SortOrderForLocation != null)
            {
                var lookupSortOrder = new LookupSortOrder
                {
                    LookupCodeId = lookupCd.Id,
                    LocationId   = addLookupCode.SortOrderForLocation.LocationId,
                    SortOrder    = addLookupCode.SortOrderForLocation.SortOrder
                };
                await Db.LookupSortOrder.AddAsync(lookupSortOrder);

                await Db.SaveChangesAsync();

                lookupCd.SortOrderForLocation = lookupSortOrder;
            }
            scope.Complete();
            return(lookupCd);
        }