Exemple #1
0
        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);
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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));
        }
Exemple #5
0
        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));
        }
Exemple #6
0
        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);
        }
Exemple #8
0
        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);
        }
Exemple #9
0
        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);
        }
Exemple #10
0
        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));
        }
Exemple #11
0
        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);
        }
Exemple #12
0
 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;
     }
 }
Exemple #13
0
        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);
        }