Esempio n. 1
0
        static void Main(string[] args)
        {
            Mapper.Initialize(p =>
            {
                p.AddProfile <OrganizationProfile>();
                p.CreateMap <OpenAuctionRequestVm, Auction>();
                p.ValidateInlineMaps = false;
            });

            AuctionManagementService service = new AuctionManagementService();

            //service.ElectWinnerInAuction(1);

            //AuctionInfoVM ainfo = service.GetAuctionInfo(1);

            //List<string> files = new List<string>();
            //files.Add(@"F:\Work\Замена масла.cdr");
            //files.Add(@"F:\Work\Замена масла1.cdr");

            //service.addFilesToAuction(files, 1);

            //service.RevokeBidFromAuction(1);

            service.OpenAuction(new OpenAuctionRequestVm()
            {
                Description        = "Yjdsq",
                ShippingAddress    = "Almaty",
                ShippingConditions = "",
                PriceAtStart       = 700000,
                PriceChangeStep    = 20000,
                PriceAtMinimum     = 50000,
                StartDate          = DateTime.Now,
                FinishDateExpected = DateTime.Now.AddDays(5),
                AuctionCategory    = "12"
            }, 1);


            //service.MakeBidToAuction(new MakeBidVm()
            //{
            //    AuctionId = 1,
            //    Description = "Поставим настоящуую шерсть баранов из Мадагаскара!",
            //    OrganizationId = 2,
            //    Price = 600000
            //});

            //service.MakeBidToAuction(new MakeBidVm()
            //{
            //    AuctionId = 1,
            //    Description = "Поставим настоящуую шерсть баранов из Келиманжару!",
            //    OrganizationId = 2,
            //    Price = 600000
            //});


            Console.ReadLine();
        }
Esempio n. 2
0
        private void Button1_Click(object sender, EventArgs e)
        {
            AuctionManagementService service = new AuctionManagementService();

            //List<AuctionInfoVM> auctions = service.FindAuction(AuctionManagementService.FindCategory.Description, "Yjdsq");

            //if (auctions.Count == 0) MessageBox.Show("Такого аукцина нет");

            //dataGridView1.DataSource = auctions;
            service.RestartAuction(1);
        }
Esempio n. 3
0
        public static void CreateCategoryAuction()
        {
            CreateAuctionCategoryVm newCategory = new CreateAuctionCategoryVm()
            {
                Name        = "NameCategory",
                Discription = "TestDiscription"
            };

            AuctionManagementService service = new AuctionManagementService();

            service.CreateAuctionCategory(newCategory);
        }
        public void AuctionManagementService_OpenAuction()
        {
            ApplicationDbContext applicationDb = new ApplicationDbContext();

            applicationDb.Database.CreateIfNotExists();

            OrganizationType organizationType = new OrganizationType()
            {
                Id   = Guid.NewGuid(),
                Name = "TstTypeA_01"
            };

            applicationDb.OrganizationTypes.Add(organizationType);
            applicationDb.SaveChanges();

            Organization organization = new Organization()
            {
                Id                 = Guid.NewGuid(),
                FullName           = "TestCompanyA_01",
                RegistrationDate   = DateTime.Now,
                OrganizationTypeId = organizationType.Id
            };

            applicationDb.Organizations.Add(organization);
            applicationDb.SaveChanges();

            var files = new List <HttpPostedFileBase>();
            CreateAuctionViewModel model = new CreateAuctionViewModel()
            {
                AuctionType          = "Test_Услуги",
                Description          = "test_поставки турагентский услуг",
                RatingForParticipant = 10.5,
                StartDate            = new DateTime(2019, 4, 24),
                FinishDate           = new DateTime(2019, 5, 20),
                MinPrice             = 140000.50M,
                StartPrice           = 350000M,
                PriceStep            = 50000M,
                UploadFiles          = files
            };

            AuctionManagementService sut = new AuctionManagementService();

            sut.OpenAuction(model, organization.Id);

            Auction auction = applicationDb.Auctions
                              .SingleOrDefault(p => p.OrganizationId == organization.Id && p.Description == "test_поставки турагентский услуг");

            Assert.IsNotNull(auction);
            Assert.IsTrue(auction.MinRatingForParticipant == 10.5);
        }
Esempio n. 5
0
        public static void OpenAuction(int organizationId)
        {
            OpenAuctionRequestVm openAuction = new OpenAuctionRequestVm()
            {
                Category           = "test",
                Description        = "TestDiscription",
                FinishDateExpected = DateTime.Now.AddDays(5),
                PriceAtMinimum     = 300000,
                PriceAtStart       = 500000,
                PriceChangeStep    = 50000,
                ShippingAddress    = "TestShippingAdress",
                ShippingConditions = "TestShippingConditions",
                StartDate          = DateTime.Now
            };

            AuctionManagementService auctionService = new AuctionManagementService();

            auctionService.OpenAuction(openAuction, organizationId);
        }
        public void AuctionManagementService_MakeBidToAuction()
        {
            ApplicationDbContext applicationDb = new ApplicationDbContext();

            applicationDb.Database.CreateIfNotExists();

            OrganizationType organizationType = new OrganizationType()
            {
                Id   = Guid.NewGuid(),
                Name = "TstTypeA_02"
            };

            applicationDb.OrganizationTypes.Add(organizationType);
            applicationDb.SaveChanges();

            Organization auctionMaster = new Organization()
            {
                Id                 = Guid.NewGuid(),
                FullName           = "TestCompanyA_02",
                RegistrationDate   = DateTime.Now,
                OrganizationTypeId = organizationType.Id
            };

            applicationDb.Organizations.Add(auctionMaster);
            applicationDb.SaveChanges();

            Organization auctionParticipant = new Organization()
            {
                Id                 = Guid.NewGuid(),
                FullName           = "TestCompanyA_022",
                RegistrationDate   = DateTime.Now,
                OrganizationTypeId = organizationType.Id
            };

            applicationDb.Organizations.Add(auctionParticipant);
            applicationDb.SaveChanges();

            AuctionType auctionType = new AuctionType()
            {
                Id   = Guid.NewGuid(),
                Name = "TestAuctionType_02"
            };

            applicationDb.AuctionTypes.Add(auctionType);
            applicationDb.SaveChanges();

            Auction auction = new Auction()
            {
                Id                      = Guid.NewGuid(),
                Description             = "test_any description",
                MinRatingForParticipant = 10.5,
                StartPrice              = 500000M,
                MinPrice                = 100000M,
                PriceStep               = 50000M,
                StartDate               = new DateTime(2019, 4, 26),
                FinishDate              = new DateTime(2019, 5, 22),
                Status                  = AuctionStatus.Active,
                AuctionTypeId           = auctionType.Id,
                OrganizationId          = auctionMaster.Id
            };

            applicationDb.Auctions.Add(auction);
            applicationDb.SaveChanges();

            Transaction depositTrans = new Transaction()
            {
                Id = Guid.NewGuid(),
                TransactionType = TransactionType.Deposit,
                Sum             = 400000,
                TransactionDate = DateTime.Now,
                OrganizationId  = auctionParticipant.Id
            };

            applicationDb.Transactions.Add(depositTrans);
            applicationDb.SaveChanges();

            Transaction withdrawTrans = new Transaction()
            {
                Id = Guid.NewGuid(),
                TransactionType = TransactionType.Withdraw,
                Sum             = 100000,
                TransactionDate = DateTime.Now,
                OrganizationId  = auctionParticipant.Id
            };

            applicationDb.Transactions.Add(withdrawTrans);
            applicationDb.SaveChanges();

            MakeBidViewModel model = new MakeBidViewModel()
            {
                AuctionId      = auction.Id.ToString(),
                OrganizationId = auctionParticipant.Id.ToString(),
                Price          = 200000M
            };

            decimal bidCost = 50000M;
            AuctionManagementService sut = new AuctionManagementService();

            sut.MakeBidToAuction(model, bidCost);

            Bid bid = applicationDb.Bids
                      .SingleOrDefault(p => p.AuctionId == auction.Id && p.OrganizationId == auctionParticipant.Id);
            Transaction transaction = applicationDb.Transactions
                                      .SingleOrDefault(p => p.OrganizationId == auctionParticipant.Id && p.Sum == bidCost);

            Assert.IsNotNull(bid);
            Assert.IsNotNull(transaction);
        }
        public void AuctionManagementService_ElectWinnerInAuction()
        {
            ApplicationDbContext applicationDb = new ApplicationDbContext();

            applicationDb.Database.CreateIfNotExists();

            OrganizationType organizationType = new OrganizationType()
            {
                Id   = Guid.NewGuid(),
                Name = "TstTypeA_04"
            };

            applicationDb.OrganizationTypes.Add(organizationType);
            applicationDb.SaveChanges();

            Organization auctionMaster = new Organization()
            {
                Id                 = Guid.NewGuid(),
                FullName           = "TestCompanyA_04",
                RegistrationDate   = DateTime.Now,
                OrganizationTypeId = organizationType.Id
            };

            applicationDb.Organizations.Add(auctionMaster);
            applicationDb.SaveChanges();

            Organization auctionParticipant = new Organization()
            {
                Id                 = Guid.NewGuid(),
                FullName           = "TestCompanyA_042",
                RegistrationDate   = DateTime.Now,
                OrganizationTypeId = organizationType.Id
            };

            applicationDb.Organizations.Add(auctionParticipant);
            applicationDb.SaveChanges();

            AuctionType auctionType = new AuctionType()
            {
                Id   = Guid.NewGuid(),
                Name = "TestAuctionType_04"
            };

            applicationDb.AuctionTypes.Add(auctionType);
            applicationDb.SaveChanges();

            Auction auction = new Auction()
            {
                Id                      = Guid.NewGuid(),
                Description             = "test_any description_04",
                MinRatingForParticipant = 9.5,
                StartPrice              = 600000M,
                MinPrice                = 100000M,
                PriceStep               = 50000M,
                StartDate               = new DateTime(2019, 4, 26),
                FinishDate              = new DateTime(2019, 5, 22),
                Status                  = AuctionStatus.Active,
                AuctionTypeId           = auctionType.Id,
                OrganizationId          = auctionMaster.Id
            };

            applicationDb.Auctions.Add(auction);
            applicationDb.SaveChanges();

            Transaction depositTrans = new Transaction()
            {
                Id = Guid.NewGuid(),
                TransactionType = TransactionType.Deposit,
                Sum             = 400000,
                TransactionDate = DateTime.Now,
                OrganizationId  = auctionParticipant.Id
            };

            applicationDb.Transactions.Add(depositTrans);
            applicationDb.SaveChanges();

            OrganizationRating rating = new OrganizationRating()
            {
                Id             = Guid.NewGuid(),
                Score          = 10,
                OrganizationId = auctionParticipant.Id
            };

            applicationDb.OrganizationRatings.Add(rating);
            applicationDb.SaveChanges();

            var activeBidStatus = applicationDb.BidStatuses.SingleOrDefault(p => p.StatusName == "Active");

            if (activeBidStatus == null)
            {
                BidStatus status = new BidStatus()
                {
                    Id         = Guid.NewGuid(),
                    StatusName = "Active"
                };
                applicationDb.BidStatuses.Add(status);
                applicationDb.SaveChanges();
                activeBidStatus = status;
            }

            Bid bid = new Bid()
            {
                Id             = Guid.NewGuid(),
                Price          = 200000M,
                CreatedDate    = DateTime.Now,
                BidStatusId    = activeBidStatus.Id,
                AuctionId      = auction.Id,
                OrganizationId = auctionParticipant.Id
            };

            applicationDb.Bids.Add(bid);
            applicationDb.SaveChanges();

            BidInfoViewModel model = new BidInfoViewModel()
            {
                BidId          = bid.Id.ToString(),
                AuctionId      = auction.Id.ToString(),
                OrganizationId = auctionParticipant.Id.ToString(),
                CreatedDate    = DateTime.Now,
                Price          = bid.Price
            };

            AuctionManagementService sut = new AuctionManagementService();

            sut.ElectWinnerInAuction(model);

            Bid         newBid      = applicationDb.Bids.SingleOrDefault(p => p.Id.ToString() == model.BidId);
            Transaction transaction = applicationDb.Transactions
                                      .SingleOrDefault(p => p.Sum == model.Price && p.TransactionType == TransactionType.Withdraw &&
                                                       p.OrganizationId.ToString() == model.OrganizationId);

            Assert.IsNotNull(newBid);
            Assert.IsNotNull(transaction);
        }
        public void AuctionManagementService_RevokeBidFromAuction()
        {
            ApplicationDbContext applicationDb = new ApplicationDbContext();

            applicationDb.Database.CreateIfNotExists();

            OrganizationType organizationType = new OrganizationType()
            {
                Id   = Guid.NewGuid(),
                Name = "TstTypeA_03"
            };

            applicationDb.OrganizationTypes.Add(organizationType);
            applicationDb.SaveChanges();

            Organization auctionMaster = new Organization()
            {
                Id                 = Guid.NewGuid(),
                FullName           = "TestCompanyA_03",
                RegistrationDate   = DateTime.Now,
                OrganizationTypeId = organizationType.Id
            };

            applicationDb.Organizations.Add(auctionMaster);
            applicationDb.SaveChanges();

            Organization auctionParticipant = new Organization()
            {
                Id                 = Guid.NewGuid(),
                FullName           = "TestCompanyA_032",
                RegistrationDate   = DateTime.Now,
                OrganizationTypeId = organizationType.Id
            };

            applicationDb.Organizations.Add(auctionParticipant);
            applicationDb.SaveChanges();

            AuctionType auctionType = new AuctionType()
            {
                Id   = Guid.NewGuid(),
                Name = "TestAuctionType_03"
            };

            applicationDb.AuctionTypes.Add(auctionType);
            applicationDb.SaveChanges();

            Auction auction = new Auction()
            {
                Id                      = Guid.NewGuid(),
                Description             = "test_any description_03",
                MinRatingForParticipant = 9.5,
                StartPrice              = 600000M,
                MinPrice                = 100000M,
                PriceStep               = 50000M,
                StartDate               = new DateTime(2019, 4, 26),
                FinishDate              = new DateTime(2019, 5, 22),
                Status                  = AuctionStatus.Active,
                AuctionTypeId           = auctionType.Id,
                OrganizationId          = auctionMaster.Id
            };

            applicationDb.Auctions.Add(auction);
            applicationDb.SaveChanges();

            var activeBidStatus = applicationDb.BidStatuses.SingleOrDefault(p => p.StatusName == "Active");

            if (activeBidStatus == null)
            {
                BidStatus status = new BidStatus()
                {
                    Id         = Guid.NewGuid(),
                    StatusName = "Active"
                };
                applicationDb.BidStatuses.Add(status);
                applicationDb.SaveChanges();
                activeBidStatus = status;
            }

            Bid bid = new Bid()
            {
                Id             = Guid.NewGuid(),
                Price          = 200000M,
                CreatedDate    = DateTime.Now,
                BidStatusId    = activeBidStatus.Id,
                AuctionId      = auction.Id,
                OrganizationId = auctionParticipant.Id
            };

            applicationDb.Bids.Add(bid);
            applicationDb.SaveChanges();

            AuctionManagementService sut = new AuctionManagementService();

            sut.RevokeBidFromAuction(bid.Id);

            Bid checkBid = applicationDb.Bids.Find(bid.Id);

            Assert.IsNotNull(checkBid);
            //Assert.IsTrue(bid.BidStatus.StatusName== "Revoke");
        }
Esempio n. 9
0
        static void Main(string[] args)
        {
            ApplicationDbContext applicationDb = new ApplicationDbContext();

            applicationDb.Database.CreateIfNotExists();
            IdentityDbContext identityDb = new IdentityDbContext();

            identityDb.Database.CreateIfNotExists();

            //OrganizationType organizationType = new OrganizationType()
            //{
            //    Id = Guid.NewGuid(),
            //    Name = "АО"
            //};
            //applicationDb.OrganizationTypes.Add(organizationType);
            //applicationDb.SaveChanges();

            //Organization kzto = new Organization()
            //{
            //    Id = Guid.NewGuid(),
            //    FullName = "Казахтелеком",
            //    RegistrationDate = DateTime.Now,
            //    OrganizationTypeId = organizationType.Id
            //};
            //applicationDb.Organizations.Add(kzto);
            //applicationDb.SaveChanges();

            //Organization ktzh = new Organization()
            //{
            //    Id = Guid.NewGuid(),
            //    FullName = "КТЖ",
            //    RegistrationDate = DateTime.Now,
            //    OrganizationTypeId = organizationType.Id
            //};
            //applicationDb.Organizations.Add(ktzh);
            //applicationDb.SaveChanges();

            //AuctionType auctionType1 = new AuctionType()
            //{
            //    Id = Guid.NewGuid(),
            //    Name = "Услуги питания"
            //};
            //applicationDb.AuctionTypes.Add(auctionType1);
            //applicationDb.SaveChanges();

            //AuctionType auctionType2 = new AuctionType()
            //{
            //    Id = Guid.NewGuid(),
            //    Name = "Канцелярские товары"
            //};
            //applicationDb.AuctionTypes.Add(auctionType2);
            //applicationDb.SaveChanges();

            //Auction auctionKZTO = new Auction()
            //{
            //    Id = Guid.NewGuid(),
            //    Description = "Закуп 1000 упаковок офисной бумаги",
            //    ShippingAddress = "г.Астана, пр.Кенесары, 185",
            //    ShippingConditions = "Поставка в течение 1 недели с даты определения победителя",
            //    MinRatingForParticipant = 10.5,
            //    StartPrice = 500000M,
            //    MinPrice = 100000M,
            //    PriceStep = 50000M,
            //    StartDate = new DateTime(2019, 4, 24),
            //    FinishDate = new DateTime(2019, 5, 15),
            //    Status = AuctionStatus.Active,
            //    AuctionTypeId = auctionType2.Id,
            //    OrganizationId = kzto.Id
            //};
            //applicationDb.Auctions.Add(auctionKZTO);
            //applicationDb.SaveChanges();

            //Auction auctionKTZH = new Auction()
            //{
            //    Id = Guid.NewGuid(),
            //    Description = "Закуп 50000 бутылок питьевой воды 0,5л",
            //    ShippingAddress = "г.Астана, пр.Мангилик ел, 43",
            //    ShippingConditions = "Поставка в течение 2 недель с даты определения победителя",
            //    MinRatingForParticipant = 11,
            //    StartPrice = 600000M,
            //    MinPrice = 100000M,
            //    PriceStep = 50000M,
            //    StartDate = new DateTime(2019, 4, 28),
            //    FinishDate = new DateTime(2019, 5, 28),
            //    Status = AuctionStatus.Active,
            //    AuctionTypeId = auctionType1.Id,
            //    OrganizationId = ktzh.Id
            //};
            //applicationDb.Auctions.Add(auctionKTZH);
            //applicationDb.SaveChanges();

            AuctionManagementService auctionManagement = new AuctionManagementService();
            var auctionList = auctionManagement.GetAllActiveAuctions();

            foreach (AuctionInfoViewModel item in auctionList)
            {
                Console.WriteLine(item);
            }
        }
Esempio n. 10
0
        public static void restartAuction()
        {
            AuctionManagementService auctionService = new AuctionManagementService();

            auctionService.RestartAuction(3, DateTime.Now.AddDays(8));
        }
Esempio n. 11
0
 public HomeController()
 {
     service = new AuctionManagementService();
 }
Esempio n. 12
0
        public void AuctionManagementService_RevokeBidFromAuction_ShouldRevokeBid()
        {
            // Tear Up
            AplicationDbContext dbContext = new AplicationDbContext();

            dbContext.Database.CreateIfNotExists();

            var organization = new OrganizationType()
            {
                Name          = "Тестовый тип АО",
                Organizations = new List <Organization>()
                {
                    new Organization()
                    {
                        FullName             = "Жамантелеком",
                        IdentificationNumber = "-1",
                        RegistrationDate     = DateTime.Now
                    }
                }
            };

            dbContext.OrganizationTypes.Add(organization);
            dbContext.SaveChanges();
            var auctionCategory = new AuctionCategory()
            {
                Name        = "Тестовые аукционы",
                Description = "Тестовые аукционы",
                Auctions    = new List <Auction>()
                {
                    new Auction()
                    {
                        AuctionStatus      = AuctionStatus.Active,
                        Description        = "Тестовый аукцион",
                        FinishDateActual   = null,
                        FinishDateExpected = DateTime.Now.AddDays(3),
                        PriceAtMinimum     = 10000,
                        PriceAtStart       = 1000000,
                        PriceChangeStep    = 10000,
                        ShippingAddress    = "Советский союз",
                        ShippingConditions = "Советский союз",
                        StartDate          = DateTime.Now.AddDays(-2),
                        OrganizationId     = dbContext.Organizations.First().Id,
                        Bids = new List <Bid>()
                        {
                            new Bid()
                            {
                                BidStatus      = BidStatus.Active,
                                OrganizationId = dbContext.Organizations.First().Id,
                                Price          = 100000,
                                CreatedDate    = DateTime.Now.AddHours(-5),
                                Description    = "Доставим!"
                            }
                        }
                    }
                }
            };

            dbContext.AuctionCategories.Add(auctionCategory);
            dbContext.SaveChanges();
            // Arrange

            // System Under Test
            var sut   = new AuctionManagementService();
            int bidId = dbContext.Bids.ToList().Last().Id;

            // Act
            sut.RevokeBidFromAuction(bidId);

            // Assert
            dbContext = new AplicationDbContext();
            Bid bid = dbContext.Bids.Find(bidId);

            Assert.IsNotNull(bid);
            Assert.IsTrue(bid.BidStatus == BidStatus.Revoked);

            // Tear Down
        }