/// <summary> /// Prevents a default instance of the <see cref="DomainDataStorage"/> class from being created. /// </summary> private DomainDataStorage() { string connectionString = ConfigurationManager.ConnectionStrings["MySQL"].ConnectionString; this.databaseConneection = new MySqlConnection(connectionString); this.auctionTable = this.databaseConneection.As <IAuctionTable>(); this.bidTable = this.databaseConneection.As <IBidTable>(); this.categoryTable = this.databaseConneection.As <ICategoryTable>(); this.currencyTable = this.databaseConneection.As <ICurrencyTable>(); this.personBidderTable = this.databaseConneection.As <IPersonBidderTable>(); this.personMarkTable = this.databaseConneection.As <IPersonMarkTable>(); this.personOfferorTable = this.databaseConneection.As <IPersonOfferorTable>(); this.personTable = this.databaseConneection.As <IPersonTable>(); this.productTable = this.databaseConneection.As <IProductTable>(); }
/// <summary> /// Posts the mark. /// </summary> /// <param name="fromPerson">From person.</param> /// <param name="toPerson">To person.</param> /// <param name="mark">The mark.</param> /// <exception cref="System.Exception">A PERSON IS NOT REGISTERED!</exception> public void PostMark(Person fromPerson, Person toPerson, int mark) { IPersonOfferorTable personOfferorTable = this.tablesProvider.GetPersonOfferorTable(); IPersonMarkTable personMarkTable = this.tablesProvider.GetPersonMarkTable(); fromPerson.ValidateObject(); toPerson.ValidateObject(); if (fromPerson.IdPerson == 0 || toPerson.IdPerson == 0) { throw new Exception("A PERSON IS NOT REGISTERED!"); } PersonOfferor offeror = personOfferorTable.FetchPersonOfferorByPerson(toPerson); if (mark > MaxMarkRating || mark < MinMarkRating) { throw new Exception("BadRating"); } PersonOfferorMark markObj = new PersonOfferorMark() { DateOccur = DateTime.Now, Mark = mark, Receiver = offeror, Sender = fromPerson }; personMarkTable.InsertPersonMark(markObj); Log.Info("mark registered!"); PersonOfferorService offerorService = new PersonOfferorService(offeror); List <PersonOfferorMark> marks = personMarkTable.FetchPersonOfferorMarks(offeror); offerorService.UpdateRatingBasedOnMarks(marks); if (offerorService.Rating < minRatingAllowedForBidding) { offeror.LastBannedDate = DateTime.Now; offerorService.UpdateIsBanned(); personOfferorTable.UpdatePersonOfferor(offeror); } }