public async Task <IActionResult> PutDebtCard([FromRoute] int id, [FromBody] DebtCard DebtCard) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != DebtCard.ID) { return(BadRequest()); } _context.Entry(DebtCard).State = EntityState.Modified; try { await _context.SaveChangesAsync(); return(Accepted(DebtCard)); } catch (DbUpdateConcurrencyException) { if (!DebtCardExists(id)) { return(NotFound()); } else { throw; } } }
public bool UpdateDebtCards(DebtCard debtCards) { context.Entry(debtCards).State = System.Data.Entity.EntityState.Modified; var exitingAccomodationPackage = context.DebtCards.Find(debtCards.ID); context.Entry(exitingAccomodationPackage).CurrentValues.SetValues(debtCards); return(context.SaveChanges() > 0); }
public async Task <IActionResult> PostDebtCard([FromBody] DebtCard DebtCard) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.DebtCards.Add(DebtCard); await _context.SaveChangesAsync(); return(CreatedAtAction("GetDebtCard", new { id = DebtCard.ID }, DebtCard)); }
public async Task <IActionResult> PostConcerte([FromBody] DebtCard concerte) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.DebtCard.Add(concerte); await _context.SaveChangesAsync(); return(CreatedAtAction("GetConcerte", new { id = concerte.ID }, concerte)); }
public async Task <IActionResult> GetValidSecretDebtCards() { var Bus = RabbitHutch.CreateBus("host=localhost"); ConcurrentStack <RabbitDebtCardLibrarySystem> DebtCardLibrarySystemCollection = new ConcurrentStack <RabbitDebtCardLibrarySystem>(); Bus.Receive <RabbitDebtCardLibrarySystem>("DebtCardLibrarySystem", msg => { DebtCardLibrarySystemCollection.Push(msg); }); Thread.Sleep(5000); foreach (RabbitDebtCardLibrarySystem cs in DebtCardLibrarySystemCollection) { LibrarySystem s = new LibrarySystem() { LibrarySystemName = cs.LibrarySystemName }; _context.LibrarySystems.Add(s); } _context.SaveChanges(); foreach (RabbitDebtCardLibrarySystem cs in DebtCardLibrarySystemCollection) { int c_id = 0; foreach (LibrarySystem s in _context.LibrarySystems) { if (cs.LibrarySystemName == s.LibrarySystemName) { c_id = s.ID; } } DebtCard c = new DebtCard() { BookName = cs.BookName, LibraryName = cs.LibraryName, AuthorName = cs.AuthorName, Date = cs.Date, PaymentDefault = cs.PaymentDefault, CardName = cs.CardName, PaymentPerDay = cs.PaymentPerDay, LibrarySystemID = c_id }; _context.DebtCards.Add(c); } _context.SaveChanges(); var qry = _context.DebtCards.OrderBy(p => p.ID); foreach (DebtCard a in qry) { _context.Entry(a).Navigation("LibrarySystem").Load(); } //Проверить, что: // 1) кол-во билетов меньше, чем вместительность арены // 2) город существует и корректный // 3) арена существует и из этого города // 4) артист корректный // //Вытаскиваем все Арены // List <Book> QryBooks = new List <Book>(); var corrId = string.Format("{0}{1}", DateTime.Now.Ticks, Thread.CurrentThread.ManagedThreadId); string request; byte[] responseMessage; using (var client = new HttpClient()) { client.BaseAddress = new Uri(URLBookService); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); string requestString = "api/Books"; HttpResponseMessage response = await client.GetAsync(requestString); request = "SERVICE: BookService \r\nGET: " + URLBookService + "/" + requestString + "\r\n" + client.DefaultRequestHeaders.ToString(); string responseString = response.Headers.ToString() + "\nStatus: " + response.StatusCode.ToString(); if (response.IsSuccessStatusCode) { responseMessage = await response.Content.ReadAsByteArrayAsync(); var Books = await response.Content.ReadAsStringAsync(); QryBooks = JsonConvert.DeserializeObject <List <Book> >(Books); } else { responseMessage = Encoding.UTF8.GetBytes(response.ReasonPhrase); } await LogQuery(request, responseString, responseMessage); } // //Вытаскиваем всех Артистов // List <Library> QryLibrarys = new List <Library>(); var corrId2 = string.Format("{0}{1}", DateTime.Now.Ticks, Thread.CurrentThread.ManagedThreadId); string request2; byte[] responseMessage2; using (var client = new HttpClient()) { client.BaseAddress = new Uri(URLLibraryService); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); string requestString2 = "api/Librarys"; HttpResponseMessage response2 = await client.GetAsync(requestString2); request2 = "SERVICE: BookService \r\nGET: " + URLLibraryService + "/" + requestString2 + "\r\n" + client.DefaultRequestHeaders.ToString(); string responseString2 = response2.Headers.ToString() + "\nStatus: " + response2.StatusCode.ToString(); if (response2.IsSuccessStatusCode) { responseMessage2 = await response2.Content.ReadAsByteArrayAsync(); var Librarys = await response2.Content.ReadAsStringAsync(); QryLibrarys = JsonConvert.DeserializeObject <List <Library> >(Librarys); } else { responseMessage2 = Encoding.UTF8.GetBytes(response2.ReasonPhrase); } await LogQuery(request2, responseString2, responseMessage2); } // //Проверить на валидность все концерты // List <DebtCard> ValidDebtCards = new List <DebtCard>(); foreach (DebtCard c in qry) { //находим название Арены с таким же, как в концерте Book FindedBook; foreach (Book a in QryBooks) { if (a.BookName == c.BookName) { FindedBook = a; if (a.PageCount >= c.PaymentPerDay) { if (a.Author.AuthorName == c.AuthorName) { Library Library = QryLibrarys.Where(x => x.LibraryName == c.LibraryName).FirstOrDefault(); if (Library != null) { ValidDebtCards.Add(c); } } } } } } return(Ok(ValidDebtCards)); }
public bool DeleteDebtCards(DebtCard debtCards) { context.Entry(debtCards).State = System.Data.Entity.EntityState.Deleted; return(context.SaveChanges() > 0); }
public bool SaveDebtCards(DebtCard debtCards) { context.DebtCards.Add(debtCards); return(context.SaveChanges() > 0); }
public static void Initialize(DebtCardContext context) { context.Database.EnsureCreated(); // Look for any students. if (context.LibrarySystems.Any()) { return; // DB has been seeded } var LibrarySystems = new LibrarySystem[] { new LibrarySystem { LibrarySystemName = "Big Billet" }, new LibrarySystem { LibrarySystemName = "Afisha" }, new LibrarySystem { LibrarySystemName = "Ozone" } }; foreach (LibrarySystem s in LibrarySystems) { context.LibrarySystems.Add(s); } context.SaveChanges(); var DebtCards = new DebtCard[] { new DebtCard { BookName = "Crocus Author Hall", LibraryName = "Marilyn Manson", AuthorName = "Moscow", Date = DateTime.Parse("2015-09-01"), LibrarySystemID = 1, CardName = "BigSHow", PaymentPerDay = 1000, PaymentDefault = 2000 }, new DebtCard { BookName = "Brixton Academy", LibraryName = "Marilyn Manson", AuthorName = "London", Date = DateTime.Parse("2015-10-01"), LibrarySystemID = 2, CardName = "Hello, London", PaymentPerDay = 2000, PaymentDefault = 4000 }, new DebtCard { BookName = "Mercedes-Benz Book", LibraryName = "Marilyn Manson", AuthorName = "Berlin", Date = DateTime.Parse("2015-11-01"), LibrarySystemID = 2, CardName = "Hello, Berlin", PaymentPerDay = 3000, PaymentDefault = 6000 }, new DebtCard { BookName = "Crocus Author Hall", LibraryName = "Depeche mode", AuthorName = "Moscow", Date = DateTime.Parse("2016-09-01"), LibrarySystemID = 1, CardName = "BigSHow", PaymentPerDay = 1000, PaymentDefault = 9000 }, new DebtCard { BookName = "Brixton Academy", LibraryName = "Depeche mode", AuthorName = "London", Date = DateTime.Parse("2016-10-01"), LibrarySystemID = 2, CardName = "Hello, Hello", PaymentPerDay = 2000, PaymentDefault = 11000 }, new DebtCard { BookName = "Mercedes-Benz Book", LibraryName = "Depeche mode", AuthorName = "Berlin", Date = DateTime.Parse("2016-11-01"), LibrarySystemID = 2, CardName = "Hello, Berlin", PaymentPerDay = 3000, PaymentDefault = 1000 }, new DebtCard { BookName = "Olimpiyskiy", LibraryName = "30 Seconds to Mars", AuthorName = "Moscow", Date = DateTime.Parse("2016-02-01"), LibrarySystemID = 1, CardName = "BigGiG", PaymentPerDay = 3000, PaymentDefault = 22000 }, new DebtCard { BookName = "Brixton Academy", LibraryName = "30 Seconds to Mars", AuthorName = "London", Date = DateTime.Parse("2016-03-01"), LibrarySystemID = 2, CardName = "Hello,Good Bye", PaymentPerDay = 5000, PaymentDefault = 3100 }, new DebtCard { BookName = "Mercedes-Benz Book", LibraryName = "30 Seconds to Mars", AuthorName = "Berlin", Date = DateTime.Parse("2016-04-01"), LibrarySystemID = 2, CardName = "Hello, WORLD", PaymentPerDay = 6000, PaymentDefault = 2400 }, new DebtCard { BookName = "Vova Book", LibraryName = "Frank Sinatra", AuthorName = "Moscow", Date = DateTime.Parse("2017-09-01"), LibrarySystemID = 3, CardName = "VovaSHow", PaymentPerDay = 1000, PaymentDefault = 2600 }, new DebtCard { BookName = "Vova Book", LibraryName = "Frank Sinatra", AuthorName = "Moscow", Date = DateTime.Parse("2017-10-01"), LibrarySystemID = 3, CardName = "VovaSHow2", PaymentPerDay = 1000, PaymentDefault = 3500 }, new DebtCard { BookName = "Mercedes-Benz Book", LibraryName = "30 Seconds to Mars", AuthorName = "Berlin", Date = DateTime.Parse("2016-04-01"), LibrarySystemID = 2, CardName = "Hello, WORLD", PaymentPerDay = 99000, PaymentDefault = 44000 }, new DebtCard { BookName = "Vova Book", LibraryName = "Frank Sinatra", AuthorName = "Berlin", Date = DateTime.Parse("2017-09-01"), LibrarySystemID = 3, CardName = "VovaSHow", PaymentPerDay = 1000, PaymentDefault = 4500 }, new DebtCard { BookName = "Mercedes-Benz Book", LibraryName = "Eminem", AuthorName = "Berlin", Date = DateTime.Parse("2017-09-01"), LibrarySystemID = 3, CardName = "VovaSHow", PaymentPerDay = 1000, PaymentDefault = 3000 }, new DebtCard { BookName = "Trash Book", LibraryName = "Eminem", AuthorName = "Berlin", Date = DateTime.Parse("2017-09-01"), LibrarySystemID = 3, CardName = "VovaSHow", PaymentPerDay = 1000, PaymentDefault = 8000 } }; foreach (DebtCard c in DebtCards) { context.DebtCards.Add(c); } context.SaveChanges(); }
public JsonResult Action(DebtCardsActionModel model) { JsonResult json = new JsonResult(); var result = false; if (model.ID > 0) //we are trying to edit a record { var debtCards = debtCardServices.GetDebtCardsByID(model.ID); debtCards.Name = model.Name; debtCards.Limit = model.Limit; debtCards.PlannedTimeRefund = model.PlannedTimeRefund; result = debtCardServices.UpdateDebtCards(debtCards); ScheduledTransaction scheduledTransaction = new ScheduledTransaction(); ScheduledTransactionsServices scheduledTransactionsServices = new ScheduledTransactionsServices(); BalanceListingModel balanceModel = new BalanceListingModel(); BalanceController balanceController = new BalanceController(); balanceModel = balanceController.GetBalances(); DebtCardsListingModel debtsCardModel = new DebtCardsListingModel(); debtsCardModel.DebtCards = debtCardServices.GetAllDebtCards(); debtsCardModel.Transactions = transactionsServices.SearchTransactions("", null, 0, "", 0, null); foreach (var debts in debtsCardModel.DebtCards) { float remaning = debts.Limit; foreach (var transactions in debtsCardModel.Transactions) { if (transactions.BudgetsName == debts.Name) { remaning = remaning - transactions.Price; debts.Price = remaning; } } scheduledTransaction.Price = debts.Price; } scheduledTransaction.TransactionName = "Spłata karty"; scheduledTransaction.Recipient = "Bank"; scheduledTransaction.Data = model.PlannedTimeRefund; scheduledTransactionsServices.UpdateScheduledTransaction(scheduledTransaction); } else //we are trying to create a record { DebtCard debtCards = new DebtCard(); debtCards.Name = model.Name; debtCards.Limit = model.Limit; debtCards.PlannedTimeRefund = model.PlannedTimeRefund; result = debtCardServices.SaveDebtCards(debtCards); //Create Scheduled Transactions ScheduledTransaction scheduledTransaction = new ScheduledTransaction(); ScheduledTransactionsServices scheduledTransactionsServices = new ScheduledTransactionsServices(); BalanceListingModel balanceModel = new BalanceListingModel(); BalanceController balanceController = new BalanceController(); balanceModel = balanceController.GetBalances(); DebtCardsListingModel debtsCardModel = new DebtCardsListingModel(); debtsCardModel.DebtCards = debtCardServices.GetAllDebtCards(); debtsCardModel.Transactions = transactionsServices.SearchTransactions("", null, 0, "", 0, null); foreach (var debts in debtsCardModel.DebtCards) { float remaning = debts.Limit; foreach (var transactions in debtsCardModel.Transactions) { if (transactions.BudgetsName == debts.Name) { remaning = remaning - transactions.Price; debts.Price = remaning; } } if (debts.Price == 0) { scheduledTransaction.Price = debts.Price; } else { scheduledTransaction.Price = debts.Price; } } scheduledTransaction.TransactionName = "Spłata karty"; scheduledTransaction.Recipient = "Bank"; scheduledTransaction.Data = model.PlannedTimeRefund; scheduledTransactionsServices.SaveScheduledTransaction(scheduledTransaction); } if (result) { json.Data = new { Success = true }; } else { json.Data = new { Success = false, Message = "Unable to perform action on DebtCard." }; } return(json); }