public ActionResult <string> GetPDFByBillNumber([FromForm] PendingBills data)
        {
            var BillData = _context.billscollections.SingleOrDefault(x => x.Billnumber.ToString() == data.Billnumber);

            if (BillData != null)
            {
                byte[] ByteArray = BillData.Billbytearray;
                string Base64    = Convert.ToBase64String(ByteArray);
                return(Ok(Base64));
            }
            else
            {
                string result = string.Empty;
                return(Ok(result));
            }
        }
        public ActionResult <List <PendingBills> > GetAllPendingBills()
        {
            List <PendingBills> PendingBillswithName = new List <PendingBills>();
            var isAnyData = _context.billspending.Any();

            if (isAnyData)
            {
                var PendingBills = _context.billspending.Where(x => x.Iscompleted == false).ToList();
                foreach (BillsPendingTE bill in PendingBills)
                {
                    var          Customer    = _context.customers.Single(x => x.CustomerId == bill.Customerid.ToString());
                    PendingBills PendingBill = new PendingBills()
                    {
                        Billnumber     = bill.Billnumber.ToString(),
                        Pendingamount  = bill.Pendingamount,
                        Customerid     = Customer.CustomerId,
                        Customermobile = Customer.customermobile,
                        Customername   = Customer.CustomerName
                    };
                    PendingBillswithName.Add(PendingBill);
                }
            }
            return(Ok(PendingBillswithName));
        }
        public ActionResult <List <PendingBills> > GetPendingBillByCustomerValue([FromForm] PendingBills data)
        {
            string TextBoxValue   = data.TextBoxValue.Trim();
            string SearchCriteria = data.SearchCriteria;
            string Result         = "";
            List <PendingBills>   PendingBillsWithName = new List <PendingBills>();
            CustomerTE            Customer             = new CustomerTE();
            List <BillsPendingTE> PendingBills         = new List <BillsPendingTE>();
            var isAnyData = _context.billspending.Any();

            if (isAnyData)
            {
                if (SearchCriteria != "CUSTOMERID")
                {
                    if (SearchCriteria == "CUSTOMERMOBILE")
                    {
                        Customer = _context.customers.SingleOrDefault(x => x.customermobile == TextBoxValue);
                        if (Customer != null)
                        {
                            PendingBills = _context.billspending.
                                           Where(x => x.Customerid.ToString() == Customer.CustomerId && x.Iscompleted == false).ToList();
                            if (PendingBills == null)
                            {
                                Result = "No Pending Bill Available for" + Customer.CustomerName;
                            }
                        }
                        else
                        {
                            Result = "Match Not Found with Mobile";
                        }
                    }
                    else if (SearchCriteria == "CUSTOMERNAME")
                    {
                        Customer = _context.customers.SingleOrDefault(x => x.CustomerName.ToUpper() == TextBoxValue.ToUpper());
                        if (Customer != null)
                        {
                            PendingBills = _context.billspending.
                                           Where(x => x.Customerid.ToString() == Customer.CustomerId && x.Iscompleted == false).ToList();
                            if (PendingBills == null)
                            {
                                Result = "No Pending Bill Available for" + Customer.CustomerName;
                            }
                        }
                        else
                        {
                            Result = "Not Found with Name";
                        }
                    }
                }
                else if (SearchCriteria == "CUSTOMERID")
                {
                    Customer = _context.customers.SingleOrDefault(x => x.CustomerId == TextBoxValue);
                    if (Customer != null)
                    {
                        PendingBills = _context.billspending.Where(x => x.Customerid.ToString() == TextBoxValue && x.Iscompleted == false).ToList();
                        if (PendingBills == null)
                        {
                            Result = "No Pending Bill Available for" + Customer.CustomerName;
                        }
                    }
                    else
                    {
                        Result = "Not Found with ID";
                    }
                }
            }
            // Iterating throug all Pending Bills and adding Customer Name and Mobile
            if (PendingBills.Count > 0)
            {
                foreach (var billData in PendingBills)
                {
                    PendingBills bill = new PendingBills()
                    {
                        Billnumber     = billData.Billnumber.ToString(),
                        Pendingamount  = billData.Pendingamount,
                        Customerid     = billData.Customerid.ToString(),
                        Customermobile = Customer.customermobile.ToString(),
                        Customername   = Customer.CustomerName
                    };
                    PendingBillsWithName.Add(bill);
                }
                return(Ok(PendingBillsWithName));
            }
            else
            {
                PendingBillsWithName = null;
                return(Ok(Result));
            }
        }