public async Task TestGetOneBillGoodData() { ACMDbContext context = ACMDbContextInMemoryFactory.InitializeContext(); BillService billService = new BillService(context); Apartment apartment1 = new Apartment { Number = 1 }; Bill bill = new Bill { Amount = 10, Apartment = apartment1, Text = "beer" }; await context.Apartments.AddAsync(apartment1); await context.Bills.AddAsync(bill); await context.SaveChangesAsync(); BillsDTO newBill = billService.GetOneBill(bill.Id); Assert.Equal(bill.Id, newBill.Id); Assert.Equal(bill.Apartment.Number, newBill.Apartment); Assert.Equal(bill.Amount.ToString(), newBill.Amount); Assert.Equal(bill.IssuedOn, newBill.Date); Assert.Equal(bill.Text, newBill.Text); Assert.False(newBill.Ispayed); }
public async Task TestEditBillWithInvalidId() { ACMDbContext context = ACMDbContextInMemoryFactory.InitializeContext(); BillService billService = new BillService(context); Apartment apartment1 = new Apartment { Number = 1 }; Apartment apartment2 = new Apartment { Number = 2 }; Bill bill = new Bill { Amount = 10, Apartment = apartment1, Text = "beer" }; await context.Apartments.AddAsync(apartment1); await context.Apartments.AddAsync(apartment2); await context.Bills.AddAsync(bill); await context.SaveChangesAsync(); BillsDTO model = new BillsDTO { Id = bill.Id + "Random string", Amount = "100", Apartment = 2, Ispayed = true, Text = "Alot of beer" }; await Assert.ThrowsAsync <ACMException>(() => billService.EditBill(model)); }
public BillsDTO GetAllBillByUser(string email) { var result = context.Bills.Where(i => i.ApplicationUser.Email == email).ToList(); BillsDTO billsDTO = new BillsDTO(); billsDTO.BillList = new List <BillDTO>(); foreach (var bill in result) { billsDTO.BillList.Add(mapper.Map <BillDTO>(bill)); } billsDTO.BillList = billsDTO.BillList.OrderBy(i => i.Year).Reverse().ToList(); return(billsDTO); }
public async Task <IActionResult> Edit(BillsDTO model) { if (ModelState.IsValid) { if (await billService.EditBill(model)) { return(Redirect("/Bills/All")); } } List <ApartmentListElementDTO> list = new List <ApartmentListElementDTO>(); list.AddRange(apartmentServise.GetAppartments().OrderBy(x => x.Number)); ViewBag.apartmantList = list; return(View(model)); }
public IActionResult Edit(string id) { BillsDTO bill = billService.GetOneBill(id); List <ApartmentListElementDTO> list = apartmentServise.GetAppartments(); ApartmentListElementDTO first = list.Where(x => x.Number == bill.Apartment.ToString()).FirstOrDefault(); list.Remove(first); list.OrderBy(x => x.Number); list.Insert(0, first); ViewBag.apartmantList = list; if (bill == null) { return(Redirect("All")); } return(View(bill)); }
public async Task <bool> EditBill(BillsDTO model) { Bill bill = context.Bills.Where(x => x.Id == model.Id).FirstOrDefault(); Apartment apartment = context.Apartments.Where(x => x.Number == model.Apartment).FirstOrDefault(); if (bill == null || apartment == null) { throw new Utilities.ACMException(); } bill.Apartment = apartment; bill.IsPayed = model.Ispayed; bill.Text = model.Text; bill.Amount = decimal.Parse(model.Amount); await context.SaveChangesAsync(); return(true); }
public BillsDTO GetAllBillByUser(string mail) { var result = context.Bill.Where(b => b.User.Email == mail).ToList(); BillsDTO billsDTO = new BillsDTO() { }; billsDTO.billList = new List <BillDTO>(); foreach (Bill bill in result) { billsDTO.billList.Add(mapper.Map <BillDTO>(bill)); } billsDTO.billList = billsDTO.billList.OrderBy(o => o.Year).Reverse().ToList(); return(billsDTO); }
public BillsDTO GetAllBillByUser(string email) { logger.LogInformation("Executing GetAllBillByUser"); List <Bill> billList = context.Bill.Where(b => b.User.Email == email).ToList(); BillsDTO billsDTO = new BillsDTO() { }; billsDTO.billList = new List <BillDTO>(); foreach (Bill bill in billList) { billsDTO.billList.Add(mapper.Map <BillDTO>(bill)); } billsDTO.billList = billsDTO.billList.OrderByDescending(o => o.Year).ToList(); return(billsDTO); }
public BillsDTO GetOneBill(string id) { BillsDTO bill = context.Bills.Where(x => x.Id == id) .Select(x => new BillsDTO { Apartment = x.Apartment.Number, Amount = Math.Round(x.Amount, 2).ToString(), Text = x.Text, Ispayed = x.IsPayed, Date = x.IssuedOn, Id = x.Id }).FirstOrDefault(); if (bill == null) { throw new ACMException(); } return(bill); }
public IActionResult Pay(string id) { BillsDTO bill = billService.GetOneBill(id); if (bill == null) { return(Redirect("/Bills/All")); } CardDTO model = new CardDTO { BillId = bill.Id, Apartment = bill.Apartment, IssuedOn = bill.Date, BillAmount = bill.Amount, Text = bill.Text }; return(View(model)); }
public BillsDTO GetAllBillsByUser(string email) { _logger.LogInformation("Executing GetAllBillsByUser method"); List <Bill> bills = _context.Bill.Where(b => b.User.Email == email).ToList(); BillsDTO billsDTO = new BillsDTO() { }; billsDTO.BillsList = new List <BillDTO>(); foreach (var bill in bills) { billsDTO.BillsList.Add(_mapper.Map <BillDTO>(bill)); } billsDTO.BillsList.OrderBy(b => b.Year).Reverse().ToList(); return(billsDTO); }
public List <BillsDTO> SearchBillsInRange(DateTime d1, DateTime d2) { try { using (db = new storesEntities()) { BillsDTO bdto = new BillsDTO(); List <BillsDTO> retList = new List <BillsDTO>(); List <Bill> billl = db.Bills.Where(b => b.BilDate >= d1 && b.BilDate <= d2).OrderBy(o => o.BilDate).ToList <Bill>(); foreach (Bill x in billl) { retList.Add(bdto.ToDTO(x)); } return(retList); } } catch (Exception) { throw; } }
public async Task TestEditBillWithGoodData() { ACMDbContext context = ACMDbContextInMemoryFactory.InitializeContext(); BillService billService = new BillService(context); Apartment apartment1 = new Apartment { Number = 1 }; Apartment apartment2 = new Apartment { Number = 2 }; Bill bill = new Bill { Amount = 10, Apartment = apartment1, Text = "beer" }; await context.Apartments.AddAsync(apartment1); await context.Apartments.AddAsync(apartment2); await context.Bills.AddAsync(bill); await context.SaveChangesAsync(); BillsDTO model = new BillsDTO { Id = bill.Id, Amount = "100", Apartment = 2, Ispayed = true, Text = "Alot of beer" }; bool output = await billService.EditBill(model); Assert.True(output); Assert.Equal(100, bill.Amount); Assert.Equal(2, bill.Apartment.Number); Assert.Equal("Alot of beer", bill.Text); Assert.True(bill.IsPayed); }