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(); }
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); }
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); }
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"); }
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); } }
public static void restartAuction() { AuctionManagementService auctionService = new AuctionManagementService(); auctionService.RestartAuction(3, DateTime.Now.AddDays(8)); }
public HomeController() { service = new AuctionManagementService(); }
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 }