Beispiel #1
0
        public async Task <ActionResult> Choose_Benefits(string type, string claimer)
        {
            string s = System.Configuration.ConfigurationManager.AppSettings["MaxLevel"];

            claimer = claimer.Replace("$25", "/");
            claimer = claimer.Replace("$24", "+");
            string DecryptId = Cryptoclass.DecryptStringAES(claimer, s);
            var    user      = await db.INISubcriberExtraDetails.FindAsync(DecryptId);

            Random rd           = new Random();
            int    RD           = rd.Next(100000);
            string ProcessingID = string.Concat("PID-", RD.ToString());

            #region //Cash_Benefits
            if (type == "Cash_Benefit")
            {
                var bank_details = db.bank_info.Where(bd => bd.Account_holder_id == user.UserID);
                if (bank_details.Count() > 0)
                {
                    //Check if claim has already been submitted: this will help eliminate
                    //double claims submission for a single claim
                    var checkClaims = db.BenefitClaimersTb.Where(c => c.SubRefCode == user.User.MyRefferalCode && c.BenefitProcessStatus != "Settled");
                    if (checkClaims.Count() > 0)
                    {
                        TempData["warning"] = "Oops! You still have an active benefit that is currently being process. Do not click the  claim Benefit link again.";
                        return(RedirectToAction("UserpanelCarreer"));
                    }
                    BenefitClaimersTb bctb = new BenefitClaimersTb();
                    bctb.SubRefCode      = user.User.MyRefferalCode;
                    bctb.Name            = string.Concat(user.User.FirstName, " ", user.User.LastName);
                    bctb.DownlineSize    = user.promo_dl_size + user.Non_promo_dl_size;
                    bctb.BankName        = user.User.bank_acct_info.BankName;
                    bctb.AccountName     = user.User.bank_acct_info.AccountName;
                    bctb.AccountNumber   = user.User.bank_acct_info.AccountNumber;
                    bctb.BenefitCategory = "Cash";
                    //  bctb.MaxDateToMeetTarget = usr.INISubcriberExtraDetails.MaxDT2MtTarget;
                    bctb.B_applicationDate    = DateTime.UtcNow;
                    bctb.CashBenefits         = user.CurrentBonus;
                    bctb.cashBonus            = user.CurrentBonus * 0.1;
                    bctb.totalCashBenefits    = bctb.CashBenefits + bctb.cashBonus;
                    bctb.BenefitProcessStatus = "Fresh";
                    // bctb.BenefitStage = "Career";
                    bctb.ProcessingId      = ProcessingID;
                    bctb.Meet_promo_target = true;
                    // bctb.username = usr.UserName;
                    db.BenefitClaimersTb.Add(bctb);
                    await db.SaveChangesAsync();

                    //Todo : Send mail to Admin on new benefit claims
                    // body1 contain email content that will be sent to beneficiary of claims by the ihealth mail server
                    string body1 = ems.Notification_Email_Body_Creator(user.User.FullName, "Please, be informed that your request to claim " +
                                                                       "benefit has been recieved. <br/><br/>  We will notify you as soon as your benefit is ready." +
                                                                       "<br/><br/> Thank you for choosing iHealth Nigeria GSFM <br/><br/> Best Regards, <br/><br/> iHeath Nigeria GSFM Team.");
                    // body2 will contain message notifying admin of new benefit request.
                    string body2 = ems.Notification_Email_Body_Creator("Admin", "Please, be informed that a fresh request for benefits has been submitted.<br/><br/> Kindly, login to the portal for processing." +
                                                                       "<br/><br/>Thanks.<br/><br/>From: iHealth Nigeria GSFM Mail Sender. ");
                    await em.FreshBenefitClaimNotificationRequest(user.User.Email, "Fresh Benefit Claim Request", body1, body2);

                    TempData["success"] = "Congratulations, Your application for benefit claims having been submitted successfully. We will get back to you shortly";
                    return(RedirectToAction("UserpanelCarreer"));
                }
                else
                {
                    String UserID = iHealth2.CustomClasses.Cryptoclass.EncryptStringAES(user.UserID, s);
                    UserID = UserID.Replace("/", "$25");
                    UserID = UserID.Replace("+", "$24");
                    return(RedirectToAction("BankInfo", "ING", new { ids = UserID }));
                }
            }
            #endregion
            #region //Health_Benefits
            else
            {
                //Check if claim has already been submitted: this will help eliminate
                //double claims submission for a single claim
                var checkClaims = db.BenefitClaimersTb.Where(c => c.SubRefCode == user.User.MyRefferalCode && c.BenefitProcessStatus != "Settled");
                if (checkClaims.Count() > 0)
                {
                    TempData["warning"] = "Oops! You still have an active benefit that is currently being process. Do not click the  claim Benefit link again.";
                    return(RedirectToAction("UserpanelCarreer"));
                }
                BenefitClaimersTb bctb = new BenefitClaimersTb();
                bctb.SubRefCode        = user.User.MyRefferalCode;
                bctb.Name              = string.Concat(user.User.FirstName, " ", user.User.LastName);
                bctb.DownlineSize      = user.promo_dl_size;
                bctb.BenefitCategory   = "Health";
                bctb.B_applicationDate = DateTime.UtcNow;
                if (user.promo_dl_size >= 2 && user.promo_dl_size < 5)
                {
                    bctb.HealthBenefits = "Health Insurance of 2 to 4 referrals";
                }
                else if (user.promo_dl_size >= 4 && user.promo_dl_size < 10)
                {
                    bctb.HealthBenefits = "Health Insurance of 4 to 8 referrals";
                }
                else if (user.promo_dl_size >= 10)
                {
                    bctb.HealthBenefits = "High-Class-Networkers";
                }
                bctb.BenefitProcessStatus = "Fresh";
                bctb.CashBenefits         = user.CurrentBonus;
                // bctb.BenefitStage = "Career";
                bctb.ProcessingId      = ProcessingID;
                bctb.Meet_promo_target = true;
                // bctb.username = usr.UserName;
                db.BenefitClaimersTb.Add(bctb);
                await db.SaveChangesAsync();

                //Todo : Send mail to Admin on new benefit claims
                // body1 contain email content that will be sent to beneficiary of claims by the ihealth mail server
                string body1 = ems.Notification_Email_Body_Creator(user.User.FullName, "Please, be informed that your request to claim " +
                                                                   "benefit has been recieved. <br/><br/>  We will notify you as soon as your benefit is ready." +
                                                                   "<br/><br/> Thank you for choosing iHealth Nigeria GSFM <br/><br/> Best Regards, <br/><br/> iHeath Nigeria GSFM Team.");
                // body2 will contain message notifying admin of new benefit request.
                string body2 = ems.Notification_Email_Body_Creator("Admin", "Please, be informed that a fresh request for benefits has been submitted.<br/><br/> Kindly, login to the portal for processing." +
                                                                   "<br/><br/>Thanks.<br/><br/>From: iHealth Nigeria GSFM Mail Sender. ");
                await em.FreshBenefitClaimNotificationRequest(user.User.Email, "Fresh Benefit Claim Request", body1, body2);

                TempData["success"] = "Congratulations, Your application for benefit claims having been submitted successfully. We will get back to you shortly";
                return(RedirectToAction("UserpanelCarreer"));
            }
            #endregion
            //return View("UserpanelCarreer");
        }
Beispiel #2
0
        public async Task <ActionResult> ClaimBenefits(string ids)
        {
            string s = System.Configuration.ConfigurationManager.AppSettings["MaxLevel"];

            ids = ids.Replace("$25", "/");
            ids = ids.Replace("$24", "+");
            string DecryptId = Cryptoclass.DecryptStringAES(ids, s);
            var    user      = await db.INISubcriberExtraDetails.FindAsync(DecryptId);

            Random rd           = new Random();
            int    RD           = rd.Next(100000);
            string ProcessingID = string.Concat("PID-", RD.ToString());

            // if today's date is
            //greater than the promo end date (Maximum date for the subscriber to meet his/her target)
            //and the member has bonus available then proceed by executing the if condition
            if (user.CurrentBonus != 0)
            {
                if (user.Promotional_Target_Subscription_Status != "Active")
                {
                    if (user.Promotional_Target_Subscription_Status == "Expired")
                    {
                        if (user.promo_dl_size >= 2)
                        {
                            TempData["dl_size"] = user.promo_dl_size;
                            TempData["bonus"]   = user.CurrentBonus;
                            return(RedirectToAction("Choose_Benefit", new { refcode = user.User.MyRefferalCode }));
                        }
                    }
                    var bank_details = db.bank_info.Where(bd => bd.Account_holder_id == user.UserID);
                    if (bank_details.Count() > 0)
                    {
                        //Check if claim has already been submitted: this will help eliminate
                        //double claims submission for a single claim
                        var checkClaims = db.BenefitClaimersTb.Where(c => c.SubRefCode == user.User.MyRefferalCode && c.BenefitProcessStatus != "Settled");
                        if (checkClaims.Count() > 0)
                        {
                            TempData["warning"] = "Oops! You still have an active benefit that is currently being process. Do not click the  claim Benefit link again.";
                            return(RedirectToAction("UserpanelCarreer"));
                        }
                        BenefitClaimersTb bctb = new BenefitClaimersTb();
                        bctb.SubRefCode      = user.User.MyRefferalCode;
                        bctb.Name            = string.Concat(user.User.FirstName, " ", user.User.LastName);
                        bctb.DownlineSize    = user.promo_dl_size + user.Non_promo_dl_size;
                        bctb.BankName        = user.User.bank_acct_info.BankName;
                        bctb.AccountName     = user.User.bank_acct_info.AccountName;
                        bctb.AccountNumber   = user.User.bank_acct_info.AccountNumber;
                        bctb.BenefitCategory = "Cash";
                        //  bctb.MaxDateToMeetTarget = usr.INISubcriberExtraDetails.MaxDT2MtTarget;
                        bctb.B_applicationDate    = DateTime.UtcNow;
                        bctb.CashBenefits         = user.CurrentBonus;
                        bctb.cashBonus            = 0;
                        bctb.totalCashBenefits    = bctb.CashBenefits + bctb.cashBonus;
                        bctb.BenefitProcessStatus = "Fresh";
                        // bctb.BenefitStage = "Career";
                        bctb.ProcessingId      = ProcessingID;
                        bctb.Meet_promo_target = false;
                        // bctb.username = usr.UserName;
                        db.BenefitClaimersTb.Add(bctb);
                        await db.SaveChangesAsync();

                        //Todo : Send mail to Admin on new benefit claims
                        // body1 contain email content that will be sent to beneficiary of claims by the ihealth mail server
                        string body1 = ems.Notification_Email_Body_Creator(user.User.FullName, "Please, be informed that your request to claim " +
                                                                           "benefit has been recieved. <br/><br/>  We will notify you as soon as your benefit is ready." +
                                                                           "<br/><br/> Thank you for choosing iHealth Nigeria GSFM <br/><br/> Best Regards, <br/><br/> iHeath Nigeria GSFM Team.");
                        // body2 will contain message notifying admin of new benefit request.
                        string body2 = ems.Notification_Email_Body_Creator("Admin", "Please, be informed that a fresh request for benefits has been submitted.<br/><br/> Kindly, login to the portal for processing." +
                                                                           "<br/><br/>Thanks.<br/><br/>From: iHealth Nigeria GSFM Mail Sender. ");
                        await em.FreshBenefitClaimNotificationRequest(user.User.Email, "Fresh Benefit Claim Request", body1, body2);

                        TempData["success"] = "Congratulations, Your application for benefit claims having been submitted successfully. We will get back to you shortly";
                        return(RedirectToAction("UserpanelCarreer"));
                    }
                    else
                    {
                        String UserID = iHealth2.CustomClasses.Cryptoclass.EncryptStringAES(user.UserID, s);
                        UserID = UserID.Replace("/", "$25");
                        UserID = UserID.Replace("+", "$24");
                        return(RedirectToAction("BankInfo", "ING", new { ids = UserID }));
                    }
                }
                else
                {
                    TempData["error"] = "You can only claim benefit at the end of the current promo period, Thanks.";
                }
            }
            else
            {
                TempData["error"] = "You currently do not have any bonus available";
            }
            return(View("UserpanelCarreer"));
        }