public void MarkWindowsServiceStatus(int windowsServiceExecutionId, int status)
 {
     using (DataContext context = new DataContext())
     {
         WindowsServiceExecution windowsServiceExecution = context.WindowsServiceExecutions.FirstOrDefault(x => x.Id == windowsServiceExecutionId);
         windowsServiceExecution.WindowsServiceStatus = status;
         windowsServiceExecution.UpdatedDate          = DateTime.Now;
         context.SaveChanges();
     }
 }
Пример #2
0
        public int InsertSubscriptionbyAdmin(InsertSubscriptionByAdminRequest insertSubscriptionByAdminRequest)
        {
            try
            {
                double planamount = 0, smscreditamount = 0, amount = 0;

                if (insertSubscriptionByAdminRequest.hdnsmscreditamount != null && insertSubscriptionByAdminRequest.hdnsmscreditamount != 0)
                {
                    smscreditamount = Convert.ToDouble(insertSubscriptionByAdminRequest.hdnsmscreditamount) * insertSubscriptionByAdminRequest.smscreditqty;
                }

                amount = Convert.ToDouble(insertSubscriptionByAdminRequest.hdnamount);


                PlanService planService = new PlanService();
                int         planId      = 0;
                int         accountid   = 0;

                if (insertSubscriptionByAdminRequest.PlanId != 0)
                {
                    planId = insertSubscriptionByAdminRequest.PlanId;
                }

                CabicsSubscription.Service.Plan plan = planService.GetPlanDetailByPlanId(planId);

                if (insertSubscriptionByAdminRequest.cabofficeid != 0)
                {
                    accountid = insertSubscriptionByAdminRequest.cabofficeid;
                }

                bool        resultt;
                Transaction transactionid;

                bool chkautorenewel  = false;
                int  noOfInstallment = 0;

                var bit = "off";
                if (insertSubscriptionByAdminRequest.chkautorenewel != null)
                {
                    bit = insertSubscriptionByAdminRequest.chkautorenewel.ToString();
                }

                if (bit == "on")
                {
                    chkautorenewel = true;
                }


                //return RedirectToAction("Show", new { id = transaction.Id });
                SubscriptionService subscriptionService = new SubscriptionService();

                int qty = 1;
                if (insertSubscriptionByAdminRequest.qty != null)
                {
                    qty = Convert.ToInt32(insertSubscriptionByAdminRequest.qty);
                }

                int smscreditqty = 0;
                if (insertSubscriptionByAdminRequest.smscreditqty != 0)
                {
                    smscreditqty = insertSubscriptionByAdminRequest.smscreditqty;
                }

                double hdnsmscreditamount = 0;
                hdnsmscreditamount = Convert.ToInt32(insertSubscriptionByAdminRequest.hdnsmscreditotaltamount);


                int subscriptionId = subscriptionService.PurchaseSubscription(planId, Convert.ToDouble(insertSubscriptionByAdminRequest.hdnamount),
                                                                              insertSubscriptionByAdminRequest.cabofficeid, qty, insertSubscriptionByAdminRequest.chequeNo, smscreditqty, smscreditamount,
                                                                              "adminsubscriptionbycheque", "", chkautorenewel, noOfInstallment);

                if (chkautorenewel == true)
                {
                    //// 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.UtcNow;

                    WindowsServiceExecutionService windowsServiceExecutionService = new WindowsServiceExecutionService();
                    windowsServiceExecutionService.InsertWindowsServiceExecutionService(winservice);
                }

                return(subscriptionId);
            }
            catch (Exception ex)
            {
                DbErrorLogService.LogError("error", "InsertSubscriptionbyAdmin", "", ex.ToString());

                return(0);
            }
        }
 public void InsertWindowsServiceExecutionService(WindowsServiceExecution windowsServiceExecution)
 {
     context.WindowsServiceExecutions.Add(windowsServiceExecution);
     context.SaveChanges();
 }
Пример #4
0
        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"));
            }
        }