public CostCreateHandler(GlobalSolusindoDb db, tblM_User user, CostValidator costValidator, CostFactory costFactory, CostQuery costQuery, AccessControl accessControl) : base(db, user)
 {
     this.costValidator         = costValidator;
     this.costFactory           = costFactory;
     this.costQuery             = costQuery;
     this.costEntryDataProvider = new CostEntryDataProvider(db, user, accessControl, costQuery);
 }
Example #2
0
        public async Task GetCostOwners(int number)
        {
            var fixture             = new Fixture();
            var costOwnerViewModels = fixture.CreateMany <CostOwnerViewModel>(number).ToList();
            var query    = new CostQuery();
            var expected = costOwnerViewModels.Count;

            AdvancedSearchServiceMock.Setup(a => a.SearchOwners(query)).ReturnsAsync(costOwnerViewModels);
            var result = await AdvancedSearchController.GetCostOwners(query);

            var objectResult = result.As <OkObjectResult>();

            objectResult.StatusCode.Should().Be((int)HttpStatusCode.OK);
            var costUserSearchItems = objectResult.Value as IEnumerable <CostOwnerViewModel>;

            costUserSearchItems.Should().NotBeNull();
            costUserSearchItems.Count().Should().Be(expected);
            var userList = costUserSearchItems.ToList();

            userList.ForEach(u =>
            {
                u.FullName.Should().NotBeNullOrEmpty();
                var valid = Guid.TryParse(u.Id.ToString(), out var validGuid);
                valid.Should().BeTrue();
                u.Id.Should().Be(validGuid);
            });
        }
 public IHttpActionResult Get(int id)
 {
     ThrowIfUserHasNoRole(readRole);
     using (CostQuery costQuery = new CostQuery(Db))
     {
         var data = costQuery.GetByPrimaryKey(id);
         SaveLog("Cost", "Get", JsonConvert.SerializeObject(new { primaryKey = id }));
         return(Ok(new SuccessResponse(data)));
     }
 }
Example #4
0
        public void SetCosts(CostQuery query)
        {
            int i = 0;

            for (int y = 0; y < _height; y++)
            {
                for (int x = 0; x < _width; x++, i++)
                {
                    _grid[i].NodeCost = query(x, y);
                }
            }
        }
Example #5
0
        public void SetSeeds(CostQuery query)
        {
            int i = 0;

            for (int y = 0; y < _height; y++)
            {
                for (int x = 0; x < _width; x++, i++)
                {
                    float seedCost = query(x, y);
                    if (seedCost >= 0)
                    {
                        Seed(x, y, seedCost);
                    }
                }
            }
        }
Example #6
0
            public async Task Not_return_deleted_costs()
            {
                // Arrange
                var costId = Guid.NewGuid();
                var cost   = new Cost
                {
                    Id      = costId,
                    Deleted = true
                };
                var userId = Guid.NewGuid();
                var user   = new UserIdentity {
                    Id = userId
                };

                ActionBuilderMock.Setup(a => a.GetActions(It.IsAny <IEnumerable <Guid> >(), user))
                .ReturnsAsync(new Dictionary <Guid, CostActionsModel> {
                    {
                        costId,
                        new CostActionsModel(cost, new Dictionary <string, ActionModel>())
                    }
                }
                              );

                EFContext.Cost.Add(cost);
                await EFContext.SaveChangesAsync();

                var costQuery = new CostQuery();

                SearchServiceMock.Setup(ss => ss.SearchCosts(costQuery, user.Id)).ReturnsAsync((
                                                                                                   new[] {
                    new CostSearchItem
                    {
                        Id = costId.ToString(),
                        CreatedBy = userId.ToString()
                    }
                },
                                                                                                   1)
                                                                                               );

                // Act
                var searchResult = await CostService.Search(costQuery, user);

                // Assert
                searchResult.Count.Should().Be(0);
                searchResult.Costs.Count.Should().Be(0);
            }
Example #7
0
        // Constructor
        public UnitOfWork()
        {
            _dbContext = new ApartmentsDbContext();

            // Initialization
            AddressRepository       = new Repository <Address>(_dbContext);
            EquipmentRepository     = new Repository <Equipment>(_dbContext);
            SpecificationRepository = new Repository <Specification>(_dbContext);
            UnitRepository          = new Repository <Unit>(_dbContext);
            UnitGroupRepository     = new Repository <UnitGroup>(_dbContext);
            UnitTypeRepository      = new Repository <UnitType>(_dbContext);
            UserRepository          = new Repository <User>(_dbContext);
            ColorRepository         = new Repository <Color>(_dbContext);
            CostRepository          = new Repository <Cost>(_dbContext);

            UnitGroupsWithUsersWithSpecificationsQuery = new UnitGroupsWithUsersWithSpecificationsQuery(_dbContext);
            UnitGroupsWithUsersQuery = new UnitGroupsWithUsersQuery(_dbContext);
            UserQuery = new UserQuery(_dbContext);
            UsersUnitGroupsWithUnitsQuery = new UsersUnitGroupsWithUnitsQuery(_dbContext);
            UnitsWithUnitGroupsQuery      = new UnitsWithUnitGroupsQuery(_dbContext);
            CostQuery      = new CostQuery(_dbContext);
            EquipmentQuery = new EquipmentQuery(_dbContext);
        }
Example #8
0
 public CostEntryDataProvider(GlobalSolusindoDb db, tblM_User user, AccessControl accessControl, CostQuery costQuery) : base(db, user)
 {
     this.accessControl = accessControl;
     this.costQuery     = costQuery;
 }