示例#1
0
 /// <summary>
 /// Retrieve list of Invoice.
 /// no parameters required to be passed in.
 /// </summary>
 /// <returns>List of Invoice</returns>
 public InvoiceList GetAll()
 {
     using (InvoiceDataAccess data = new InvoiceDataAccess(ClientContext))
     {
         return(data.GetAll());
     }
 }
示例#2
0
        public void LoadAllInvoices()
        {
            const int      nbrOfInvoice = 150;
            List <Invoice> invoices     = InvoiceHelper.CreateInvoices(nbrOfInvoice, 35);

            var mock = new Mock <IRepository <Invoice> >();

            mock.Setup(repo => repo.SaveChanges());
            mock.Setup(repo => repo.GetAll()).Returns(invoices.AsQueryable);

            var mockInvoiceRows = new Mock <IRepository <InvoiceRow> >();

            var invoiceDataAccess = new InvoiceDataAccess(mock.Object, mockInvoiceRows.Object);

            invoices.ForEach(invoiceDataAccess.SaveInvoice);

            List <Invoice> repoInvoices = invoiceDataAccess.LoadAllInvoices();

            Assert.AreEqual(nbrOfInvoice, repoInvoices.Count);

            invoices.ForEach(source =>
            {
                Invoice inv = repoInvoices.Find(i => i.Id == source.Id);
                InvoiceHelper.ValidateInvoice(source, inv);
                repoInvoices.Remove(inv);
            });

            Assert.AreEqual(0, repoInvoices.Count);
        }
示例#3
0
		public void LoadAllInvoices()
		{
			const int nbrOfInvoice = 150;
			List<Invoice> invoices = InvoiceHelper.CreateInvoices(nbrOfInvoice, 35);

			var mock = new Mock<IRepository<Invoice>>();
			mock.Setup(repo => repo.SaveChanges());
			mock.Setup(repo => repo.GetAll()).Returns(invoices.AsQueryable);

			var mockInvoiceRows = new Mock<IRepository<InvoiceRow>>();

			var invoiceDataAccess = new InvoiceDataAccess(mock.Object, mockInvoiceRows.Object);

			invoices.ForEach(invoiceDataAccess.SaveInvoice);

			List<Invoice> repoInvoices = invoiceDataAccess.LoadAllInvoices();

			Assert.AreEqual(nbrOfInvoice, repoInvoices.Count);
			
			invoices.ForEach(source =>
			                 	{
			                 		Invoice inv = repoInvoices.Find(i => i.Id == source.Id);
									InvoiceHelper.ValidateInvoice(source, inv);
			                 		repoInvoices.Remove(inv);
			                 	});

			Assert.AreEqual(0, repoInvoices.Count);
		}
示例#4
0
 /// <summary>
 /// Retrieves Get Total Rows of Invoice
 /// </summary>
 /// <returns>Int32 type object</returns>
 public Int32 GetRowCount()
 {
     using (InvoiceDataAccess data = new InvoiceDataAccess(ClientContext))
     {
         return(data.GetRowCount());
     }
 }
示例#5
0
 /// <summary>
 /// Retrieve list of Invoice  by query String.
 /// <param name="query"></param>
 /// </summary>
 /// <returns>List of Invoice</returns>
 public InvoiceList GetByQuery(String query)
 {
     using (InvoiceDataAccess data = new InvoiceDataAccess(ClientContext))
     {
         return(data.GetByQuery(query));
     }
 }
示例#6
0
 /// <summary>
 /// Retrieve list of Invoice  by PageRequest.
 /// <param name="request"></param>
 /// </summary>
 /// <returns>List of Invoice</returns>
 public InvoiceList GetPaged(PagedRequest request)
 {
     using (InvoiceDataAccess data = new InvoiceDataAccess(ClientContext))
     {
         return(data.GetPaged(request));
     }
 }
 public InvoiceService()
 {
     if (invoiceDataAccess == null)
     {
         invoiceDataAccess = new InvoiceDataAccess();
     }
 }
示例#8
0
 /// <summary>
 /// Retrieve Invoice data using unique ID
 /// </summary>
 /// <param name="_Id"></param>
 /// <returns>Invoice Object</returns>
 public Invoice Get(Int32 _Id)
 {
     using (InvoiceDataAccess data = new InvoiceDataAccess(ClientContext))
     {
         return(data.Get(_Id));
     }
 }
示例#9
0
 /// <summary>
 /// Delete operation for Invoice
 /// <param name="_Id"></param>
 /// <returns></returns>
 private bool Delete(Int32 _Id)
 {
     using (InvoiceDataAccess data = new InvoiceDataAccess(ClientContext))
     {
         // return if code > 0
         return(data.Delete(_Id) > 0);
     }
 }
示例#10
0
        public void LoadAllInvoicesWhenEmpty()
        {
            var mock = new Mock <IRepository <Invoice> >();

            mock.Setup(repo => repo.SaveChanges());

            var invoiceDataAccess = new InvoiceDataAccess(mock.Object, null);

            List <Invoice> repoInvoices = invoiceDataAccess.LoadAllInvoices();

            Assert.AreEqual(0, repoInvoices.Count);
        }
示例#11
0
        public InvoiceDataSource()
        {
            if (selfReference == null)
            {
                //Execute query to fetch data from database
                List <Invoice> staffList = new InvoiceDataAccess().GetAll();
                foreach (Invoice stf in staffList)
                {
                    list.Add(stf);
                }
                list = staffList;

                selfReference = this;
            }
        }
示例#12
0
		public void TestSaveInvoice()
		{
			Invoice invoice = InvoiceHelper.CreateInvoices(1, 5)[0];

			var mock = new Mock<IRepository<Invoice>>();
			mock.Setup(repo => repo.SaveChanges());
			mock.Setup(repo => repo.GetQuery()).Returns(new List<Invoice> { invoice }.AsQueryable);

			var invoiceDataAccess = new InvoiceDataAccess(mock.Object, null);

			invoiceDataAccess.SaveInvoice(invoice);

			Invoice repoInvoice = invoiceDataAccess.LoadInvoice(invoice.Id);
			InvoiceHelper.ValidateInvoice(invoice, repoInvoice);
		}
示例#13
0
		public MainViewModel()
		{
			var personData = new PersonDataAccess(RepositoryFactory<Person>.GetRepository());
			var companyData = new CompanyDataAccess(RepositoryFactory<Company>.GetRepository());
			var invoiceData = new InvoiceDataAccess(RepositoryFactory<Invoice>.GetRepository(), RepositoryFactory<InvoiceRow>.GetRepository());
			var userData = new UserDataAccess(RepositoryFactory<User>.GetRepository());

			RegistratePersonViewModel = new RegistratePersonViewModel(personData);
			RegistrateCompanyViewModel = new RegistrateCompanyViewModel(companyData);
			RegisterInvoiceViewModel = new RegistrateInvoiceViewModel(invoiceData, companyData, personData);
			InvoiceViewModel = new InvoiceViewModel(invoiceData);


			userData.AddUser("admin", "admin");
			LoginViewModel = new LoginViewModel(userData);
		}
示例#14
0
        public MainViewModel()
        {
            var personData  = new PersonDataAccess(RepositoryFactory <Person> .GetRepository());
            var companyData = new CompanyDataAccess(RepositoryFactory <Company> .GetRepository());
            var invoiceData = new InvoiceDataAccess(RepositoryFactory <Invoice> .GetRepository(), RepositoryFactory <InvoiceRow> .GetRepository());
            var userData    = new UserDataAccess(RepositoryFactory <User> .GetRepository());

            RegistratePersonViewModel  = new RegistratePersonViewModel(personData);
            RegistrateCompanyViewModel = new RegistrateCompanyViewModel(companyData);
            RegisterInvoiceViewModel   = new RegistrateInvoiceViewModel(invoiceData, companyData, personData);
            InvoiceViewModel           = new InvoiceViewModel(invoiceData);


            userData.AddUser("admin", "admin");
            LoginViewModel = new LoginViewModel(userData);
        }
示例#15
0
		public void TestSaveMultipleInvoice()
		{
			List<Invoice> invoices = InvoiceHelper.CreateInvoices(150, 35);

			var mock = new Mock<IRepository<Invoice>>();
			mock.Setup(repo => repo.SaveChanges());
			mock.Setup(repo => repo.GetQuery()).Returns(invoices.AsQueryable);

			var invoiceDataAccess = new InvoiceDataAccess(mock.Object, null);

			invoices.ForEach(invoiceDataAccess.SaveInvoice);
			invoices.ForEach(i =>
			                    {
									Invoice repoInvoice = invoiceDataAccess.LoadInvoice(i.Id);
									InvoiceHelper.ValidateInvoice(i, repoInvoice);
			                    });
		}
示例#16
0
        /// <summary>
        /// Retrieve list of Invoice.
        /// </summary>
        /// <param name="fillChild"></param>
        /// <returns>List of Invoice</returns>
        public InvoiceList GetAll(bool fillChild)
        {
            InvoiceList invoiceList = new InvoiceList();

            using (InvoiceDataAccess data = new InvoiceDataAccess(ClientContext))
            {
                invoiceList = data.GetAll();
            }
            if (fillChild)
            {
                foreach (Invoice invoiceObject in invoiceList)
                {
                    FillInvoiceWithChilds(invoiceObject, fillChild);
                }
            }
            return(invoiceList);
        }
示例#17
0
        public void TestSaveMultipleInvoice()
        {
            List <Invoice> invoices = InvoiceHelper.CreateInvoices(150, 35);

            var mock = new Mock <IRepository <Invoice> >();

            mock.Setup(repo => repo.SaveChanges());
            mock.Setup(repo => repo.GetQuery()).Returns(invoices.AsQueryable);

            var invoiceDataAccess = new InvoiceDataAccess(mock.Object, null);

            invoices.ForEach(invoiceDataAccess.SaveInvoice);
            invoices.ForEach(i =>
            {
                Invoice repoInvoice = invoiceDataAccess.LoadInvoice(i.Id);
                InvoiceHelper.ValidateInvoice(i, repoInvoice);
            });
        }
示例#18
0
 /// <summary>
 /// Insert new invoice.
 /// data manipulation for insertion of Invoice
 /// </summary>
 /// <param name="invoiceObject"></param>
 /// <returns></returns>
 private bool Insert(Invoice invoiceObject)
 {
     // new invoice
     using (InvoiceDataAccess data = new InvoiceDataAccess(ClientContext))
     {
         // insert to invoiceObject
         Int32 _Id = data.Insert(invoiceObject);
         // if successful, process
         if (_Id > 0)
         {
             invoiceObject.Id = _Id;
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }
示例#19
0
        /// <summary>
        /// Update base of Invoice Object.
        /// Data manipulation processing for: new, deleted, updated Invoice
        /// </summary>
        /// <param name="invoiceObject"></param>
        /// <returns></returns>
        public bool UpdateBase(Invoice invoiceObject)
        {
            // use of switch for different types of DML
            switch (invoiceObject.RowState)
            {
            // insert new rows
            case BaseBusinessEntity.RowStateEnum.NewRow:
                return(Insert(invoiceObject));

            // delete rows
            case BaseBusinessEntity.RowStateEnum.DeletedRow:
                return(Delete(invoiceObject.Id));
            }
            // update rows
            using (InvoiceDataAccess data = new InvoiceDataAccess(ClientContext))
            {
                return(data.Update(invoiceObject) > 0);
            }
        }
示例#20
0
        public void TestSaveInvoice()
        {
            Invoice invoice = InvoiceHelper.CreateInvoices(1, 5)[0];

            var mock = new Mock <IRepository <Invoice> >();

            mock.Setup(repo => repo.SaveChanges());
            mock.Setup(repo => repo.GetQuery()).Returns(new List <Invoice> {
                invoice
            }.AsQueryable);

            var invoiceDataAccess = new InvoiceDataAccess(mock.Object, null);

            invoiceDataAccess.SaveInvoice(invoice);

            Invoice repoInvoice = invoiceDataAccess.LoadInvoice(invoice.Id);

            InvoiceHelper.ValidateInvoice(invoice, repoInvoice);
        }
示例#21
0
		public void LoadAllInvoicesWhenEmpty()
		{
			var mock = new Mock<IRepository<Invoice>>();
			mock.Setup(repo => repo.SaveChanges());

			var invoiceDataAccess = new InvoiceDataAccess(mock.Object, null);
			
			List<Invoice> repoInvoices = invoiceDataAccess.LoadAllInvoices();
			Assert.AreEqual(0, repoInvoices.Count);
		}
 public InvoiceController()
 {
     DataAccess = new InvoiceDataAccess();
 }