public IActionResult OnGet(int Subscriber_ID)
        {
            billingloginS = _BillingData.GetSubscriber_IDlogin(User.Identity.Name);
            if (billingloginS == null)
            {
                return(RedirectToPage("/account/login", new { area = "identity" }));
            }


            Subscriber_ID = billingloginS.Subscriber_ID;
            AlldeviceInfo = _DeviceData.GetAllDevices(StartDate, EndDate, Subscriber_ID);

            AllSubscribers = _SubscriberData.GetAllSubscribers(StartDate, EndDate, Subscriber_ID);

            //billingsRealData = _BillingData.GetAllBillings(StartDate, EndDate);



            if (Subscriber_ID > 0)
            {
                billingsRealData = _BillingData.GetAllBillings_First3Month(Subscriber_ID);
            }

            var model = _BillingData.GetAllBillings_First3Month((int)Subscriber_ID)
                        .Select(s => new { s.EnergyConsumedFor30Days, s.BillingMonth }).ToList();

            //return Ok(model);

            return(Page());
        }
Example #2
0
 public Task <IEnumerable <Subscriber> > Get()
 {
     try
     {
         return(_subscriberRepository.GetAllSubscribers());
     }
     catch (Exception ex)
     {
         _log.LogError(ex.ToString());
         return(null);
     }
 }
        public ActionResult <QBSyncResponse> Client(int id)
        {
            //If the id is 0, return all subscribers otherwise return the requested subscriber
            string bRtn;
            bool   updateAccessTableResult;

            subscriberId = id;
            IEnumerable <Subscriber> subscriber;

            currentMethodName = this.ControllerContext.RouteData.Values["action"].ToString();

            if (subscriberId == 0)
            {
                subscriber = _subscriberRepo.GetAllSubscribers();
            }
            else
            {
                subscriber = _subscriberRepo.GetById(subscriberId);
                if (subscriber == null)
                {
                    _logger.LogError("subscriber not found");
                    return(new QBSyncResponse()
                    {
                        ResponseStatus = false,
                        ResponseMessage = "Subscriber not found."
                    });
                }
            }

            foreach (Subscriber subs in subscriber)
            {
                subscriberId = subs.Id;
                _logger.LogInfo("Begin Subscriber " + subscriberId + " Authorization");
                QBOAccess qboAccess = _qboaccessRepo.GetById(subscriberId);
                if (qboAccess == null)
                {
                    _logger.LogError("You must authorize with QuickBooks before syncing your data.");
                    return(new QBSyncResponse()
                    {
                        ResponseStatus = false,
                        ResponseMessage = "You must authorize with QuickBooks before syncing your data."
                    });
                }
                // save Access Id
                int qboAccessId = qboAccess.Id;

                // Refresh QBO connection
                bRtn = RefreshQBO(qboAccess);
                if (bRtn != SuccessMessage)
                {
                    _qboaccessRepo.DeleteQBOAccess(subscriberId);
                    return(new QBSyncResponse()
                    {
                        ResponseStatus = false,
                        ResponseMessage = bRtn
                    });
                }
                // Update Access table with new refresh token
                try
                {
                    AESCryptography cryptography = new AESCryptography(_configuration);
                    appOauthRefreshToken = cryptography.Encrypt(appOauthRefreshToken);
                    if (IsAllDigits(qboAccess.Company))
                    {
                        companyId = cryptography.Encrypt(qboAccess.Company);
                    }
                    else
                    {
                        companyId = qboAccess.Company;
                    }
                    updateAccessTableResult = _qboaccessRepo.UpdateQBOAccess(qboAccessId, companyId, appOauthAccessToken, appOauthRefreshToken, qboAccess);
                    if (updateAccessTableResult == false)
                    {
                        _logger.LogError("You will need to re-authorize your QuickBooks account and try to sync again.");
                        return(new QBSyncResponse()
                        {
                            ResponseStatus = false,
                            ResponseMessage = "You will need to re-authorize your QuickBooks account and try to sync again."
                        });
                    }
                }
                catch (Exception ex)
                {
                    _logger.LogError("error occurred" + ex.Message);
                    _errorLogRepo.InsertErrorLog(new ErrorLog
                    {
                        SubscriberId  = subscriberId,
                        ErrorMessage  = ex.Message,
                        ServiceName   = serviceName,
                        MethodName    = currentMethodName,
                        ErrorDateTime = DateTime.Now
                    });
                    return(new QBSyncResponse()
                    {
                        ResponseStatus = false,
                        ResponseMessage = "Error occurred " + ex.Message
                    });
                }
                _logger.LogInfo("End Subscriber " + subscriberId + " Authorization");

                //Time to get some data from QBO
                _logger.LogInfo("Begin QBO Data Access for Subscriber " + subscriberId);
                // Get and Update Customers & Invoices
                bRtn = GetQBOCustomers(qboAccess);
                if (bRtn != SuccessMessage)
                {
                    _logger.LogError(bRtn);
                    return(new QBSyncResponse()
                    {
                        ResponseStatus = false,
                        ResponseMessage = bRtn
                    });
                }
                _logger.LogInfo("End QBO Data Access for Subscriber " + subscriberId);
                //Update the last sync date in the subscriber table
                var updateSyncDateResult = _subscriberRepo.UpdateSubscriber(subscriberId, DateTime.Now, subs);
                if (updateSyncDateResult == false)
                {
                    _logger.LogError("Not able to update last sync date for subscriber");
                    return(new QBSyncResponse()
                    {
                        ResponseStatus = false,
                        ResponseMessage = "Not able to update last sync date for subscriber"
                    });
                }
            }
            return(new QBSyncResponse()
            {
                ResponseStatus = true,
                ResponseMessage = SuccessMessage
            });
        }
Example #4
0
        public ActionResult <IEnumerable <Subscriber> > GetAllSubscribers()
        {
            var subscribers = _repository.GetAllSubscribers();

            return(Ok(subscribers));
        }