public void GetRating(int PutsOrganizationId, int OrganizationId, double score) { var AuctionExist = _aplicationDbContext.Auctions .Where(p => p.OrganizationId == PutsOrganizationId) .Where(p => p.AuctionStatus == AuctionStatus.Finished).ToList(); if (AuctionExist.Count != 0) { foreach (var item in AuctionExist) { var BidExist = _aplicationDbContext.Bids .SingleOrDefault(p => p.Id == item.WinnerBidId); if (BidExist.OrganizationId == OrganizationId) { OrganizationRating raiting = new OrganizationRating() { Score = score, OrganizationId = OrganizationId }; _aplicationDbContext.OrganizationRatings.Add(raiting); _aplicationDbContext.SaveChanges(); } } } }
public async Task <IActionResult> setMarkup(int id, [FromBody] JObject data) { ApplicationUser user = await _userManager.FindByNameAsync(_userManager.GetUserId(User)); Order order = await dbContext.Order .Where(t => t.ID == id) .Where(t => t.User_ID == user) .Include(t => t.Service_ID) .Include(t => t.Organization_ID) .FirstOrDefaultAsync(); if (dbContext.OrganizationMarkup.Any(t => t.Order_ID == order)) { return(BadRequest()); } OrganizationRating organizationRating = new OrganizationRating() { Order_ID = order, User_ID = user, Value = data["value"].ToObject <decimal>(), Comment = data["comment"].ToObject <string>() }; dbContext.OrganizationMarkup.Add(organizationRating); await dbContext.SaveChangesAsync(); return(Ok(organizationRating)); }
public void RateOrganization(RateOrganizationVm model) { var organizationExists = _aplicationDbContext.Organizations.SingleOrDefault(p => p.Id == model.OrganizationId); if (organizationExists == null) { throw new Exception("Организации с таким номером не имеется"); } var auctionExists = _aplicationDbContext.Auctions.SingleOrDefault(p => p.Id == model.AuctionId); if (auctionExists == null) { throw new Exception("Аукциона с таким номером не имеется"); } var rateExists = _aplicationDbContext.OrganizationRatings.SingleOrDefault(p => p.OrganizationId == model.OrganizationId && p.AuctionId == model.AuctionId); if (rateExists != null) { throw new Exception("Данная организация уже имеет рейтинг по выбранному аукциону"); } OrganizationRating organizationRating = new OrganizationRating() { OrganizationId = model.OrganizationId, AuctionId = model.AuctionId, Point = model.Point }; _aplicationDbContext.OrganizationRatings.Add(organizationRating); _aplicationDbContext.SaveChanges(); }
public void PutRatingScoreToOrganization(Guid organizationId, double score) { var organization = _applicationDbContext.Organizations.SingleOrDefault(p => p.Id == organizationId); if (organization == null) { throw new Exception($"Организации с таким id {organizationId} не существует"); } OrganizationRating rating = new OrganizationRating() { Id = Guid.NewGuid(), Score = score, OrganizationId = organization.Id }; _applicationDbContext.OrganizationRatings.Add(rating); _applicationDbContext.SaveChanges(); }
public void OrganizationManagementService_PutRatingScoreToOrganization() { ApplicationDbContext applicationDb = new ApplicationDbContext(); applicationDb.Database.CreateIfNotExists(); OrganizationType organizationType = new OrganizationType() { Id = Guid.NewGuid(), Name = "TestType_02" }; applicationDb.OrganizationTypes.Add(organizationType); applicationDb.SaveChanges(); Organization organization = new Organization() { Id = Guid.NewGuid(), FullName = "TestCompany_02", RegistrationDate = DateTime.Now, OrganizationTypeId = organizationType.Id }; applicationDb.Organizations.Add(organization); applicationDb.SaveChanges(); double score = 10.5; OrganizationManagementService sut = new OrganizationManagementService(); sut.PutRatingScoreToOrganization(organization.Id, score); OrganizationRating rating = applicationDb.OrganizationRatings .SingleOrDefault(p => p.OrganizationId == organization.Id); Assert.IsNotNull(rating); Assert.IsTrue(rating.Score == score); }
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); }