public CustomerInvoiceViewModel GenerateInvoice(int invoiceId)
        {
            using (SecurityAgencyEntities objContext = new SecurityAgencyEntities())
            {
                CustomerInvoiceViewModel objectCustomerInvoiceViewModel = new CustomerInvoiceViewModel();
                objectCustomerInvoiceViewModel = (from customer in objContext.Customers
                                                  join customerInvoice in objContext.CustomerInvoices on customer.CustomerId equals customerInvoice.CustomerId
                                                  where customerInvoice.InvoiceId == invoiceId
                                                  select new CustomerInvoiceViewModel
                                                  {
                                                      InvoiceNo = customerInvoice.InvoiceNo,
                                                      Name = customer.Name,
                                                      HourlyRate=customerInvoice.HourlyRate,
                                                      Address = customer.Address,
                                                      Zip = customer.Zip,
                                                      ContactNo = customer.ContactNo,
                                                      InvoiceDate = customerInvoice.InvoiceDate,
                                                      TotalHours = customerInvoice.TotalHours,
                                                      Description = customerInvoice.Description,
                                                      Amount = customerInvoice.Amount,
                                                      BeginDate = customerInvoice.BeginDate,
                                                      EndDate = customerInvoice.EndDate,
                                                      CustomerId = customerInvoice.CustomerId
                                                  }).FirstOrDefault();

                //////Get values from hourlog table
                List<getCustomerInvoiceAmount_Result> objectgetCustomerInvoiceAmount_Result = objContext.getCustomerInvoiceAmount(objectCustomerInvoiceViewModel.BeginDate, objectCustomerInvoiceViewModel.EndDate, objectCustomerInvoiceViewModel.CustomerId).ToList();

                if (objectCustomerInvoiceViewModel == null)
                    return null;

                return objectCustomerInvoiceViewModel;

            }
        }
        public CustomerInvoiceViewModel GetCustomerHoursAndAmount(int customerId, string type, string beginDate, string endDate, int inoviceId)
        {
            CustomerInvoiceViewModel objectCustomerInvoiceViewModel = new CustomerInvoiceViewModel();
            using (SecurityAgencyEntities objContext = new SecurityAgencyEntities())
            {
                if (string.IsNullOrEmpty(type))
                {
                    //Get beginDate and endDate first
                    CustomerInvoice objectCustomerInvoice = _repository.GetAll<CustomerInvoice>().Where(x => x.CustomerId == customerId && x.IsDeleted == false && x.InvoiceId!= inoviceId).OrderByDescending(i => i.EndDate).FirstOrDefault();
                    if (objectCustomerInvoice != null)
                    {
                        beginDate = objectCustomerInvoice.EndDate.AddDays(1).ToString();
                        endDate = objectCustomerInvoice.EndDate.AddDays(7).ToString();
                    }
                }
                //////Get values from hourlog table
                List<getCustomerInvoiceAmount_Result> objectgetCustomerInvoiceAmount_Result = objContext.getCustomerInvoiceAmount(Convert.ToDateTime(beginDate), Convert.ToDateTime(endDate), customerId).ToList();

                objectCustomerInvoiceViewModel.TotalHours = Convert.ToInt32(objectgetCustomerInvoiceAmount_Result.Sum(i=>i.TotHours));
                objectCustomerInvoiceViewModel.Amount = Convert.ToInt32(objectgetCustomerInvoiceAmount_Result.Sum(i=>i.Amount));
                objectCustomerInvoiceViewModel.BeginDate = Convert.ToDateTime(beginDate);
                objectCustomerInvoiceViewModel.EndDate = Convert.ToDateTime(endDate);
                objectCustomerInvoiceViewModel.HourlyRate = Convert.ToDecimal(objectgetCustomerInvoiceAmount_Result.FirstOrDefault().HourlyRate);
                return objectCustomerInvoiceViewModel;
            } 
        }