public IHttpActionResult changestatus(int userId, int id)
        {
            using (SleepingPartnermanagementTestingEntities dc = new SleepingPartnermanagementTestingEntities())
            {
                EWalletTransaction data = new EWalletTransaction();

                EWalletWithdrawalFund newuserdata = dc.EWalletWithdrawalFunds
                                                    .Where(a => a.WithdrawalFundId.Equals(id)).FirstOrDefault();

                var ewalletTransId = Convert.ToInt32(newuserdata.EwalletTransId.Value);
                EWalletTransaction ewalletCheck = dc.EWalletTransactions.Where(a => a.TransactionId.Equals(ewalletTransId)).FirstOrDefault();

                if (newuserdata != null)
                {
                    newuserdata.PaidDate = DateTime.Now;
                    newuserdata.IsActive = false;
                    newuserdata.IsPaid   = true;

                    data.TransactionSource = newuserdata.UserName + " : "
                                             + Common.Enum.AmountSource.Withdrawal.ToString() + " : " + newuserdata.WithdrawalFundDescription;
                    data.TransactionName            = Common.Enum.AmountDebitOrCredit.Credit.ToString();
                    data.AsscociatedMember          = newuserdata.UserId;
                    data.Amount                     = newuserdata.AmountPayble;
                    data.TransactionDate            = DateTime.Now;
                    data.Credit                     = true;
                    data.Debit                      = false;
                    data.UserId                     = newuserdata.UserId;
                    data.IsPackageBonus             = ewalletCheck.IsPackageBonus.Value;
                    data.PackageId                  = ewalletCheck.PackageId.Value;
                    data.IsMatchingBonus            = ewalletCheck.IsMatchingBonus.Value;
                    data.IsParentBonus              = ewalletCheck.IsParentBonus.Value;
                    data.IsWithdrawlRequestByUser   = false;
                    data.IsWithdrawlPaidByAdmin     = false;
                    data.IsWithdrawlRequestApproved = false;
                    data.AdminCredit                = false;
                    data.AdminDebit                 = false;
                    data.AdminTransactionName       = Common.Enum.AmountSource.Withdrawal.ToString();
                    dc.EWalletTransactions.Add(data);
                    dc.SaveChanges();

                    ewalletCheck.IsWithdrawlRequestApproved = true;
                    ewalletCheck.IsWithdrawlPaidByAdmin     = true;
                    dc.SaveChanges();

                    ModelState.Clear();
                    return(Ok(new { success = true, message = "success" }));
                }
                else
                {
                    return(Json(new { error = true, message = "failed" }));
                }
            }
        }
        public IHttpActionResult postAdd(Advertisement model)
        {
            SleepingPartnermanagementTestingEntities db = new SleepingPartnermanagementTestingEntities();

            db.Advertisements.Add(model);
            db.SaveChanges();

            return(Ok("success"));
        }
        public IHttpActionResult Inbox(SentAdminMessageModel sentmodel)
        {
            int admin_id  = 1;
            var fileImage = sentmodel.MessageImage;

            byte[] img;
            if (fileImage != null)
            {
                img = fileImage;
            }
            else
            {
                img = null;
            }

            // var userId = Convert.ToInt32(Session["LogedUserID"].ToString());
            SleepingPartnermanagementTestingEntities db = new SleepingPartnermanagementTestingEntities();
            SentAdminMessage sent_msg = new SentAdminMessage();

            sent_msg.Sender       = sentmodel.Sender = sentmodel.UserId;
            sent_msg.UserId       = sentmodel.UserId = sentmodel.UserId;
            sent_msg.SponserId    = admin_id;
            sent_msg.Sender_Name  = sentmodel.Sender_Name;
            sent_msg.Message      = sentmodel.Message;
            sent_msg.IsRead       = sentmodel.IsRead = false;
            sent_msg.CreateDate   = sentmodel.CreateDate = DateTime.Today;
            sent_msg.MessageImage = img;
            //sent_msg.MessageImage = fileImage.InputStream; //imageByte;

            db.SentAdminMessages.Add(sent_msg);
            //db.SaveChanges();
            ReceiveAdminMessage Recive_msg = new ReceiveAdminMessage();

            Recive_msg.Sender       = sentmodel.Sender = sentmodel.UserId;
            Recive_msg.UserId       = sentmodel.UserId = sentmodel.UserId;
            Recive_msg.SponserId    = admin_id;
            Recive_msg.Sender_Name  = sentmodel.Sender_Name;
            Recive_msg.Message      = sentmodel.Message;
            Recive_msg.IsRead       = sentmodel.IsRead = true;
            Recive_msg.CreateDate   = sentmodel.CreateDate = DateTime.Today;
            Recive_msg.MessageImage = img;
            db.ReceiveAdminMessages.Add(Recive_msg);
            db.SaveChanges();
            //var fcm = db.NewUserRegistrations.Where(x => x.UserId == sentmodel.SponserId).Select(x => x.Fcm).FirstOrDefault();
            //if (fcm != null)
            //{
            //    WebClient client = new WebClient();
            //    client.DownloadString("https://sleepingpartnertesting.royalcryptoexchange.com/messageNotifyApi.php?send_notification&sname=" +
            //        sentmodel.Sender_Name + "&uid=" + sentmodel.UserId + "&sid=" + sentmodel.SponserId + "&message=" + sentmodel.Message
            //       + "&token=" + fcm);

            //}
            return(Ok(new { success = true, message = "messsage sent successfully" }));
        }
        public IHttpActionResult FcmUpdate(FcmModel model)
        {
            SleepingPartnermanagementTestingEntities dce = new SleepingPartnermanagementTestingEntities();
            NewUserRegistration newuser = dce.NewUserRegistrations.SingleOrDefault(x => x.UserId == model.UserId);

            if (newuser != null)
            {
                newuser.fcm = model.Fcm;
                dce.SaveChanges();
                return(Ok(new { success = true, message = "Update Successfully" }));
            }
            return(Ok(new { success = false, message = "user not found" }));
        }
        public IHttpActionResult updatePassword(string passord, int uid)
        {
            SleepingPartnermanagementTestingEntities dce = new SleepingPartnermanagementTestingEntities();
            NewUserRegistration newuser = dce.NewUserRegistrations.SingleOrDefault(x => x.UserId == uid);

            if (newuser != null)
            {
                newuser.Password = passord;
                dce.SaveChanges();
                return(Ok(new { success = true, message = "Update Successfully" }));
            }
            return(Ok(new { success = false, message = "user not found" }));
        }
        public IHttpActionResult ApproveSleepingPartnerContinue(int userId)
        {
            SleepingPartnermanagementTestingEntities dc = new SleepingPartnermanagementTestingEntities();
            NewUserRegistration newuserdata             = dc.NewUserRegistrations.Where(a => a.UserId.Equals(userId)).FirstOrDefault();

            if (newuserdata != null)
            {
                newuserdata.IsSleepingPartner = true;
                newuserdata.UserDesignation   = Common.Enum.UserAsSPorSM.SleepingPartner;
                dc.SaveChanges();
            }
            return(Ok(new { success = true }));
        }
Exemple #7
0
        public IHttpActionResult addUserSetup(NewUserRegistration model)
        {
            SleepingPartnermanagementTestingEntities dce = new SleepingPartnermanagementTestingEntities();
            NewUserRegistration newuser = dce.NewUserRegistrations.Where(a => a.Username.Equals(model.Username)).FirstOrDefault();

            //NewUserRegistration newuser = dce.NewUserRegistrations.SingleOrDefault(x => x.Username == model.UserId);
            if (newuser == null)
            {
                dce.NewUserRegistrations.Add(model);
                dce.SaveChanges();
                return(Ok(new { success = true, message = "user added" }));
            }
            return(Ok(new { success = false, message = "user not found" }));
        }
 public IHttpActionResult DeleteReadMessage(int Id)
 {
     try
     {
         SleepingPartnermanagementTestingEntities db = new SleepingPartnermanagementTestingEntities();
         SentUserMessage sum = db.SentUserMessages.Where(x => x.Id == Id).FirstOrDefault();
         db.SentUserMessages.Remove(sum);
         db.SaveChanges();
         return(Ok(new { success = true, message = "message delete successfully" }));
     }
     catch (Exception ex)
     {
         return(Ok(new { success = true, message = "unable to delete this field", ex.Message }));
     }
 }
 public IHttpActionResult DeleteInboxMsg(int Id)
 {
     try
     {
         SleepingPartnermanagementTestingEntities db = new SleepingPartnermanagementTestingEntities();
         ReceiveAdminMessage vd1 = db.ReceiveAdminMessages.Where(x => x.Id == Id).FirstOrDefault <ReceiveAdminMessage>();
         db.ReceiveAdminMessages.Remove(vd1);
         db.SaveChanges();
         return(Ok(new { success = true, message = "message delete successfully" }));
     }
     catch (Exception ex)
     {
         return(Ok(new { success = true, message = "unable to delete this field", ex.Message }));
     }
 }
        public IHttpActionResult ProfileSetup(ProfileSetup model, int userId)
        {
            SleepingPartnermanagementTestingEntities     dc     = new SleepingPartnermanagementTestingEntities();
            SleepingPartnermanagementTreeTestingEntities dbTree = new SleepingPartnermanagementTreeTestingEntities();
            NewUserRegistration newuser = dc.NewUserRegistrations.Where(a => a.UserId.Equals(userId)).FirstOrDefault();

            if (newuser != null)
            {
                newuser.Name = model.Name;
                //newuser.Username = model.UserName;
                newuser.Password      = model.Password;
                newuser.Country       = model.Country;
                newuser.Address       = model.Address;
                newuser.Phone         = model.Phone;
                newuser.Email         = model.Email;
                newuser.IsBlock       = true;
                newuser.AccountTitle  = model.AccountTitle;
                newuser.AccountNumber = model.AccountNumber;
                newuser.BankName      = model.BankName;
                newuser.CNIC          = model.CNICNumber;
                //if (userId == Common.Enum.UserType.User.ToString())
                //{
                //    newuser.IsBlock = model.IsBlock = true;
                //}
                //else
                //{
                //    newuser.IsBlock = model.IsBlock = false;
                //}
                var fileImage1 = model.NICImage;
                var fileImage2 = model.ProfileImage;
                var fileImage3 = model.NICImage1;
                var fileImage4 = model.DocumentImage;
                if (fileImage1 != null && fileImage2 != null && fileImage3 != null && fileImage4 != null)
                {
                    newuser.NICImage      = fileImage1;
                    newuser.ProfileImage  = fileImage2;
                    newuser.NICImage1     = fileImage3;
                    newuser.DocumentImage = fileImage4;
                }
                dc.SaveChanges();
                //dbTree.update_tree_name(userId, model.UserName);

                ModelState.Clear();
                return(Ok(new { success = true, message = "Update Successfully" }));
            }
            return(Ok(new { success = true, message = "Update Successfully" }));
            //this.AddNotification("Your profile has bees saved", NotificationType.SUCCESS);
        }
Exemple #11
0
        public IHttpActionResult NotificationSetup(NotificationModel model)
        {
            SleepingPartnermanagementTestingEntities dc = new SleepingPartnermanagementTestingEntities();
            UserNotification newNotificationAdd         = new UserNotification();

            newNotificationAdd.NotificationName        = model.NotificationName;
            newNotificationAdd.NotificationDescription = model.NotificationDescription;
            newNotificationAdd.IsActive     = model.IsActive;
            newNotificationAdd.CreateDate   = DateTime.Now;
            newNotificationAdd.UserId       = model.UserId;
            newNotificationAdd.IsSaveByUser = true;
            //you should check duplicate registration here
            dc.UserNotifications.Add(newNotificationAdd);
            dc.SaveChanges();
            ModelState.Clear();
            return(Ok(new { success = true, message = "Notification Add Successfully" }));
        }
        public IHttpActionResult DeleteReadMessage(int Id)
        {
            try

            {
                SleepingPartnermanagementTestingEntities db = new SleepingPartnermanagementTestingEntities();
                SentAdminMessage sdm = db.SentAdminMessages.Where(x => x.Id == Id).FirstOrDefault <SentAdminMessage>();
                db.SentAdminMessages.Remove(sdm);
                //d.Id = Id;
                //db.Entry(d).State = System.Data.EntityState.Deleted;
                db.SaveChanges();
                return(Ok(new { success = true, message = "message delete successfully" }));
            }
            catch (Exception ex)
            {
                return(Ok(new { success = true, message = "unable to delete this field", ex.Message }));
            }
        }
        public IHttpActionResult Inbox(SentUserMessageModel sentmodel)
        {
            //var userId = Convert.ToInt32(Session["LogedUserID"].ToString());
            //string username = Session["LogedUserFullname"].ToString();
            SleepingPartnermanagementTestingEntities db = new SleepingPartnermanagementTestingEntities();
            SentUserMessage sent_msg = new SentUserMessage();

            sent_msg.Sender      = sentmodel.Sender = sentmodel.UserId;
            sent_msg.UserId      = sentmodel.UserId = sentmodel.UserId;
            sent_msg.SponserId   = sentmodel.SponserId;
            sent_msg.Sender_Name = sentmodel.Sender_Name;
            sent_msg.Message     = sentmodel.Message;
            sent_msg.IsRead      = sentmodel.IsRead = true;
            sent_msg.CreateDate  = sentmodel.CreateDate = DateTime.Today;
            db.SentUserMessages.Add(sent_msg);
            ReceiveUserMessage Recive_msg = new ReceiveUserMessage();

            Recive_msg.Sender      = sentmodel.Sender = sentmodel.UserId;
            Recive_msg.UserId      = sentmodel.UserId = sentmodel.UserId;
            Recive_msg.SponserId   = sentmodel.SponserId;
            Recive_msg.Sender_Name = sentmodel.Sender_Name;
            Recive_msg.Message     = sentmodel.Message;
            Recive_msg.IsRead      = sentmodel.IsRead = false;
            Recive_msg.CreateDate  = sentmodel.CreateDate = DateTime.Today;
            db.ReceiveUserMessages.Add(Recive_msg);
            db.SaveChanges();
            var fcm = db.NewUserRegistrations.Where(x => x.UserId == sentmodel.SponserId).Select(x => x.fcm).FirstOrDefault();

            if (fcm != null)
            {
                WebClient client = new WebClient();
                client.DownloadString("https://sleepingpartnertesting.royalcryptoexchange.com/messageNotifyApi.php?send_notification&sname=" +
                                      sentmodel.Sender_Name + "&uid=" + sentmodel.UserId + "&sid=" + sentmodel.SponserId + "&message=" + sentmodel.Message
                                      + "&token=" + fcm);
            }

            return(Ok(new { success = true, message = "messsage sent successfully" }));
        }
        public IHttpActionResult updatemessagestatus(int Id)
        {
            try
            {
                SleepingPartnermanagementTestingEntities db = new SleepingPartnermanagementTestingEntities();
                ReceiveUserMessage obj = db.ReceiveUserMessages.SingleOrDefault(x => x.Id == Id);

                if (obj != null)
                {
                    obj.IsRead = true;
                    db.SaveChanges();
                    return(Ok(new { success = true, message = "successfully" }));
                }
                else
                {
                    return(Ok(new { success = true, message = "Failed" }));
                }
            }
            catch (Exception ex)
            {
                return(Ok(new { success = true, message = "failed", ex.Message }));
            }
        }
Exemple #15
0
        public IHttpActionResult ProfileSetup(NewUserRegistration model)
        {
            SleepingPartnermanagementTestingEntities dce = new SleepingPartnermanagementTestingEntities();
            //NewUserRegistration newuser = dce.NewUserRegistrations.Where(a => a.UserId.Equals(model.UserId)).FirstOrDefault();
            NewUserRegistration newuser = dce.NewUserRegistrations.SingleOrDefault(x => x.UserId == model.UserId);

            if (newuser != null)
            {
                newuser.Name              = model.Name;
                newuser.Username          = model.Username;
                newuser.Password          = model.Password;
                newuser.Country           = model.Country;
                newuser.Address           = model.Address;
                newuser.Phone             = model.Phone;
                newuser.Email             = model.Email;
                newuser.AccountNumber     = model.AccountNumber;
                newuser.BankName          = model.BankName;
                newuser.IsSalesExecutive  = model.IsSalesExecutive;
                newuser.IsSleepingPartner = model.IsSleepingPartner;
                dce.SaveChanges();
                return(Ok(new { success = true, message = "Update Successfully" }));
            }
            return(Ok(new { success = false, message = "user not found" }));
        }
Exemple #16
0
        public IHttpActionResult SendDirectSaleCommissionRequest(int transactionId)
        {
            using (SleepingPartnermanagementTestingEntities dc = new SleepingPartnermanagementTestingEntities())
            {
                EWalletTransaction ewallet = dc.EWalletTransactions
                                             .Where(a => a.TransactionId.Equals(transactionId)).FirstOrDefault();
                if (ewallet != null)
                {
                    if (ewallet.IsWithdrawlRequestByUser == false)
                    {
                        var userId = Convert.ToInt32(ewallet.UserId.Value);
                        NewUserRegistration   user       = dc.NewUserRegistrations.Where(a => a.UserId.Equals(userId)).FirstOrDefault();
                        EWalletWithdrawalFund newpckgadd = new EWalletWithdrawalFund();

                        if (user.IsVerify.Value == false)
                        {
                            return(Ok(new { info = true, message = "you are not eligible to withdrawal direct commission please complete and verify your profile" }));
                        }
                        else
                        {
                            //    TwilioClient.Init(SendSMSAccountSid, SendSMSAuthToken);
                            //    var message = MessageResource.Create(
                            //        body: "Sleeping partner portal alert. "
                            //        + " You Sent Withdrawal Request To Admin"
                            //        + " Your Withdrawal Amount is : " + ewallet.Amount
                            //        + " and request Date is : " + DateTime.Now + "."
                            //        + " Click on http://sleepingpartnermanagementportalrct.com ",
                            //        from: new Twilio.Types.PhoneNumber(SendSMSFromNumber),
                            //        to: new Twilio.Types.PhoneNumber(user.Phone)
                            //    );


                            //    System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
                            //    mail.From = new MailAddress("*****@*****.**");
                            //    mail.To.Add(user.Email);
                            //    mail.Subject = "Sleeping partner management portal";
                            //    mail.Body += "Sleeping partner portal alert." +
                            //                " You Sent Withdrawal Request To Admin" +
                            //                " Your Withdrawal Amount is : " + ewallet.Amount +
                            //                " and request Date is : " + DateTime.Now + "."
                            //                + " Click on http://sleepingpartnermanagementportalrct.com ";
                            //    mail.IsBodyHtml = true;
                            //    SmtpClient smtp = new SmtpClient();
                            //    smtp.Host = "sleepingpartnermanagementportalrct.com";
                            //    smtp.EnableSsl = true;
                            //    smtp.UseDefaultCredentials = false;
                            //    smtp.Credentials = new NetworkCredential("*****@*****.**", "Yly21#p8");
                            //    smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                            //    smtp.Port = 25;
                            //    ServicePointManager.ServerCertificateValidationCallback =
                            //    delegate (object s, X509Certificate certificate,
                            //             X509Chain chain, SslPolicyErrors sslPolicyErrors)
                            //    { return true; };
                            //    smtp.Send(mail);

                            ewallet.IsWithdrawlRequestByUser   = true;
                            ewallet.IsWithdrawlPaidByAdmin     = false;
                            ewallet.IsWithdrawlRequestApproved = false;
                            dc.SaveChanges();

                            newpckgadd.UserName                  = user.Username;
                            newpckgadd.AccountNumber             = user.AccountNumber;
                            newpckgadd.BankName                  = user.BankName;
                            newpckgadd.WithdrawalFundMethod      = Common.Enum.PaymentSource.BankAccount.ToString();
                            newpckgadd.AmountPayble              = ewallet.Amount.Value;
                            newpckgadd.WithdrawalFundDescription = ewallet.TransactionSource;
                            newpckgadd.WithdrawalFundCharge      = 0;
                            newpckgadd.Country        = user.Country;
                            newpckgadd.RequestedDate  = DateTime.Now;
                            newpckgadd.ApprovedDate   = null;
                            newpckgadd.PaidDate       = null;
                            newpckgadd.RejectedDate   = null;
                            newpckgadd.IsActive       = true;
                            newpckgadd.IsPending      = true;
                            newpckgadd.IsApproved     = false;
                            newpckgadd.IsPaid         = false;
                            newpckgadd.IsRejected     = false;
                            newpckgadd.UserId         = user.UserId;
                            newpckgadd.EwalletTransId = ewallet.TransactionId;
                            dc.EWalletWithdrawalFunds.Add(newpckgadd);
                            dc.SaveChanges();

                            ModelState.Clear();
                            return(Ok(new { success = true, message = "Successfully Done" }));
                        }
                    }
                    else
                    {
                        return(Ok(new { info = true, message = "You already sended request" }));
                    }
                }
                else
                {
                    return(Ok(new { error = true, message = "unsuccessfully" }));
                }
            }
            //return View();
        }
        public IHttpActionResult EWalletUpgradeInvestment(UserPackageModel model, int userId)
        {
            // var userId = Convert.ToInt32(Session["LogedUserID"].ToString());
            using (SleepingPartnermanagementTestingEntities dc = new SleepingPartnermanagementTestingEntities())
            {
                NewUserRegistration user = dc.NewUserRegistrations.Where(a => a.UserId.Equals(userId)).FirstOrDefault();

                if (user.IsVerify.Value.Equals(true))
                {
                    Package newpckg = dc.Packages.Where(a => a.PackageId.Equals(model.PackageId)).FirstOrDefault();

                    if (model.PackagePurchaseMethod == Common.Enum.UpgradeInvestmentPaymentSource.EWalletBalance)
                    {
                        var Debit = (from eWallTr in dc.EWalletTransactions
                                     where eWallTr.UserId == userId && eWallTr.Credit == false && eWallTr.Debit == true
                                     select eWallTr).ToList();
                        var DebitValue = Debit.Sum(x => x.Amount);

                        var Credit = (from eWallTr in dc.EWalletTransactions
                                      where eWallTr.UserId == userId && eWallTr.Credit == true && eWallTr.Debit == false
                                      select eWallTr).ToList();
                        var CreditValue = Credit.Sum(x => x.Amount);

                        decimal MinVal = Math.Min(DebitValue.Value, CreditValue.Value);
                        decimal MaxVal = Math.Max(DebitValue.Value, CreditValue.Value);

                        var Sum = MaxVal - MinVal;

                        if (Sum >= newpckg.PackagePrice)
                        {
                            if (newpckg != null)
                            {
                                UserPackage userpackage = new UserPackage();
                                userpackage.PackageId                  = newpckg.PackageId;
                                userpackage.PackageName                = newpckg.PackageName;
                                userpackage.PackagePercent             = newpckg.PackagePercent;
                                userpackage.PackagePrice               = newpckg.PackagePrice;
                                userpackage.PackageValidity            = newpckg.PackageValidity;
                                userpackage.PackageMinWithdrawalAmount = newpckg.PackageMinWithdrawalAmount;
                                userpackage.PackageMaxWithdrawalAmount = newpckg.PackageMaxWithdrawalAmount;
                                userpackage.PackagePurchaseMethod      = model.PackagePurchaseMethod;
                                userpackage.UserId            = userId;
                                userpackage.IsInCurrentUse    = false;
                                userpackage.PurchaseDate      = DateTime.Now;
                                userpackage.IsBuyFromEWallet  = true;
                                userpackage.IsBuyFromBankAcnt = false;
                                userpackage.IsRequestedForBuy = true;
                                userpackage.IsApprovedForBuy  = false;
                                userpackage.IsRejectedForBuy  = false;

                                dc.UserPackages.Add(userpackage);
                                dc.SaveChanges();
                                ModelState.Clear();
                                model = null;
                                return(Ok(new { success = true, message = "Package save successfully" }));
                            }
                            else
                            {
                                return(Ok(new { error = true, message = "Unsuccessfull" }));
                            }
                        }
                        else
                        {
                            return(Ok(new { info = true, message = "Your E-wallet balance is not enough to buy package" }));
                        }
                    }
                    if (model.PackagePurchaseMethod == Common.Enum.UpgradeInvestmentPaymentSource.BankAccount)
                    {
                        if (newpckg != null)
                        {
                            UserPackage userpackage = new UserPackage();
                            userpackage.PackageId                  = newpckg.PackageId;
                            userpackage.PackageName                = newpckg.PackageName;
                            userpackage.PackagePercent             = newpckg.PackagePercent;
                            userpackage.PackagePrice               = newpckg.PackagePrice;
                            userpackage.PackageValidity            = newpckg.PackageValidity;
                            userpackage.PackageMinWithdrawalAmount = newpckg.PackageMinWithdrawalAmount;
                            userpackage.PackageMaxWithdrawalAmount = newpckg.PackageMaxWithdrawalAmount;
                            userpackage.PackagePurchaseMethod      = model.PackagePurchaseMethod;
                            userpackage.UserId            = userId;
                            userpackage.IsInCurrentUse    = false;
                            userpackage.PurchaseDate      = DateTime.Now;
                            userpackage.IsBuyFromEWallet  = false;
                            userpackage.IsBuyFromBankAcnt = true;
                            userpackage.IsRequestedForBuy = true;
                            userpackage.IsApprovedForBuy  = false;
                            userpackage.IsRejectedForBuy  = false;

                            var bankSlipImage = model.BankSlipImage;
                            if (bankSlipImage != null)
                            {
                                byte[] bankSlipImageSave = bankSlipImage;
                                userpackage.BankSlipImage = bankSlipImageSave;
                            }
                            //file = Request.Files["AddBankSlipImage"];
                            //userpackage.BankSlipImage = ConvertToBytes(file);

                            dc.UserPackages.Add(userpackage);
                            dc.SaveChanges();
                            ModelState.Clear();
                            model = null;
                            return(Ok(new { success = true, message = "Package save successfully" }));
                        }
                        else
                        {
                            return(Ok(new { error = true, message = "Unsuccessfull" }));
                        }
                    }
                }
                else
                {
                    return(Ok(new { error = true, message = "You are not allowed to purchase package. Please verify your profile" }));
                }
            }
            return(Ok(new { success = true, message = "Package save successfully" }));
            //return RedirectToAction("EWalletUpgradeInvestment");
        }
        public IHttpActionResult EWalletWithdrawalFund(EWalletWithdrawalFundModel model, int userId)
        {
            try
            {
                //  var userId = Convert.ToInt32(Session["LogedUserID"].ToString());
                using (SleepingPartnermanagementTestingEntities dc = new SleepingPartnermanagementTestingEntities())
                {
                    decimal amountcheck               = model.AmountPayble;
                    decimal withdrawalFundCharges     = 0;
                    int     payoutChargesPercent      = 0;
                    decimal payoutChargesPercentValue = 0;
                    decimal minimumPayout             = 0;
                    decimal amountAfterChargesDeduct  = 0;

                    var Debit = (from eWallTr in dc.EWalletTransactions
                                 where eWallTr.UserId == userId && eWallTr.Credit == false &&
                                 eWallTr.Debit == true && eWallTr.IsPackageBonus == true
                                 select eWallTr).ToList();
                    decimal DebitValue = Debit.Sum(x => x.Amount.Value);

                    var Credit = (from eWallTr in dc.EWalletTransactions
                                  where eWallTr.UserId == userId && eWallTr.Credit == true &&
                                  eWallTr.Debit == false && eWallTr.IsPackageBonus == true
                                  select eWallTr).ToList();
                    decimal CreditValue = Credit.Sum(x => x.Amount.Value);

                    decimal minVal = Math.Min(DebitValue, CreditValue);
                    decimal maxVal = Math.Max(DebitValue, CreditValue);

                    decimal Sum = maxVal - minVal;

                    EWalletWithdrawalFund newpckg = dc.EWalletWithdrawalFunds.Where(a => a.WithdrawalFundId.Equals(model.WithdrawalFundId)).FirstOrDefault();
                    NewUserRegistration   user    = dc.NewUserRegistrations.Where(a => a.UserId.Equals(userId)).FirstOrDefault();
                    if (user.IsPaidMember.Value == true)
                    {
                        EWalletPayoutConfig payoutconfig = dc.EWalletPayoutConfigs.FirstOrDefault();
                        minimumPayout = payoutconfig.MinimumPayout.Value;
                        if (model.AmountPayble >= minimumPayout)
                        {
                            if (model.AmountPayble <= Sum)
                            {
                                if (newpckg == null)
                                {
                                    payoutChargesPercent      = payoutconfig.PayoutChargesPercent.Value;
                                    payoutChargesPercentValue = (decimal)payoutChargesPercent / 100; //0.1

                                    withdrawalFundCharges    = model.AmountPayble * payoutChargesPercentValue;
                                    amountAfterChargesDeduct = model.AmountPayble - withdrawalFundCharges;

                                    EWalletWithdrawalFund newpckgadd = new EWalletWithdrawalFund();
                                    newpckgadd.UserName                  = user.Username;
                                    newpckgadd.AccountNumber             = user.AccountNumber; //auto
                                    newpckgadd.BankName                  = user.BankName;      //auto
                                    newpckgadd.WithdrawalFundMethod      = Common.Enum.PaymentSource.BankAccount.ToString();
                                    newpckgadd.AmountPayble              = amountAfterChargesDeduct;
                                    newpckgadd.WithdrawalFundDescription = model.WithdrawalFundDescription;
                                    newpckgadd.WithdrawalFundCharge      = withdrawalFundCharges; //auto
                                    newpckgadd.Country       = user.Country;
                                    newpckgadd.RequestedDate = DateTime.Now;
                                    newpckgadd.ApprovedDate  = null;
                                    newpckgadd.PaidDate      = null;
                                    newpckgadd.RejectedDate  = null;
                                    newpckgadd.IsActive      = true;
                                    newpckgadd.IsPending     = true;
                                    newpckgadd.IsApproved    = false;
                                    newpckgadd.IsPaid        = false;
                                    newpckgadd.IsRejected    = false;
                                    newpckgadd.UserId        = user.UserId;
                                    dc.EWalletWithdrawalFunds.Add(newpckgadd);
                                    dc.SaveChanges();
                                    ModelState.Clear();
                                    //    ViewBag.Message = "Successfully Done";
                                    return(Ok(new { success = true, message = "Successfully Done" }));
                                }
                                //else
                                //{
                                //    newpckg.TimePeriod = model.TimePeriod;
                                //    newpckg.MinimumPayout = model.MinimumPayout;
                                //    newpckg.PayoutChargesPercent = model.PayoutChargesPercent;
                                //    dc.SaveChanges();
                                //    model = null;
                                //    ViewBag.Message = "Successfully Edit";
                                //}
                            }
                            else
                            {
                                return(Ok(new { success = false, message = "Amount must be smaller than the eligible amount" }));
                            }
                        }
                        else
                        {
                            //this.AddNotification("Amount payable is less then minimum range", NotificationType.WARNING);
                            return(Ok(new { success = false, message = "Amount must be greater than the processing charges" }));
                            //return RedirectToAction("EWalletWithdrawalFund");
                        }
                    }
                    else
                    {
                        return(Ok(new { success = false, message = "You are not eligible for withdrawal. Kindly purchase your package." }));
                    }
                }
                //this.AddNotification("Value has bees saved", NotificationType.SUCCESS);
                return(Ok(new { success = true, message = "Successfully Done" }));
            }
            catch (Exception ex)
            {
                return(Ok(new { success = false, message = "exception" }));
            }
            //return View();
        }
        public IHttpActionResult MakeNewUserName(string username, int userId)
        {
            //  var userId = Convert.ToInt32(Session["LogedUserID"].ToString());
            SleepingPartnermanagementTestingEntities     dc     = new SleepingPartnermanagementTestingEntities();
            SleepingPartnermanagementTreeTestingEntities dbTree = new SleepingPartnermanagementTreeTestingEntities();

            NewUserRegistration          newuser = dc.NewUserRegistrations.Where(a => a.UserId.Equals(userId)).FirstOrDefault();
            List <EWalletWithdrawalFund> userEWF = dc.EWalletWithdrawalFunds.Where(a => a.UserId.Value.Equals(userId)).ToList();
            List <ReceiveAdminMessage>   userRAM = dc.ReceiveAdminMessages.Where(a => a.UserId.Value.Equals(userId)).ToList();
            List <ReceiveUserMessage>    userRUM = dc.ReceiveUserMessages.Where(a => a.UserId.Value.Equals(userId)).ToList();
            List <SentAdminMessage>      userSAM = dc.SentAdminMessages.Where(a => a.UserId.Value.Equals(userId)).ToList();
            List <SentUserMessage>       userSUM = dc.SentUserMessages.Where(a => a.UserId.Value.Equals(userId)).ToList();

            List <UserGenealogyTable>      userUGT  = dc.UserGenealogyTables.Where(a => a.UserId.Value.Equals(userId)).ToList();
            List <UserGenealogyTableLeft>  userUGTL = dc.UserGenealogyTableLefts.Where(a => a.UserId.Value.Equals(userId)).ToList();
            List <UserGenealogyTableRight> userUGTR = dc.UserGenealogyTableRights.Where(a => a.UserId.Value.Equals(userId)).ToList();

            List <UserGenealogyTable>      userUGTS  = dc.UserGenealogyTables.Where(a => a.SponsorId.Value.Equals(userId)).ToList();
            List <UserGenealogyTableLeft>  userUGTLS = dc.UserGenealogyTableLefts.Where(a => a.SponsorId.Value.Equals(userId)).ToList();
            List <UserGenealogyTableRight> userUGTRS = dc.UserGenealogyTableRights.Where(a => a.SponsorId.Value.Equals(userId)).ToList();

            List <UserGenealogyTable>      userUGTD  = dc.UserGenealogyTables.Where(a => a.DownlineMemberId.Value.Equals(userId)).ToList();
            List <UserGenealogyTableLeft>  userUGTLD = dc.UserGenealogyTableLefts.Where(a => a.DownlineMemberId.Value.Equals(userId)).ToList();
            List <UserGenealogyTableRight> userUGTRD = dc.UserGenealogyTableRights.Where(a => a.DownlineMemberId.Value.Equals(userId)).ToList();

            UserTableLevel userUTL = dc.UserTableLevels.Where(a => a.UserId.Value.Equals(userId)).FirstOrDefault();

            if (newuser != null)
            {
                NewUserRegistration usernamecheck = dc.NewUserRegistrations.Where(a => a.Username.Equals(username)).FirstOrDefault();
                if (usernamecheck == null)
                {
                    newuser.Username = username;
                    dbTree.update_tree_name(userId, username);
                    if (userEWF != null)
                    {
                        foreach (var item in userEWF)
                        {
                            item.UserName = username;
                        }
                    }
                    if (userRAM != null)
                    {
                        foreach (var item in userRAM)
                        {
                            item.Sender_Name = username;
                        }
                    }
                    if (userRUM != null)
                    {
                        foreach (var item in userRUM)
                        {
                            item.Sender_Name = username;
                        }
                    }
                    if (userSAM != null)
                    {
                        foreach (var item in userSAM)
                        {
                            item.Sender_Name = username;
                        }
                    }
                    if (userSUM != null)
                    {
                        foreach (var item in userSUM)
                        {
                            item.Sender_Name = username;
                        }
                    }
                    //
                    if (userUGT != null)
                    {
                        foreach (var item in userUGT)
                        {
                            item.UserName = username;
                        }
                    }
                    if (userUGTL != null)
                    {
                        foreach (var item in userUGTL)
                        {
                            item.UserName = username;
                        }
                    }
                    if (userUGTR != null)
                    {
                        foreach (var item in userUGTR)
                        {
                            item.UserName = username;
                        }
                    }
                    //
                    if (userUGTS != null)
                    {
                        foreach (var item in userUGTS)
                        {
                            item.SponsorName = username;
                        }
                    }
                    if (userUGTLS != null)
                    {
                        foreach (var item in userUGTLS)
                        {
                            item.SponsorName = username;
                        }
                    }
                    if (userUGTRS != null)
                    {
                        foreach (var item in userUGTRS)
                        {
                            item.SponsorName = username;
                        }
                    }
                    //
                    if (userUGTD != null)
                    {
                        foreach (var item in userUGTD)
                        {
                            item.DownlineMemberName = username;
                        }
                    }
                    if (userUGTLD != null)
                    {
                        foreach (var item in userUGTLD)
                        {
                            item.DownlineMemberName = username;
                        }
                    }
                    if (userUGTRD != null)
                    {
                        foreach (var item in userUGTRD)
                        {
                            item.DownlineMemberName = username;
                        }
                    }

                    if (userUTL != null)
                    {
                        userUTL.UserName = username;
                    }

                    dc.SaveChanges();
                    ModelState.Clear();
                    return(Ok(new { success = true, message = "Update Successfully" }));
                }
                else
                {
                    return(Ok(new { success = false, message = "This user name is exist. Kindly change your username" }));
                }
            }

            return(Ok(new { success = true, message = "Update Successfully" }));

            //this.AddNotification("Your profile has bees saved", NotificationType.SUCCESS);
            //return RedirectToAction("ProfileSetup");
            //return RedirectToAction("Index", "Dashboard", model);
        }