コード例 #1
0
        public void GivenMemberWithNoLastName_WhenCreateMember_ThenMemberIsNullObject()
        {
            //given
            var    firstName = "firstName";
            string lastName  = null;

            var city = new City(
                1234,
                "CityName",
                "CountryName"
                );

            Address address = Address.CreateAddress(
                "StreetName",
                "StreetNumber",
                city
                );

            //when
            var memberShipLevel = new MembershipLevel();
            var member          = Member.CreateMember(
                firstName,
                lastName,
                address,
                MembershipLevelEnum.Bronze,
                memberShipLevel
                );

            //then
            Assert.Null(member);
        }
コード例 #2
0
    public MembershipLevel ReadMembershipLevel(int membershipLevelID)
    {
        MembershipLevelController membershipLevels = new MembershipLevelController();
        MembershipLevel           ml = membershipLevels.SelectMembershipLevel(membershipLevelID);

        return(ml);
    }
コード例 #3
0
ファイル: MemberService.cs プロジェクト: AdamMalek/socnet
        public void CreateMember(int groupId, int profileId, MembershipLevel role)
        {
            var group = _groupRepository.GetById(groupId);

            if (group == null)
            {
                throw new ArgumentException("Group doesn't exist!");
            }
            var user = _profileRepository.GetProfileByPredicate(x => x.ProfileId == profileId);

            if (user == null)
            {
                throw new ArgumentException("Profile doesn't exist!");
            }
            if (IsMember(profileId, group.GroupId))
            {
                throw new ArgumentException("Profile already a member of this group!");
            }
            Member newMember = new Member
            {
                GroupId   = groupId,
                ProfileId = profileId,
                Role      = role
            };

            try
            {
                _memberRepository.CreateMember(newMember);
            }
            catch (Exception e)
            {
                throw new ArgumentException(e.Message);
            }
        }
コード例 #4
0
    public List <MembershipLevel> SelectMembershipLevels()
    {
        List <MembershipLevel> mls = new List <MembershipLevel>();

        try
        {
            SqlConnection ClubBAISTConnection = new SqlConnection();
            ClubBAISTConnection.ConnectionString = ConfigurationManager.ConnectionStrings["ClubBAIST"].ConnectionString;

            SqlCommand ClubBAISTCommand = new SqlCommand();
            ClubBAISTCommand.CommandType = CommandType.StoredProcedure;
            ClubBAISTCommand.Connection  = ClubBAISTConnection;
            ClubBAISTCommand.CommandText = "SelectMembershipLevels";

            ClubBAISTConnection.Open();
            SqlDataReader dr;
            dr = ClubBAISTCommand.ExecuteReader();
            while (dr.Read())
            {
                MembershipLevel ml = new MembershipLevel();
                ml.MembershipLevelID = int.Parse(dr["MembershipLevelID"].ToString());
                ml.Description       = dr["Description"].ToString();
                ml.Active            = int.Parse(dr["Active"].ToString());
                mls.Add(ml);
            }

            ClubBAISTConnection.Close();
        }
        catch
        {
        }
        return(mls);
    }
コード例 #5
0
        public void GivenHappyPath_WhenCreateNewLicensePlate_ThenLicensePlateCreated()
        {
            //given
            var firstName = "firstName";
            var lastName  = "lastName";

            var city = new City(
                1234,
                "CityName",
                "CountryName"
                );

            Address address = Address.CreateAddress(
                "StreetName",
                "StreetNumber",
                city
                );
            var memberShipLevel = new MembershipLevel();
            var member          = Member.CreateMember(
                firstName,
                lastName,
                address,
                MembershipLevelEnum.Bronze,
                memberShipLevel
                );

            //when
            var licensePlate = LicensePlate.CreateLicensePlate(member.MemberId,
                                                               "1-ABC-123",
                                                               "Belgium");

            //then
            Assert.NotNull(licensePlate);
        }
コード例 #6
0
        public void GivenLicensePlateWithLicensePlateValueNull_WhenCreateLicensePlate_ThenLicensePlateIsNull()
        {
            var firstName = "firstName";
            var lastName  = "lastName";

            var city = new City(
                1234,
                "CityName",
                "CountryName"
                );

            Address address = Address.CreateAddress(
                "StreetName",
                "StreetNumber",
                city
                );

            var memberShipLevel = new MembershipLevel();
            var member          = Member.CreateMember(
                firstName,
                lastName,
                address,
                MembershipLevelEnum.Bronze,
                memberShipLevel
                );


            var licensePlate = LicensePlate.CreateLicensePlate(member.MemberId,
                                                               null,
                                                               "Belgium");


            Assert.Null(licensePlate);
        }
コード例 #7
0
        public void GivenHappyPath_WhenCreateNewMember_ThenMemberCreated()
        {
            //given
            var firstName = "firstName";
            var lastName  = "lastName";

            var city = new City(
                1234,
                "CityName",
                "CountryName"
                );

            Address address = Address.CreateAddress(
                "StreetName",
                "StreetNumber",
                city
                );

            //when
            var memberShipLevel = new MembershipLevel();
            var member          = Member.CreateMember(
                firstName,
                lastName,
                address,
                MembershipLevelEnum.Bronze,
                memberShipLevel
                );

            //then
            Assert.True(member != null);
        }
コード例 #8
0
ファイル: GroupService.cs プロジェクト: AdamMalek/socnet
        IEnumerable <Profile> GetMembersWithRole(Group group, MembershipLevel role)
        {
            if (group == null)
            {
                return(null);
            }

            return(_memberService.GetMembers(x => x.GroupId == group.GroupId && x.Role == role).Select(x => x.Profile));
        }
コード例 #9
0
 public static Activity GenerateMappedRecord(MembershipUser user, MembershipLevel membershipLevel)
 {
     return(new Activity
     {
         Data = KeyUserId + Equality + user.Id + Separator +
                KeyMembershipLevelId + Equality + membershipLevel.Id,
         Timestamp = membershipLevel.CreateDate,
         Type = ActivityType.MembershipLevelAdded.ToString()
     });
 }
コード例 #10
0
        public void GivenCreateMembenDTOReturnFromMember_WhenGivenAMemberToCreate_ThenCreateAMemberDTOReturn()
        {
            var  memstub         = Substitute.For <IMemberServices>();
            City city            = City.CreateCity(2050, "Antwerpen", "Belgium");
            var  MemberShipLevel = new MembershipLevel();
            var  newMem          = Member.CreateMember("lars", "Peelman", Address.CreateAddress("test", "5", city), MembershipLevelEnum.Gold, MemberShipLevel);

            var newMapper = new MemberMapper(new AddressMapper(new CityMapper(memstub)), new MembershipLevelMapper(), new LicensePlateMapper(), new PhoneNumpberMapper());
            var result    = newMapper.MemberToDTOReturn(newMem);

            Assert.IsType <MemberDTO_Return>(result);
        }
コード例 #11
0
        public static IAddQuestionsCatalogPolicy Create(MembershipLevel membershipLevel)
        {
            int maxNumberOfQuestionsCatalogs = membershipLevel switch
            {
                MembershipLevel.Regular => 15,
                MembershipLevel.Silver => 18,
                MembershipLevel.Gold => 23,
                _ => throw new NotImplementedException(),
            };

            return(new AddQuestionsCatalogPolicy(maxNumberOfQuestionsCatalogs));
        }
コード例 #12
0
 public MembershipLevelDTO MembershipLevel_To_DTO(MembershipLevel membershipLevel)
 {
     return(new MembershipLevelDTO()
     {
         Membership = membershipLevel.MemberShipLevelId.ToString(),
         Name = membershipLevel.Name,
         Description = membershipLevel.Description,
         MonthlyCost = membershipLevel.MonthlyCost,
         PSAMaxTimeInHours = membershipLevel.PSAMaxTimeInHours,
         PSAPriceReductionPercentage = membershipLevel.PSAPriceReductionPercentage
     });
 }
コード例 #13
0
        public void MembershipLevelUpdated(MembershipUser user, MembershipLevel membershipLevel)
        {
            var e = new UpdateMembershipLevelEventArgs {
                User = user, MembershipLevel = membershipLevel
            };

            EventManager.Instance.FireBeforeUpdateMembershipLevel(this, e);
            if (!e.Cancel)
            {
                EventManager.Instance.FireAfterUpdateMembershipLevel(this, new UpdateMembershipLevelEventArgs {
                    User = user, MembershipLevel = membershipLevel
                });
                _activityService.MembershipLevelUpdated(user, membershipLevel);
            }
        }
コード例 #14
0
 public ActionResult AddMembershipLevel(MembershipLevelViewModel viewModel)
 {
     using (var unitOfWork = UnitOfWorkManager.NewUnitOfWork())
     {
         var newMembershipLevel = new MembershipLevel
         {
             Name            = viewModel.Name,
             Description     = viewModel.Description,
             EmployeeMax     = viewModel.EmployeeMax,
             AnnualPrice     = viewModel.AnnualPrice,
             SemiAnnualPrice = viewModel.SemiAnnualPrice
         };
         //try to insert and log activity
         var createStatus = _membershipLevelService.CreateMembershipLevel(LoggedOnReadOnlyUser, newMembershipLevel);
         if (createStatus != MemberhipLevelCreateStatus.Success)
         {
             //possibly log error here or service level.  FAILED
             TempData[AppConstants.MessageViewBagName] = new AdminGenericMessageViewModel
             {
                 Message     = _membershipLevelService.ErrorCodeToString(createStatus),
                 MessageType = GenericMessages.danger
             };
         }
         else
         {
             try
             {
                 unitOfWork.Commit();
                 TempData[AppConstants.MessageViewBagName] = new AdminGenericMessageViewModel
                 {
                     Message     = "Membership Level successfully added.",
                     MessageType = GenericMessages.success
                 };
             }
             catch (Exception ex)
             {
                 unitOfWork.Rollback();
                 LoggingService.Error(ex);
                 TempData[AppConstants.MessageViewBagName] = new AdminGenericMessageViewModel
                 {
                     Message     = "Membership Level was not successfully added.",
                     MessageType = GenericMessages.danger
                 };
             }
         }
         return(RedirectToAction("MembershipLevel", "AdminMembershipLevel"));
     }
 }
コード例 #15
0
        public MemberhipLevelCreateStatus CreateMembershipLevel(MembershipUser user, MembershipLevel newMembershipLevel)
        {
            newMembershipLevel = SanitizeMembershipLevel(newMembershipLevel);
            var status = MemberhipLevelCreateStatus.Success;

            var e = new NewMembershipLevelEventArgs {
                User = user, MembershipLevel = newMembershipLevel
            };

            EventManager.Instance.FireBeforeNewMembershipLevel(this, e);
            if (e.Cancel)
            {
                status = e.CreateStatus;
            }
            else
            {
                if (string.IsNullOrEmpty(newMembershipLevel.Name))
                {
                    status = MemberhipLevelCreateStatus.InvalidName;
                }
                if (GetByName(newMembershipLevel.Name, true) != null)
                {
                    status = MemberhipLevelCreateStatus.DuplicateName;
                }
                if (status == MemberhipLevelCreateStatus.Success)
                {
                    try
                    {
                        Add(newMembershipLevel);
                        _activityService.MembershipLevelAdded(user, newMembershipLevel);
                        EventManager.Instance.FireAfterNewMembershipLevel(this,
                                                                          new NewMembershipLevelEventArgs
                        {
                            User            = user,
                            MembershipLevel = newMembershipLevel
                        });
                    }
                    catch (Exception)
                    {
                        status = MemberhipLevelCreateStatus.NameRejected;
                        //log error;
                    }
                }
            }
            return(status);
        }
コード例 #16
0
        public void GivenCreateDivisionDTOReturnListFromDivisionList_WhenGivenADivisionList_ThenCreateADivisionDTOReturnList()
        {
            var  memstub         = Substitute.For <IMemberServices>();
            City city            = City.CreateCity(2050, "Antwerpen", "Belgium");
            var  MemberShipLevel = new MembershipLevel();
            var  newMem          = Member.CreateMember("lars", "Peelman", Address.CreateAddress("test", "5", city), MembershipLevelEnum.Gold, MemberShipLevel);
            var  newMem2         = Member.CreateMember("lsdsars", "Pesdelman", Address.CreateAddress("test", "5", city), MembershipLevelEnum.Gold, MemberShipLevel);
            var  testList        = new List <Member>();

            testList.Add(newMem);
            testList.Add(newMem2);

            var newMapper = new MemberMapper(new AddressMapper(new CityMapper(memstub)), new MembershipLevelMapper(), new LicensePlateMapper(), new PhoneNumpberMapper());
            var result    = newMapper.MemberListToDTOReturnList(testList);

            Assert.IsType <List <MemberDTO_Return> >(result);
        }
コード例 #17
0
        public void GivenGetAllMembers_WhenRequestingAllMembers_ThenReturnListOfAllMembers()
        {
            using (var context = new ParkSharkDbContext(CreateNewInMemoryDatabase()))
            {
                var memberShipLevel = new MembershipLevel();

                var city = City.CreateCity(2050, "Antwerpen", "Belgium");

                context.Set <Member>().Add(Member.CreateMember("lars", "Peelman", Address.CreateAddress("test", "5", city), MembershipLevelEnum.Bronze, memberShipLevel));
                context.Set <Member>().Add(Member.CreateMember("laeeers", "ee", Address.CreateAddress("test", "5", city), MembershipLevelEnum.Bronze, memberShipLevel));
                context.SaveChanges();

                var service = new MemberService(context);
                var result  = service.GetAllMembers().Count;

                Assert.Equal(2, result);
            }
        }
コード例 #18
0
        public void GivenHappyPath_WhenCreatePhoneNumber_ThenPhoneNumberIsCreated()
        {
            var city            = City.CreateCity(2050, "Antwerpen", "Belgium");
            var address         = Address.CreateAddress("sn", "sn", city);
            var memberShipLevel = new MembershipLevel();
            var member          = Member.CreateMember(
                "fn",
                "ln",
                address,
                MembershipLevelEnum.Bronze,
                memberShipLevel
                );
            var phoneNumberValue = "0472 80 50 40";

            var PhoneNumberObject = PhoneNumber.CreatePhoneNumber(member.MemberId, phoneNumberValue);

            Assert.NotNull(PhoneNumberObject);
        }
コード例 #19
0
    protected void SubmitButton_Click(object sender, EventArgs e)
    {
        ClubBAIST cb = new ClubBAIST();

        if (cb.IsAuthenticated(UserEmail.Text, Password.Text))
        {
            User                      thisUser        = cb.ReadUser(UserEmail.Text);
            MembershipLevel           ml              = cb.ReadMembershipLevel(thisUser.MembershipLevel);
            FormsAuthenticationTicket authTicket      = new FormsAuthenticationTicket(1, UserEmail.Text, DateTime.Now, DateTime.Now.AddMinutes(30), false, ml.Description);
            string                    encryptedTicket = FormsAuthentication.Encrypt(authTicket);
            HttpCookie                authCookie      = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
            Response.Cookies.Add(authCookie);
            Response.Redirect(FormsAuthentication.GetRedirectUrl(UserEmail.Text, false));
        }
        else
        {
            Msg.Text = "Login failed, check username or password.";
        }
    }
コード例 #20
0
        public void GivenGetSingleMemberUnHappyPath_WhenRequestingSingleMember_ReturnNull()
        {
            using (var context = new ParkSharkDbContext(CreateNewInMemoryDatabase()))
            {
                var service         = new MemberService(context);
                var memberShipLevel = new MembershipLevel();
                var city            = City.CreateCity(2050, "Antwerpen", "Belgium");
                var member          = Member.CreateMember("lars", "Peelman", Address.CreateAddress("test", "5", city), MembershipLevelEnum.Gold, memberShipLevel);

                context.Set <Member>().Add(member);
                context.SaveChanges();

                var fakeID = Guid.NewGuid();

                var result = service.GetMember(fakeID);

                Assert.Null(result);
            }
        }
コード例 #21
0
        public Member CreateNewMember(DummyMemberObject dummyMember)
        {
            MembershipLevel membershipLevel = AssignMembershipLevelFromDummyMember(dummyMember);

            if (membershipLevel == null)
            {
                return(null);
            }

            Member newMember = CreateMemberFromDummyObjectsAndMembershipLevel(dummyMember, membershipLevel);

            if (newMember == null)
            {
                return(null);
            }
            _parkSharkDBContext.Add(newMember);
            _parkSharkDBContext.SaveChanges();

            return(newMember);
        }
コード例 #22
0
        public void GivenMemberWithNoAddress_WhenCreateMember_ThenMemberIsNullObject()
        {
            //given
            var firstName = "firstName";
            var lastName  = "lastName";



            //when
            var memberShipLevel = new MembershipLevel();
            var member          = Member.CreateMember(
                firstName,
                lastName,
                null,
                MembershipLevelEnum.Bronze,
                memberShipLevel
                );

            //then
            Assert.Null(member);
        }
コード例 #23
0
        public void GivenGetSingleMember_WhenRequestingSingleMember_ReturnRequestedMember()
        {
            using (var context = new ParkSharkDbContext(CreateNewInMemoryDatabase()))
            {
                var service         = new MemberService(context);
                var memberShipLevel = new MembershipLevel();
                var city            = City.CreateCity(2050, "Antwerpen", "Belgium");

                var member = Member.CreateMember("lars", "Peelman", Address.CreateAddress("test", "5", city), MembershipLevelEnum.Gold, memberShipLevel);
                context.Set <Member>().Add(member);
                context.SaveChanges();

                var id = member.MemberId;

                var result = service.GetMember(id);

                Assert.IsType <Member>(result);
                Assert.Equal(id, result.MemberId);
                Assert.Equal("lars", result.FirstName);
                Assert.Equal("Peelman", result.LastName);
            }
        }
コード例 #24
0
    public MembershipLevel SelectMembershipLevel(int membershipLevelID)
    {
        MembershipLevel ml = new MembershipLevel();

        try
        {
            SqlConnection ClubBAISTConnection = new SqlConnection();
            ClubBAISTConnection.ConnectionString = ConfigurationManager.ConnectionStrings["ClubBAIST"].ConnectionString;

            SqlCommand ClubBAISTCommand = new SqlCommand();
            ClubBAISTCommand.CommandType = CommandType.StoredProcedure;
            ClubBAISTCommand.Connection  = ClubBAISTConnection;
            ClubBAISTCommand.CommandText = "SelectMembershipLevel";

            SqlParameter parameter = new SqlParameter();
            parameter.ParameterName = "@MembershipLevelID";
            parameter.SqlDbType     = SqlDbType.Int;
            parameter.Value         = membershipLevelID;
            parameter.Direction     = ParameterDirection.Input;

            ClubBAISTCommand.Parameters.Add(parameter);

            ClubBAISTConnection.Open();
            SqlDataReader dr;
            dr = ClubBAISTCommand.ExecuteReader();
            dr.Read();

            ml.MembershipLevelID = int.Parse(dr["MembershipLevelID"].ToString());
            ml.Description       = dr["Description"].ToString();
            ml.Active            = int.Parse(dr["Active"].ToString());

            ClubBAISTConnection.Close();
        }
        catch
        {
        }
        return(ml);
    }
コード例 #25
0
ファイル: MemberService.cs プロジェクト: AdamMalek/socnet
 private void SetRole(Member member, MembershipLevel newRole)
 {
     if (member == null)
     {
         throw new ArgumentException("Invalid member");
     }
     if (newRole == MembershipLevel.User)
     {
         var admins = _memberRepository.GetMembersWhere(x => x.Role == MembershipLevel.Admin && x.GroupId == member.GroupId);
         if (admins.Count() == 1 && admins.First().ProfileId == member.ProfileId)
         {
             throw new ArgumentException("Cannot remove admin rights from only admin in group.");
         }
     }
     member.Role = newRole;
     try
     {
         _memberRepository.UpdateMember(member);
     }
     catch
     {
         throw new ArgumentException("Database error");
     }
 }
コード例 #26
0
 private static Member CreateMemberFromDummyObjectsAndMembershipLevel(DummyMemberObject dummyMember, MembershipLevel membershipLevel)
 {
     return(Member.CreateMember(
                dummyMember.FirstName,
                dummyMember.LastName,
                dummyMember.Address,
                dummyMember.MembershipLevel,
                membershipLevel
                ));
 }
コード例 #27
0
ファイル: GroupService.cs プロジェクト: AdamMalek/socnet
        public IEnumerable <Profile> GetMembersWithRole(int id, MembershipLevel role)
        {
            var group = GetGroupById(id, "members");

            return(GetMembersWithRole(group, role));
        }
コード例 #28
0
ファイル: GroupService.cs プロジェクト: AdamMalek/socnet
        public IEnumerable <Profile> GetMembersWithRole(string slug, MembershipLevel role)
        {
            var group = GetGroupBySlug(slug, "members");

            return(GetMembersWithRole(group, role));
        }
コード例 #29
0
 public MembershipLevelAddedActivity(Activity activity, MembershipUser user, MembershipLevel membershipLevel)
 {
     ActivityMapped  = activity;
     User            = user;
     MembershipLevel = membershipLevel;
 }
コード例 #30
0
 public void Init()
 {
     instance = new MembershipLevel();
 }