예제 #1
0
        public void Match_Invoice_Test()
        {
            var fortKnox = FortKnox.Instance();

            var invoices = fortKnox.ExportInvoices();

            Assert.Empty(invoices);

            var memberFactory = new MemberFactory(400);
            var member1       = memberFactory.CreateMember("Test1", "1", true);
            var member2       = memberFactory.CreateMember("Test2", "2", true);

            var matchDirector = new MatchDirector();
            var matchBuilder  = new MatchBuilder(100);

            matchDirector.Construct(matchBuilder, member1, member2);

            var expectedInvoice1 = "Name: " + member1.Name + " Address: " + member1.Address + " Amount: " + 100;
            var expectedInvoice2 = "Name: " + member2.Name + " Address: " + member2.Address + " Amount: " + 100;

            invoices = fortKnox.ExportInvoices();

            Assert.Contains(expectedInvoice1, invoices);
            Assert.Contains(expectedInvoice2, invoices);
        }
예제 #2
0
        public void Competition_Invoice_Test()
        {
            var fortKnox = FortKnox.Instance();

            var invoices = fortKnox.ExportInvoices();

            Assert.Empty(invoices);

            var memberFactory = new MemberFactory(400);
            var member1       = memberFactory.CreateMember("Test1", "1", true);
            var member2       = memberFactory.CreateMember("Test2", "2", true);

            var competitionFactory = new CompetitionFactory();
            var testCompetition    = competitionFactory.CreateCompetition("Test Cup", DateTime.Now, DateTime.Now.AddDays(7), 150);

            var matchDirector           = new MatchDirector();
            var competitionMatchBuilder = new CompetitionMatchBuilder(testCompetition, 100);

            matchDirector.Construct(competitionMatchBuilder, member1, member2);

            var expectedInvoice1 = "Name: " + member1.Name + " Address: " + member1.Address + " Amount: " + 100;
            var expectedInvoice2 = "Name: " + member2.Name + " Address: " + member2.Address + " Amount: " + 100;
            var expectedInvoice3 = "Name: " + member1.Name + " Address: " + member1.Address + " Amount: " + 150;
            var expectedInvoice4 = "Name: " + member2.Name + " Address: " + member2.Address + " Amount: " + 150;

            invoices = fortKnox.ExportInvoices();

            Assert.Contains(expectedInvoice1, invoices);
            Assert.Contains(expectedInvoice2, invoices);
            Assert.Contains(expectedInvoice1, invoices);
            Assert.Contains(expectedInvoice2, invoices);
        }
예제 #3
0
        public void Construct(ModuleModel model, IServiceContainer services)
        {
            // Member creation may be non-linear. Consider function A returning instance
            // of a class or type info of a function which hasn't been created yet.
            // Thus first create members so we can find then, then populate them with content.
            var mf = new ModuleFactory(model, Module, this, services);

            // Generics first
            foreach (var m in model.TypeVars)
            {
                var member = MemberFactory.CreateMember(m, mf, this, null);
                _scopeVariables.DeclareVariable(m.Name, member, VariableSource.Generic, mf.DefaultLocation);
            }

            var models = model.NamedTuples
                         .Concat <MemberModel>(model.Classes).Concat(model.Functions); //.Concat(_model.SubModules);

            foreach (var m in models)
            {
                var member = MemberFactory.CreateMember(m, mf, this, null);
                _scopeVariables.DeclareVariable(m.Name, member, VariableSource.Declaration, mf.DefaultLocation);
            }

            // Now variables in the order of appearance since later variables
            // may use types declared in the preceding ones.
            foreach (var vm in model.Variables.OrderBy(m => m.IndexSpan.Start))
            {
                var member = MemberFactory.CreateMember(vm, mf, this, null);
                _scopeVariables.DeclareVariable(vm.Name, member, VariableSource.Declaration, mf.DefaultLocation);
            }
        }
예제 #4
0
    public Cart()
    {
        Response    = System.Web.HttpContext.Current.Response;
        Request     = System.Web.HttpContext.Current.Request;
        Server      = System.Web.HttpContext.Current.Server;
        Session     = System.Web.HttpContext.Current.Session;
        Application = System.Web.HttpContext.Current.Application;

        tools         = ToolsFactory.CreateTools();
        encrypt       = EncryptFactory.CreateEncrypt();
        MyOrders      = OrdersFactory.CreateOrders();
        MyCart        = OrdersGoodsTmpFactory.CreateOrdersGoodsTmp();
        MyProduct     = ProductFactory.CreateProduct();
        MyMem         = MemberFactory.CreateMember();
        Mypackage     = PackageFactory.CreatePackage();
        MyAddr        = MemberAddressFactory.CreateMemberAddress();
        MyDelivery    = DeliveryWayFactory.CreateDeliveryWay();
        MyPayway      = PayWayFactory.CreatePayWay();
        Mydelierytime = DeliveryTimeFactory.CreateDeliveryTime();
        MyInvioce     = OrdersInvoiceFactory.CreateOrdersInvoice();
        MyFavorFee    = PromotionFavorFeeFactory.CreatePromotionFavorFee();
        MyCoupon      = PromotionFavorCouponFactory.CreatePromotionFavorCoupon();
        MyPolicy      = PromotionFavorPolicyFactory.CreatePromotionFavorPolicy();
        MyGift        = PromotionFavorGiftFactory.CreatePromotionFavorGift();
        MyCommission  = SupplierCommissionCategoryFactory.CreateSupplierCommissionCategory();
        MySupplier    = SupplierFactory.CreateSupplier();
        MyFavor       = PromotionFavorFactory.CreatePromotionFavor();
        MyLimit       = PromotionLimitFactory.CreatePromotionLimit();
        MyMemberFavor = MemberFavoritesFactory.CreateMemberFavorites();
        pageurl       = new PageURL(int.Parse(Application["Static_IsEnable"].ToString()));
    }
예제 #5
0
파일: Member.cs 프로젝트: Abnertd/public
    public Member()
    {
        Response    = System.Web.HttpContext.Current.Response;
        Request     = System.Web.HttpContext.Current.Request;
        Server      = System.Web.HttpContext.Current.Server;
        Session     = System.Web.HttpContext.Current.Session;
        Application = System.Web.HttpContext.Current.Application;

        tools         = ToolsFactory.CreateTools();
        MyMember      = MemberFactory.CreateMember();
        Mygrade       = MemberGradeFactory.CreateMemberGrade();
        MyMemLog      = MemberLogFactory.CreateMemberLog();
        encrypt       = EncryptFactory.CreateEncrypt();
        MyConsumption = MemberConsumptionFactory.CreateMemberConsumption();
        MyFavor       = MemberFavoritesFactory.CreateMemberFavorites();
        MyProduct     = ProductFactory.CreateProduct();
        MyPackage     = PackageFactory.CreatePackage();
        MyReview      = ProductReviewFactory.CreateProductReview();
        MyFeedback    = FeedBackFactory.CreateFeedBack();
        MyAddr        = MemberAddressFactory.CreateMemberAddress();
        MyCart        = OrdersGoodsTmpFactory.CreateOrdersGoodsTmp();
        MyCoupon      = PromotionFavorCouponFactory.CreatePromotionFavorCoupon();
        // MyEmail = U_EmailNotifyRequestFactory.CreateU_EmailNotifyRequest();
        MyAccountLog = MemberAccountLogFactory.CreateMemberAccountLog();
        MyShop       = SupplierShopFactory.CreateSupplierShop();

        pageurl = new PageURL(int.Parse(Application["Static_IsEnable"].ToString()));
    }
예제 #6
0
파일: Orders.cs 프로젝트: Abnertd/public
    public Orders()
    {
        Response    = System.Web.HttpContext.Current.Response;
        Request     = System.Web.HttpContext.Current.Request;
        Server      = System.Web.HttpContext.Current.Server;
        Session     = System.Web.HttpContext.Current.Session;
        Application = System.Web.HttpContext.Current.Application;

        tools           = ToolsFactory.CreateTools();
        encrypt         = EncryptFactory.CreateEncrypt();
        MyOrders        = OrdersFactory.CreateOrders();
        Mylog           = OrdersLogFactory.CreateOrdersLog();
        MyDelivery      = DeliveryWayFactory.CreateDeliveryWay();
        MyPayway        = PayWayFactory.CreatePayWay();
        MyProduct       = ProductFactory.CreateProduct();
        Mypackage       = PackageFactory.CreatePackage();
        Myorderdelivery = OrdersDeliveryFactory.CreateOrdersDelivery();
        MyFavorFee      = PromotionFavorFeeFactory.CreatePromotionFavorFee();
        MyCoupon        = PromotionFavorCouponFactory.CreatePromotionFavorCoupon();
        MyBack          = OrdersBackApplyFactory.CreateOrdersBackApply();
        MyPolicy        = PromotionFavorPolicyFactory.CreatePromotionFavorPolicy();
        MySupplier      = SupplierFactory.CreateSupplier();
        Mydelierytime   = DeliveryTimeFactory.CreateDeliveryTime();
        MyMember        = MemberFactory.CreateMember();
        MyConsumption   = MemberConsumptionFactory.CreateMemberConsumption();
        pageurl         = new PageURL(int.Parse(Application["Static_IsEnable"].ToString()));
        MyAccountLog    = MemberAccountLogFactory.CreateMemberAccountLog();
        MyFavor         = PromotionFavorFactory.CreatePromotionFavor();
        MyCouponRule    = PromotionCouponRuleFactory.CreatePromotionFavorCoupon();
        MyInvoice       = OrdersInvoiceFactory.CreateOrdersInvoice();
    }
예제 #7
0
        public void  Match_Draw_Test()
        {
            var memberFactory = new MemberFactory(400);
            var member1       = memberFactory.CreateMember("Test", "Test street 1", true);
            var member2       = memberFactory.CreateMember("tester", "tester street 55", true);
            var matchDirector = new MatchDirector();
            var matchBuilder  = new MatchBuilder(100);

            matchDirector.Construct(matchBuilder, member1, member2);
            var testMatch = matchBuilder.GetResult();

            testMatch.SetPlayerOneScore(100, 100, 100);
            testMatch.SetPlayerTwoScore(100, 100, 100);

            Assert.Null(testMatch.GetWinner());
            Assert.Null(testMatch.GetLoser());
        }
예제 #8
0
        public void MemberFactory_CreateMember_Should_Create_Adult_Object()
        {
            DateTime adultBirthdate = new DateTime(1950, 1, 1);
            Member   m = MemberFactory.CreateMember("Donal", adultBirthdate);

            Type adultType = m.GetType();

            Assert.Equal(typeof(Adult), adultType);
        }
        public void Year_Champion_Not_Enough_Matches_Test()
        {
            var resultManager = ResultManager.Instance();
            var memberFactory = new MemberFactory(400);
            var member1       = memberFactory.CreateMember("Test", "Test street 1", true);
            var member2       = memberFactory.CreateMember("tester", "tester street 55", true);
            var matchDirector = new MatchDirector();
            var matchBuilder  = new MatchBuilder(100);

            for (var i = 0; i < 9; i++)
            {
                matchDirector.Construct(matchBuilder, member1, member2);
                matchBuilder.GetResult().SetPlayerOneScore(50, 50, 50);
                matchBuilder.GetResult().SetPlayerTwoScore(100, 100, 100);
            }

            Assert.Null(resultManager.GetYearChampion(DateTime.Now));
        }
예제 #10
0
    public ProductPrice()
    {
        Application = System.Web.HttpContext.Current.Application;

        tools   = ToolsFactory.CreateTools();
        MyMem   = MemberFactory.CreateMember();
        Myprice = ProductPriceFactory.CreateProductPrice();
        Mygrade = MemberGradeFactory.CreateMemberGrade();
    }
        public void Competition_Champion_Not_Enough_Matches_Test()
        {
            var resultManager           = ResultManager.Instance();
            var memberFactory           = new MemberFactory(400);
            var member1                 = memberFactory.CreateMember("Test", "Test street 1", true);
            var member2                 = memberFactory.CreateMember("tester", "tester street 55", true);
            var competitionFactory      = new CompetitionFactory();
            var testCompetition         = competitionFactory.CreateCompetition("Test Cup", DateTime.Now, DateTime.Now.AddDays(7), 150);
            var matchDirector           = new MatchDirector();
            var competitionMatchBuilder = new CompetitionMatchBuilder(testCompetition, 100);

            for (var i = 0; i < 9; i++)
            {
                matchDirector.Construct(competitionMatchBuilder, member1, member2);
                competitionMatchBuilder.GetResult().SetPlayerOneScore(50, 50, 50);
                competitionMatchBuilder.GetResult().SetPlayerTwoScore(100, 100, 100);
            }

            Assert.Null(resultManager.GetCompetitionResults(testCompetition));
        }
예제 #12
0
        public void New_Member_Test()
        {
            var resultManager = ResultManager.Instance();

            resultManager.ResetForTesting();

            var memberFactory = new MemberFactory(400);
            var member        = memberFactory.CreateMember("Test", "Test Street", true);

            Assert.Equal(member, resultManager.Members.SingleOrDefault());
        }
예제 #13
0
        public void New_Member_Invoice_Test()
        {
            var fortKnox      = FortKnox.Instance();
            var memberFactory = new MemberFactory(400);
            var member        = memberFactory.CreateMember("Test1", "Test1", false);

            var invoices        = fortKnox.ExportInvoices();
            var expectedInvoice = "Name: " + member.Name + " Address: " + member.Address + " Amount: " + 400;

            Assert.Single(invoices);
            Assert.Equal(expectedInvoice, invoices.Last());
        }
예제 #14
0
        public void MemberFactory_CreateMember_Should_Create_Child_Object()
        {
            DateTime childBirthdate = new DateTime(2015, 1, 1);
            Member   m = MemberFactory.CreateMember("Kate", childBirthdate);

            Assert.Equal("Kate", m.Name);
            Assert.Equal(childBirthdate, m.DateOfBirth);

            Type childType = m.GetType();

            Assert.Equal(typeof(Child), childType);
        }
예제 #15
0
        public void New_Member_No_Invoice_Test()
        {
            var          resultManager = ResultManager.Instance();
            var          fortKnox      = FortKnox.Instance();
            const double membershipFee = 400;
            var          memberFactory = new MemberFactory(membershipFee);
            var          member        = memberFactory.CreateMember("Test2", "Test2", true);

            Assert.Equal(member, resultManager.Members.Last());

            var invoices = fortKnox.ExportInvoices();

            Assert.Empty(invoices);
        }
예제 #16
0
파일: Feedback.cs 프로젝트: Abnertd/public
    public Feedback()
    {
        //初始化ASP.NET内置对象
        Response    = System.Web.HttpContext.Current.Response;
        Request     = System.Web.HttpContext.Current.Request;
        Server      = System.Web.HttpContext.Current.Server;
        Session     = System.Web.HttpContext.Current.Session;
        Application = System.Web.HttpContext.Current.Application;

        tools          = ToolsFactory.CreateTools();
        MyBLL          = MemberFactory.CreateMember();
        MyFeedback     = FeedBackFactory.CreateFeedBack();
        MySupplier     = SupplierFactory.CreateSupplier();
        MyBidUpRequire = BidUpRequireQuickFactory.CreateBidUpRequireQuick();
    }
예제 #17
0
    public ProductReview()
    {
        //初始化ASP.NET内置对象
        Response    = System.Web.HttpContext.Current.Response;
        Request     = System.Web.HttpContext.Current.Request;
        Server      = System.Web.HttpContext.Current.Server;
        Session     = System.Web.HttpContext.Current.Session;
        Application = System.Web.HttpContext.Current.Application;

        tools     = ToolsFactory.CreateTools();
        Myconfig  = ProductReviewConfigFactory.CreateProductReviewConfig();
        Myreview  = ProductReviewFactory.CreateProductReview();
        MyMem     = MemberFactory.CreateMember();
        Myproduct = ProductFactory.CreateProduct();
    }
예제 #18
0
    public ShoppingAsk()
    {
        //初始化ASP.NET内置对象
        Response    = System.Web.HttpContext.Current.Response;
        Request     = System.Web.HttpContext.Current.Request;
        Server      = System.Web.HttpContext.Current.Server;
        Session     = System.Web.HttpContext.Current.Session;
        Application = System.Web.HttpContext.Current.Application;

        tools     = ToolsFactory.CreateTools();
        MyBLL     = ShoppingAskFactory.CreateShoppingAsk();
        MyMem     = MemberFactory.CreateMember();
        MyProduct = ProductFactory.CreateProduct();

        ProApp = new Product();
        MEMApp = new Member();
    }
예제 #19
0
        public async Task <ActionResult> AddMember(Animal model)
        {
            var user = GetUser();

            Creation creation = MemberFactory.CreateMember(model.MemberType);

            creation.Id          = Guid.NewGuid().ToString();
            creation.DateOfBirth = DateTime.Now;
            creation.ImageLink   = !String.IsNullOrEmpty(model.ImageLink) ? model.ImageLink : @"https://kooledge.com/assets/default_medium_avatar-57d58da4fc778fbd688dcbc4cbc47e14ac79839a9801187e42a796cbd6569847.png";
            creation.Name        = !String.IsNullOrEmpty(model.Name) ? model.Name : "New member";
            creation.MemberType  = model.MemberType;
            creation.Sex         = model.Sex;
            creation.Weight      = model.Weight;

            user.Creations.Add(creation);
            await SaveChanges();

            return(RedirectToAction("Index", model.Id));
        }
예제 #20
0
        public void AddNewMember(IAddNewMemberView inForm, IMemberRepository memberRepository)
        {
            if (inForm.ShowViewModal())
            {
                try
                {
                    string         name           = inForm.MemberName;
                    int            phoneNumber    = inForm.PhoneNumber;
                    MembershipType membershipType = memberRepository.GetMembershipTypeByName(inForm.MembershipType);

                    Member newMember = MemberFactory.CreateMember(name, phoneNumber, membershipType);
                    memberRepository.AddMember(newMember);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("EXCEPTION: " + ex.Message);
                    throw;
                }
            }
        }
예제 #21
0
        static void Main(string[] args)
        {
            var memberFactory = new MemberFactory(400);

            for (var i = 0; i < 11; i++)
            {
                memberFactory.CreateMember("TestMember" + i, "Test Street" + i, true);
            }

            var competitionFactory = new CompetitionFactory();
            var testCompetition    = competitionFactory.CreateCompetition("Test Competition", DateTime.Now, DateTime.Now.AddDays(7), 150);


            var matchDirector           = new MatchDirector();
            var testCupGameMatchBuilder = new CompetitionMatchBuilder(testCompetition, 100);

            Console.WriteLine("Competition games");
            for (var j = 0; j < 11; j++)
            {
                for (var i = j + 1; i < 11; i++)
                {
                    var player   = ResultManager.Instance().Members[j];
                    var opponent = ResultManager.Instance().Members[i];

                    matchDirector.Construct(testCupGameMatchBuilder, player, opponent);
                    testCupGameMatchBuilder.GetResult().GeneratePlayerScores();
                }
            }


            Console.WriteLine();
            Console.WriteLine("Champion playing games...");
            var champ = memberFactory.CreateMember("Winner", "Winner Street", true);
            var loser = memberFactory.CreateMember("Loser", "Loser Street", true);

            var standaloneMatchBuilder = new MatchBuilder(100);

            for (var i = 0; i < 12; i++)
            {
                matchDirector.Construct(standaloneMatchBuilder, champ, loser);
                var testMatch = standaloneMatchBuilder.GetResult();
                testMatch.SetPlayerOneScore(100, 100, 100);
                testMatch.SetPlayerTwoScore(50, 50, 50);
            }


            var resultManager = ResultManager.Instance();

            resultManager.GetCompetitionResults(testCompetition);
            resultManager.GetYearChampion(DateTime.Now);


            Console.WriteLine();
            Console.WriteLine("----------");
            var fortKnox = FortKnox.Instance();

            fortKnox.ExportInvoices();

            Console.WriteLine("Press any key...");
            Console.ReadLine();
        }