示例#1
0
        public ActionResult Complete()
        {
            // Payment data comes in url so we have to get it from url

            // This id is razorpay unique payment id which can be use to get the payment details from razorpay server

            string paymentId = Request.Form["rzp_paymentid"];
            //string paymentId = paymentid;
            // This is orderId
            string orderId = Request.Form["rzp_orderid"];


            Razorpay.Api.RazorpayClient client = new Razorpay.Api.RazorpayClient(_keys.SecretKey, _keys.PublishKey);

            Razorpay.Api.Payment payment = client.Payment.Fetch(paymentId);

            // This code is for capture the payment
            Dictionary <string, object> options = new Dictionary <string, object>();

            options.Add("amount", payment.Attributes["amount"]);
            Razorpay.Api.Payment paymentCaptured = payment.Capture(options);
            string amt = paymentCaptured.Attributes["amount"];

            //// Check payment made successfully

            if (paymentCaptured.Attributes["status"] == "captured")
            {
                string id           = User.FindFirst("id").Value;
                var    dataset      = _unitOfWork.StudentModel.FeeDetailFunction(id);
                var    paymentParam = new DynamicParameters();
                paymentParam.Add("inUserId", id);
                //var dataset = _unitOfWork.SPCall.List<FeeDetails>(SD.FeeDetails, paymentParam);

                foreach (var data in dataset)
                {
                    string emailbody = GetBody("feepayment", data.Name, " ", " ", " ", data.Month.ToString(), data.FeeCharge.ToString());
                    EmailConfig.SendMail(data.Email, "Welcome", emailbody);

                    /*payment.name = data.Name;
                     * payment.email = data.Email;
                     * payment.contactNumber = "9931159589";
                     * payment.address = "Ranchi";
                     * payment.amount = data.FeeCharge;
                     * payment.UserId = Convert.ToInt32(claimvalue);*/
                    // payment.User = user;
                }
                // Create these action method
                // string emailbody = GetBody("feepayment", FirstName, Email, Password);
                //EmailConfig.SendMail(Email, "Welcome", emailbody);
                //_unitOfWork.SPCall.List<FeeDetails>(SD.UpdateFeeDate, paymentParam);
                _unitOfWork.StudentModel.UpdateFeeDateFunction(id);
                return(RedirectToAction("Success"));
            }
            else
            {
                return(RedirectToAction("Failed"));
            }
        }
示例#2
0
        public IActionResult Alert()
        {
            var allfee = _unitOfWork.SPCall.List <DuesFee>(SD.GetAllDueFee, null);

            foreach (var fee in allfee)
            {
                string emailbody = GetBody("feereminder", fee.Name, fee.Email, "", "", "", fee.Fee.ToString());
                EmailConfig.SendMail(fee.Email, "Fee Reminder", emailbody);
            }
            return(RedirectToAction("Index", "Fee", new { area = "Admin" }));
        }
示例#3
0
        public IActionResult StudentRegister(StudentUserDetails student)
        {
            var parameters = new DynamicParameters();

            parameters.Add("stFirstName", student.FirstName);
            parameters.Add("stLastName", student.LastName);
            parameters.Add("stGender", student.Gender);
            parameters.Add("dtDOB", student.DOB);
            parameters.Add("stEmail", student.Email);
            parameters.Add("stPassword", student.Password);
            parameters.Add("inClass", student.Class);

            if (ModelState.IsValid)
            {
                string webRootPath = _host.WebRootPath;
                var    files       = HttpContext.Request.Form.Files;
                if (files.Count > 0)
                {
                    string fileName  = Guid.NewGuid().ToString();
                    var    uploads   = Path.Combine(webRootPath, @"images");
                    var    extension = Path.GetExtension(files[0].FileName);

                    if (student.ImageUrl != null)
                    {
                        var imagePath = Path.Combine(webRootPath, student.ImageUrl.TrimStart('\\'));
                        if (System.IO.File.Exists(imagePath))
                        {
                            System.IO.File.Delete(imagePath);
                        }
                    }
                    using (var fileStreams = new FileStream(Path.Combine(uploads, fileName + extension), FileMode.Create))
                    {
                        files[0].CopyTo(fileStreams);
                    }
                    student.ImageUrl = fileName + extension;
                    parameters.Add("stImageUrl", student.ImageUrl);
                }

                _unitOfWork.SPCall.List <StudentModel>(SD.Stud_Reg, parameters);

                _unitOfWork.Save();
                string emailbody = GetBody("welcome", student.FirstName, student.Email, student.Password);
                EmailConfig.SendMail(student.Email, "Welcome", emailbody);

                return(RedirectToAction("Index", "Admin", new { area = "Admin" }));
            }
            return(View(student));
        }
示例#4
0
        public IActionResult Approved(int id)
        {
            ///var id
            var parameters = new DynamicParameters();

            parameters.Add("inTeacherId", id);
            _unitOfWork.SPCall.List <Leaves>(SD.ApprovedLeaves, parameters);
            var teacher = _unitOfWork.SPCall.List <Leaves>(SD.GetTeacherName, parameters);

            foreach (var i in teacher)
            {
                string emailbody = GetBody("leaveapproved", i.Name);
                EmailConfig.SendMail(i.Email, "Leave Approved", emailbody);
            }
            return(View());
        }
示例#5
0
        public IActionResult RejectBlog(int?id)
        {
            BlogModel blog = new BlogModel();
            UserModel user = new UserModel();

            blog            = _unitOfWork.Blog.Get(id.GetValueOrDefault());
            blog.IsRejected = 1;
            id   = blog.UserId;
            user = _unitOfWork.User.Get(id.GetValueOrDefault());
            _unitOfWork.Blog.Update(blog);
            _unitOfWork.Save();
            string rec = user.Email;

            EmailConfig.SendMail(rec, "BlogWorld-Blog Rejected !!", "Your Blog is Rejected");

            return(Content("Rejected"));
        }
示例#6
0
        public IActionResult ChangeBlog(string change_message, int?id)
        {
            BlogModel blog = new BlogModel();
            UserModel user = new UserModel();

            blog = _unitOfWork.Blog.Get(id.GetValueOrDefault());
            blog.ChangeRequested = 1;
            id   = blog.UserId;
            user = _unitOfWork.User.Get(id.GetValueOrDefault());
            _unitOfWork.Blog.Update(blog);
            _unitOfWork.Save();
            //string rec = user.Email;
            string rec = blog.User.Email;

            EmailConfig.SendMail(rec, "BlogWorld- Change Required", "Your Blog require some changes");
            return(RedirectToAction(nameof(Index)));
        }
示例#7
0
 public IActionResult SendEmail(string userEmail)
 {
     EmailConfig.SendMail(userEmail, "BlogWorld-Blog Approved!!", "Your Blog is Approved");
     return(View());
 }
示例#8
0
        //[HttpPost]
        public IActionResult PaytmPaymentCallBack()
        {
            String merchantKey = "M4bjjBIoF96_Jvzw";
            Dictionary <string, string> parameters = new Dictionary <string, string>();
            string paytmChecksum = "";

            foreach (string key in Request.Form.Keys)
            {
                string key_trim = Request.Form[key];
                parameters.Add(key.Trim(), key_trim.Trim());
                // parameters.Add(key.Trim(), Request.Form[key].Trim());
            }
            if (parameters.ContainsKey("CHECKSUMHASH"))
            {
                paytmChecksum = parameters["CHECKSUMHASH"];
                parameters.Remove("CHECKSUMHASH");
            }
            if (CheckSum.verifyCheckSum(merchantKey, parameters, paytmChecksum))
            {
                string paytmStatus = parameters["STATUS"];
                string txnId       = parameters["TXNID"];
                string traxid      = "Transaction Id : " + txnId;
                if (paytmStatus == "TXN_SUCCESS")
                {
                    string id = User.FindFirst("id").Value;
                    // string id = parameters["RESPCODE"];
                    var paymentParam = new DynamicParameters();
                    paymentParam.Add("inUserId", id);
                    var dataset = _unitOfWork.SPCall.List <FeeDetails>(SD.FeeDetails, paymentParam);

                    foreach (var data in dataset)
                    {
                        string emailbody = GetBody("feepayment", data.Name, " ", " ", " ", data.Month.ToString(), data.FeeCharge.ToString());
                        EmailConfig.SendMail(data.Email, "Welcome", emailbody);

                        /*payment.name = data.Name;
                         * payment.email = data.Email;
                         * payment.contactNumber = "9931159589";
                         * payment.address = "Ranchi";
                         * payment.amount = data.FeeCharge;
                         * payment.UserId = Convert.ToInt32(claimvalue);*/
                        // payment.User = user;
                    }
                    // Create these action method
                    // string emailbody = GetBody("feepayment", FirstName, Email, Password);
                    //EmailConfig.SendMail(Email, "Welcome", emailbody);
                    _unitOfWork.SPCall.List <FeeDetails>(SD.UpdateFeeDate, paymentParam);
                    return(Content("Payment Successful!!- " + traxid));
                }
                else if (paytmStatus == "PENDING")
                {
                    return(Content("Payment Pending!!"));
                }
                else if (paytmStatus == "TXN_FAILURE")
                {
                    return(Content("Payment Failed!!"));
                }
                return(Content("Checksum Matched"));
            }
            else
            {
                return(Content("Checksum MisMatch"));
            }
        }