public ActionResult ExecuteService() { AutomatedService automatedService = new AutomatedService(); automatedService.ExecutonFunction(); return(View()); }
private void timer_tick(object sender, ElapsedEventArgs e) { WindowsServiceLogging.WriteEventLog("******************* -- Event: OnStart -- ***********************"); WindowsServiceLogging.WriteEventLog("Timer tick and operation started"); AutomatedService automatedService = new AutomatedService(); automatedService.ExecutonFunction(); WindowsServiceLogging.WriteEventLog("Operation Completed Succesfully"); WindowsServiceLogging.WriteEventLog("******************* -- Event: Completed -- ***********************"); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); AutomatedService automatedService = new AutomatedService(); string sqlCon = System.Configuration.ConfigurationManager.AppSettings["SQLConnectionStrings"]; //string mySqlCon = System.Configuration.ConfigurationManager.AppSettings["HangFireMYSQLConnectionStrings"]; Hangfire.GlobalConfiguration.Configuration .UseSqlServerStorage(sqlCon); //Hangfire.GlobalConfiguration.Configuration.UseStorage(new MySqlStorage(mySqlCon)); _backgroundJobServer = new BackgroundJobServer(); }
public ActionResult SubmitContact(FormCollection form) { Decimal planamount = 0, smscreditamount = 0, amount = 0; if (form["hdnamount"] != null && form["hdnamount"] != "") { planamount = Convert.ToDecimal(form["hdnamount"]); } if (form["hdnsmscreditotaltamount"] != null && form["hdnsmscreditotaltamount"] != "") { smscreditamount = Convert.ToDecimal(form["hdnsmscreditotaltamount"]); } amount = planamount + smscreditamount; #region Fetching CabOfficeAccount var accountid = ""; if (form["hdnaccount"] != null) { accountid = form["hdnaccount"].ToString(); } AccountService accountService = new AccountService(); Account account = accountService.getCabOfficeByAccountId(accountid); if (account == null) { return(View()); } #endregion #region Payment Initilizer bool saleResult; Braintree.Environment environment; if (ConfigurationManager.AppSettings["BtEnvironmentTestMode"].ToString() == "1") { environment = Braintree.Environment.SANDBOX; } else { environment = Braintree.Environment.PRODUCTION; } var gateway = new BraintreeGateway { Environment = environment, MerchantId = ConfigurationManager.AppSettings["BtMerchantId"], PublicKey = ConfigurationManager.AppSettings["BtPublicKey"], PrivateKey = ConfigurationManager.AppSettings["BtPrivateKey"] }; #endregion #region Generate BTCustomer, token and Nonce String nonce_Generated = ""; if (account.BtCustomerId == null || account.BtCustomerId == "") { /// Create Customer /// var requestc = new CustomerRequest { FirstName = account.FullName, LastName = account.FullName, Company = "", Email = account.Email, Fax = "", Phone = "", Website = "" }; Result <Customer> resultc = gateway.Customer.Create(requestc); string customerId = resultc.Target.Id; /// Create PaymentMethod /// var nonce = Request["payment_method_nonce"]; var requestP = new PaymentMethodRequest { CustomerId = customerId, PaymentMethodNonce = nonce }; Result <PaymentMethod> resultP = gateway.PaymentMethod.Create(requestP); Result <PaymentMethodNonce> resultN = gateway.PaymentMethodNonce.Create(resultP.Target.Token); nonce_Generated = resultN.Target.Nonce; /// Update BtCustoemrId and BtToken in CabOfficeAccount /// accountService.UpdateBrainTreeInfo(customerId, resultP.Target.Token, account.Id); } else { Result <PaymentMethodNonce> resultN = gateway.PaymentMethodNonce.Create(account.BtPaymentMethodToken); nonce_Generated = resultN.Target.Nonce; } #endregion #region Sale var request = new TransactionRequest { Amount = amount, PaymentMethodNonce = nonce_Generated, Options = new TransactionOptionsRequest { SubmitForSettlement = true } }; Result <Transaction> result = gateway.Transaction.Sale(request); bool resultVal = result.IsSuccess(); Transaction transaction = result.Target; #endregion if (resultVal) { bool chkautorenewel = false; var bit = "off"; if (form["chkautorenewel"] != null) { bit = form["chkautorenewel"].ToString(); } if (bit == "on") { chkautorenewel = true; } SubscriptionService subscriptionService = new SubscriptionService(); int qty = 1; if (form["qty"] != null && form["qty"] != "") { qty = Convert.ToInt32(form["qty"]); } int smscreditqty = 0; if (form["smscreditqty"] != null && form["smscreditqty"] != "") { smscreditqty = Convert.ToInt32(form["smscreditqty"]); } double hdnsmscreditamount = 0; if (form["hdnsmscreditamount"] != null && form["hdnsmscreditamount"] != "") { hdnsmscreditamount = Convert.ToDouble(form["hdnsmscreditamount"]); } int accountId = 1; if (account != null) { accountId = account.Id; } int planId = 0; if (form["hdnplanid"] != null) { planId = Convert.ToInt32(form["hdnplanid"].ToString()); } int subscriptionId = subscriptionService.PurchaseSubscription(planId, Convert.ToDouble(amount), accountId, qty, "", smscreditqty, hdnsmscreditamount, transaction.Id, "", chkautorenewel, 0); if (chkautorenewel == true) { /// Mark Hangfire Service AutomatedService automatedService = new AutomatedService(); RecurringJob.AddOrUpdate(() => automatedService.MarkAutoRenewalSubscription(subscriptionId, null), Cron.Minutely); ////// Insert into execution service WindowsServiceExecution winservice = new WindowsServiceExecution(); winservice.WindowsServiceFunction = "Automatic Charging"; winservice.WindowsServiceArgumrnt = subscriptionId; winservice.WindowsServiceFunctionCode = (int)Constant.WindowsFunction.AutomaticCharging; winservice.WindowsServiceStatus = (int)Constant.WindowsServiceExecutionStatus.Pending; winservice.IsActive = true; winservice.CreatedDate = DateTime.Now; //WindowsServiceExecutionService windowsServiceExecutionService = new WindowsServiceExecutionService(); //windowsServiceExecutionService.InsertWindowsServiceExecutionService(winservice); } return(RedirectToAction("Thankyou")); } else { return(RedirectToAction("CustomError?type=btpayment")); } }
public int PurchaseSubscription(int planId, double totalAmonut, int cabOfficeId, int qty, string chequeNo, int smscreditqty, double smscreditamount, string transactionId, string btSubsccriptionId, bool isAutoRenewel, int noOfBillingCycle) { /// If plan is pay as you go and this user alreasy have subscription /// DataContext context = new DataContext(); PlanService planService = new PlanService(); Plan plan = planService.GetPlanDetail(planId); int previousRemainingCredit = 0; int currentPurchaseSMSCredit = 0; Subscription subscription = null; if (plan.PlanTypeId == (int)Constant.SubscriptionType.PayAsYouGo) { //subscription = context.Subscriptions.FirstOrDefault(x => x.IsActive == true && x.AccountId == cabOfficeId && x.SubscriptionTypeId == (int)Constant.SubscriptionType.PayAsYouGo); Subscription subs = context.Subscriptions.Where(x => x.AccountId == cabOfficeId && x.IsActive == true).OrderByDescending(xx => xx.Id).FirstOrDefault(); if (subs != null) { if (subs.SubscriptionTypeId == (int)Constant.SubscriptionType.Monthly) { previousRemainingCredit = subs.RemainingSmsCreditPurchase; } else { subscription = subs; } currentPurchaseSMSCredit = qty; qty = qty + previousRemainingCredit; } } else if (plan.PlanTypeId == (int)Constant.SubscriptionType.Monthly) { //List<Subscription> lst = context.Subscriptions.Where(x => x.AccountId == cabOfficeId && x.SubscriptionTypeId == (int)Constant.SubscriptionType.Monthly).ToList(); Subscription subs = context.Subscriptions.Where(x => x.AccountId == cabOfficeId && x.IsActive == true).OrderByDescending(xx => xx.Id).FirstOrDefault(); if (subs != null) { if (subs.SubscriptionTypeId == (int)Constant.SubscriptionType.Monthly) { previousRemainingCredit = subs.RemainingSmsCreditPurchase; } else { previousRemainingCredit = subs.RemainingCredit; } } currentPurchaseSMSCredit = smscreditqty; smscreditqty = smscreditqty + previousRemainingCredit; } int subscriptionId = 0; if (subscription == null) { subscription = new Subscription(); subscription.PlanId = plan.Id; subscription.PlanName = plan.Name; subscription.StartDate = DateTime.UtcNow; subscription.TotalPrice = totalAmonut; subscription.AccountId = cabOfficeId; subscription.SubscriptionTypeId = plan.PlanTypeId; subscription.btTransactionId = transactionId; if (plan.PlanTypeId == (int)Constant.PlayType.Monthly) { subscription.EndDate = DateTime.UtcNow.AddMonths(1); subscription.NoOfAgents = plan.NoOfAgents; subscription.NoOfDrivers = plan.NoOfDrivers; subscription.NoOfVehicles = plan.NoOfVehicles; subscription.PerCreditSMSPrice = plan.PerCreditSMSPrice; subscription.RemainingNoOfAgents = plan.NoOfAgents; subscription.RemainingNoOfDrivers = plan.NoOfDrivers; subscription.RemainingNoOfVehicles = plan.NoOfVehicles; subscription.SMSPrice = smscreditamount; subscription.NoOfSmsCreditPurchase = smscreditqty; subscription.RemainingSmsCreditPurchase = smscreditqty; subscription.IsAutoRenewel = isAutoRenewel; subscription.NoOfBillingCycle = noOfBillingCycle; subscription.btSubscriptionId = btSubsccriptionId; subscription.PreviousRemainingSMSCredit = previousRemainingCredit; subscription.CurrentPurchseSMSCredit = currentPurchaseSMSCredit; } if (plan.PlanTypeId == (int)Constant.PlayType.PayAsYouGo) { subscription.TotalCredit = qty; subscription.RemainingCredit = qty; } subscription.SubcriptionStatusCode = (int)Constant.SubscriptionStatus.Active; subscription.IsActive = true; subscription.Status = Constant.SubscriptionStatus.Active.ToString(); subscription.ChequeNo = chequeNo; subscription.CreatedDateTime = DateTime.UtcNow; if (plan.PlanTypeId == 1) { subscription.IsAutoRenewel = false; } subscriptionId = InsertSubscription(subscription); AccountService accountService = new AccountService(); accountService.UpdateActiveSubsctionForAccount(subscriptionId, cabOfficeId); AutomatedService automatedService = new AutomatedService(); if (plan.PlanTypeId == (int)Constant.PlayType.PayAsYouGo) { RecurringJob.AddOrUpdate(() => automatedService.DeductDailyCredit(subscriptionId), Cron.Daily); } } else { subscriptionId = subscription.Id; subscription.TotalCredit = subscription.TotalCredit + qty; subscription.RemainingCredit = subscription.RemainingCredit + qty; subscription.TotalPrice = subscription.TotalPrice + totalAmonut; if (btSubsccriptionId != null && btSubsccriptionId != "") { subscription.btTransactionId = btSubsccriptionId; } if (chequeNo != null && chequeNo != "") { subscription.ChequeNo = chequeNo; } context.SaveChanges(); } //AutomatedService automatedService = new AutomatedService(); //if(plan.PlanTypeId == (int)Constant.PlayType.PayAsYouGo) // RecurringJob.AddOrUpdate(() => automatedService.DeductDailyCredit(subscriptionId), Cron.Daily); return(subscriptionId); }