Beispiel #1
0
        public async Task <ServiceResponse <FirmDto> > AddAsync(ClaimsPrincipal claims, FirmDto request)
        {
            var response = new ServiceResponse <FirmDto>();

            var user = await _userManager.FindByIdAsync(claims.GetUserId());

            var firm     = _mapper.Map <Firm>(request);
            var firmUser = new FirmUser()
            {
                Firm       = firm,
                User       = user,
                Permission = Permission.Manage
            };


            _repository.Add(firm);
            _repository.Add(firmUser);

            var result = await _repository.CommitAsnyc();

            if (result == 0)
            {
                response.FailOperation();
                return(response);
            }
            response.Data = _mapper.Map <FirmDto>(firm);


            return(response);
        }
Beispiel #2
0
        public async Task <ServiceResponse <FirmUserDto> > GrantPermissionAsync(ClaimsPrincipal claims, int id,
                                                                                GrantPermissionRequest request)
        {
            var response = new ServiceResponse <FirmUserDto>();

            var user = await _userManager.FindByIdAsync(claims.GetUserId());

            var found = await claims.GetFirmIfHasMinPermissionOf(_repository, id, Permission.Manage);

            if (found == null)
            {
                response.FailForbiden();
                return(response);
            }
            var firmUser = new FirmUser()
            {
                User = user,
                Firm = found
            };
            var result = await _repository.AddAsync(firmUser);

            if (result == null)
            {
                response.FailOperation();
            }

            response.Data = _mapper.Map <FirmUserDto>(result);

            return(response);
        }
Beispiel #3
0
 public static async Task <int> LinkFirmToUserAsync(this IdapadDataAccess dataAccess,
                                                    FirmUser firmUser)
 {
     return(await dataAccess.ExecuteScalarAsync <int>(
                "Insert FirmUsers (FirmId, UserId)  output inserted.Id values" +
                "(@FirmId, @UserId)", firmUser));
 }
Beispiel #4
0
        public async Task <ActionResult <int> > RegisterFirm(
            [FromBody] FirmAddressDto model)
        {
            var firmaddress = new FirmAddress
            {
                AptAddress    = (string)model.AptAddress,
                StreetAddress = (string)model.StreetAddress,
                City          = (string)model.City,
                State         = (string)model.State,
                ZipCode       = (string)model.Zip,
            };

            var addressId = await _dataAccess.CreateFirmAddressAsync(firmaddress);

            var firm = new Firm
            {
                Name      = (string)model.Name,
                Type      = (string)model.Type,
                AddressId = addressId
            };

            var firmId = await _dataAccess.CreateFirmAsync(firm);

            var user = await _dataAccess.GetUserByUserNameAsync(model.UserName);

            var firmUser = new FirmUser
            {
                FirmId = (int)firmId,
                UserId = (int)user.Id,
            };

            await _dataAccess.LinkFirmToUserAsync(firmUser);

            return(firmId);
        }
        public void FirmUser_ShouldHaveParameterlessConstructor()
        {
            // Arrange & Act
            var firm = new FirmUser();

            // Assert
            Assert.IsInstanceOf <FirmUser>(firm);
        }
        public void FirmUserConstructor_ShouldInitializeFirmReviewsCollectionCorrectly()
        {
            var firm = new FirmUser();

            var reviews = firm.FirmReviews;

            Assert.That(reviews, Is.Not.Null.And.InstanceOf <ICollection <Review> >());
        }
        public void CityId_ShouldBeSetAndGottenCorrectly(int cityId)
        {
            // Arrange & Act
            var firm = new FirmUser {
                CityId = cityId
            };

            //Assert
            Assert.AreEqual(cityId, firm.CityId);
        }
        public void EmployeesCount_ShouldBeSetAndGottenCorrectly(int employeesCount)
        {
            // Arrange & Act
            var firm = new FirmUser()
            {
                EmployeesCount = employeesCount
            };

            //Assert
            Assert.AreEqual(firm.EmployeesCount, employeesCount);
        }
        public void GridViewFirms_UpdateItem(FirmUser firm)
        {
            var firmFromDb = this.Model.Companies.First(c => c.Id == firm.Id);

            firm.CountryId = firmFromDb.CountryId;
            firm.CityId    = firmFromDb.CityId;
            this.EventUpdateFirm?.Invoke(this, new UpdateFirmEventArgs()
            {
                FirmToUpdate = firm
            });
        }
        public void Rating_ShouldBeSetAndGottenCorrectly(int rating)
        {
            // Arrange & Act
            var firm = new FirmUser()
            {
                Rating = rating
            };

            //Assert
            Assert.AreEqual(firm.Rating, rating);
        }
        public void Address_ShouldBeSetAndGottenCorrectly(string address)
        {
            // Arrange & Act
            var firm = new FirmUser()
            {
                Address = address
            };

            //Assert
            Assert.AreEqual(firm.Address, address);
        }
        public void Website_ShouldBeSetAndGottenCorrectly(string website)
        {
            // Arrange & Act
            var firm = new FirmUser()
            {
                Website = website
            };

            //Assert
            Assert.AreEqual(firm.Website, website);
        }
        public void FirmName_ShouldBeSetAndGottenCorrectly(string name)
        {
            // Arrange & Act
            var firm = new FirmUser()
            {
                FirmName = name
            };

            //Assert
            Assert.AreEqual(firm.FirmName, name);
        }
        public void IsApproved_ShouldBeSetAndGottenCorrectly(bool isApproved)
        {
            // Arrange & Act
            var firm = new FirmUser()
            {
                IsApproved = isApproved
            };

            //Assert
            Assert.AreEqual(firm.IsApproved, isApproved);
        }
        public void Id_ShouldBeSetAndGottenCorrectly(string firmId)
        {
            // Arrange & Act
            var firm = new FirmUser()
            {
                Id = firmId
            };

            //Assert
            Assert.AreEqual(firm.Id, firmId);
        }
        public void User_ShouldBeSetAndGottenCorrectly(string testUserId)
        {
            // Arrange & Act
            var user = new User {
                Id = testUserId
            };
            var firm = new FirmUser {
                User = user
            };

            //Assert
            Assert.AreEqual(firm.User.Id, testUserId);
        }
        public void City_ShouldBeSetAndGottenCorrectly(int testCityId)
        {
            // Arrange & Act
            var city = new City {
                Id = testCityId
            };
            var firm = new FirmUser {
                City = city
            };

            //Assert
            Assert.AreEqual(firm.City.Id, testCityId);
        }
        public void Country_ShouldBeSetAndGottenCorrectly(int testCountryId)
        {
            // Arrange & Act
            var country = new Country {
                Id = testCountryId
            };
            var firm = new FirmUser {
                Country = country
            };

            //Assert
            Assert.AreEqual(firm.Country.Id, testCountryId);
        }
Beispiel #19
0
        public void Firm_ShouldBeSetAndGottenCorrectly(string testFirmId)
        {
            // Arrange & Act
            var firm = new FirmUser {
                Id = testFirmId
            };
            var review = new Review {
                Firm = firm
            };

            //Assert
            Assert.AreEqual(review.Firm.Id, testFirmId);
        }
        public void FirmReviewsCollection_ShouldBeSetAndGottenCorrectly(int reviewId)
        {
            var review = new Review()
            {
                Id = reviewId
            };
            var set = new List <Review> {
                review
            };

            var firm = new FirmUser {
                FirmReviews = set
            };

            Assert.AreEqual(firm.FirmReviews.First().Id, reviewId);
        }
        public void StarredFirmsCollection_ShouldBeSetAndGottenCorrectly(string firmId)
        {
            var firm = new FirmUser()
            {
                Id = firmId
            };
            var set = new List <FirmUser> {
                firm
            };

            var user = new RegularUser {
                StarredFirms = set
            };

            Assert.AreEqual(user.StarredFirms.First().Id, firmId);
        }
        public void FirmRegistrationRequestsCollection_ShouldBeSetAndGottenCorrectly(string firmUserId)
        {
            var firm = new FirmUser()
            {
                Id = firmUserId
            };
            var set = new List <FirmUser> {
                firm
            };

            var admin = new Admin {
                FirmRegistrationRequests = set
            };

            Assert.AreEqual(admin.FirmRegistrationRequests.First().Id, firmUserId);
        }
Beispiel #23
0
        public void UpdateFirmUser(FirmUser user)
        {
            var userToUpdate = this.firmsRepo.GetById(user.Id);

            if (userToUpdate != null)
            {
                userToUpdate.FirmName       = user.FirmName;
                userToUpdate.AvatarUrl      = user.AvatarUrl;
                userToUpdate.Email          = user.Email;
                userToUpdate.Address        = user.Address;
                userToUpdate.EmployeesCount = user.EmployeesCount;
                userToUpdate.Rating         = user.Rating;
                userToUpdate.Website        = user.Website;
                userToUpdate.IsApproved     = user.IsApproved;
                userToUpdate.IsDeleted      = user.IsDeleted;
                using (var unitOfWork = this.unitOfWork)
                {
                    this.firmsRepo.Update(userToUpdate);
                    unitOfWork.SaveChanges();
                }
            }
        }