//replaced with multiple update
        //public ActionResult VoucherCashIn()
        //{
        //    List<BetData> bets = new List<BetData>();
        //    Guid betGUID;
        //    bool isGUID = Guid.TryParse(Request["hfBetGUID"], out betGUID);

        //    try
        //    {
        //        //najprej spremenimo status stave
        //        IBetDataRepository repository = new BetDataRepository();

        //        if (isGUID)
        //        {
        //            //ČE JE BET SKLENJEN DAMO STATUS NA PRVI UNOVČEN KUPON, DRUGAČE JE PRVI KUPON UNOVČEN IN DAMO STATUS NA DRUGI UNOVČEN KUPON
        //            int newBetStatusID = Convert.ToInt32(Request["hfBetStatus"]) == 110 ? 112 : 113;
        //            repository.VoucherUpdateStatus(betGUID, newBetStatusID);

        //            //ZAPIŠEMO HISTORY!!!
        //            //NI PRAV NI PRAV NI PRAV NI PRAV NI PRAV NI PRAV NI PRAV NI PRAV
        //            new EventData(betGUID, WebSecurity.GetUserId(User.Identity.Name), 204).Add();
        //        }

        //        bets = repository.SelectVouchersByCode(Request["hfVoucherCode"]);
        //    }
        //    catch (Exception exc)
        //    {
        //        NeoException.Handle(exc);
        //    }

        //    return PartialView("_VoucherByCodePartial", bets);
        //}

        public ActionResult VoucherList()
        {
            BetDataRepository repo = new BetDataRepository();
            var voucherList        = repo.SelectVouchers();

            return(View(voucherList));
        }
        public ActionResult Index(string Id, int Type, int NextActivity, int NextStatus)
        {
            BetDataRepository _repositoryB = new BetDataRepository();

            switch (NextActivity)
            {
            case 202:
                return(RedirectToAction("Invited", "Home", new { id = Id, type = Type }));

            case 203:
                _repositoryB.VoucherUpdateStatus(Guid.Parse(Id), NextStatus);

                //ZAPIŠEMO HISTORY!!!
                new EventData(Guid.Parse(Id), WebSecurity.GetUserId(User.Identity.Name), NextActivity).Add();
                break;

            default:
                break;
            }

            List <BetData> bets = new List <BetData>();

            bets = _repositoryB.SelectVouchers(WebSecurity.GetUserId(User.Identity.Name));

            ViewBag.ActiveLink = 0;
            return(View("Index", bets));
        }
Ejemplo n.º 3
0
        public ActionResult SupportFriendPlaceBet()
        {
            int    amount = 0; Int32.TryParse(Request["hfAmount"], out amount);
            string name   = Request["tbName"];
            string email  = Request["tbEmail"];

            //DO THE MAGIC HERE

            IUserDataRepository _repositoryU = new UserDataRepository();

            UserData user = new UserData();

            user = _repositoryU.FindByUsername(email);

            if (user == null)
            {
                user          = new UserData();
                user.FullName = name;
                if (String.IsNullOrEmpty(name) || name == null)
                {
                    user.FullName = email;
                }
                user.Email = email;
                user       = _repositoryU.Insert(user);
            }

            IBetDataRepository _repositoryB = new BetDataRepository();
            BetData            bet          = new BetData();

            bet.Username    = User.Identity.Name;
            bet.User2ID     = user.UserID;
            bet.BetActionID = 114;
            bet.BetValue    = amount;
            bet             = _repositoryB.Insert(bet);

            //ZAPIŠEMO HISTORY!!!
            new EventData(bet.Guid, WebSecurity.GetUserId(User.Identity.Name), 114).Add();

            string hostName  = System.Configuration.ConfigurationManager.AppSettings["HostName"];
            string inviteUrl = hostName + "Home/Invited/" + bet.Guid + "/" + bet.BetActionID;
            string mailBody  = "Hi " + name + ",<br><br>";

            mailBody += User.Identity.Name + " is so certain of your driving skills he is prepared to bet €" + amount.ToString() + " on that.<br><br>";
            mailBody += "Join SupportFriend, the social insurance provider and get up to 80% discount on your car insurance, now! <br><br>";
            mailBody += inviteUrl;

            //Code.BasicMailing.SendEmail(email, "", User.Identity.Name + " wants to support you on SupportFriend", mailBody);

            return(Content("<li>" + email + "</li>"));
            /*return RedirectToAction("Index", "Dashboard");*/
            //return View("Support-Me");
        }
Ejemplo n.º 4
0
        public JsonResult FacebookMessage(string amount, string betActionID, HttpPostedFileBase uplFile)
        {
            int amountInt = 0; Int32.TryParse(amount, out amountInt);


            IBetDataRepository _repositoryB = new BetDataRepository();
            BetData            bet          = new BetData();

            bet.Username    = User.Identity.Name;
            bet.User2ID     = 0;
            bet.BetActionID = Convert.ToInt16(betActionID);
            bet.BetValue    = amountInt;

            string extension = String.Empty;

            if (uplFile != null && uplFile.ContentLength > 0)
            {
                extension         = uplFile.FileName.Substring(uplFile.FileName.IndexOf(".") + 1, uplFile.FileName.Length - uplFile.FileName.IndexOf(".") - 1).ToLower();
                bet.FileExtension = extension;
            }

            bet = _repositoryB.Insert(bet);

            if (uplFile != null && uplFile.ContentLength > 0)
            {
                int tmpuserID = WebSecurity.GetUserId(User.Identity.Name);

                var fileName = bet.Guid.ToString() + "_" + tmpuserID + "." + extension;//Path.GetFileName(uplFile.FileName);
                var path     = Path.Combine(Server.MapPath("~/upload/policies/"), fileName);
                uplFile.SaveAs(path);

                IFileDataRepository repositoryF = new FileDataRepository();
                FileData            file        = new FileData();
                file.BetGuid       = bet.Guid;
                file.FileTypeID    = 207; //POLICY
                file.FileExtension = extension;
                file.FilePath      = path;
                file.InsertUserID  = tmpuserID;

                repositoryF.Insert(file);
            }



            //ZAPIŠEMO HISTORY!!!
            new EventData(bet.Guid, WebSecurity.GetUserId(User.Identity.Name), Convert.ToInt16(betActionID)).Add();

            string hostName = System.Configuration.ConfigurationManager.AppSettings["HostName"];

            return(Json(new { success = true, host = hostName, guid = bet.Guid, action = betActionID }, JsonRequestBehavior.AllowGet));
        }
        //
        // GET: /Dashboard/

        public ActionResult Index()
        {
            List <BetData>    bets         = new List <BetData>();
            BetDataRepository _repositoryB = new BetDataRepository();

            bets = _repositoryB.SelectVouchers(WebSecurity.GetUserId(User.Identity.Name));
            int    totalValue = 0;
            string friends    = "";

            foreach (BetData b in bets)
            {
                string color = ((b.BetValue == 500) ? "red" : ((b.BetValue == 200) ? "violet" : ((b.BetValue == 100) ? "blue" : "")));
                string user  = b.User2;
                if (user != null && user.Contains(" "))
                {
                    user = user.Remove(user.IndexOf(" "));
                }

                if (b.IsSupporter && b.BetStatusID == BetStatus.Voucher1Cashed)
                {
                    totalValue += Convert.ToInt32(b.Voucher1Value);
                }

                else if (!b.IsSupporter && b.BetStatusID == BetStatus.Guaranteed)
                {
                    totalValue += Convert.ToInt32(b.Voucher2Value);
                }

                if (b.User2ID != 0)
                {
                    friends += "<div class=\"friend\">" +
                               "<div class=\"circle " + color + "\"></div>" +
                               "<div class=\"name\">" + user + "</div>" +
                               "</div>";
                }
            }

            ViewBag.FriendsList = friends;
            ViewBag.TotalValue  = totalValue;

            if (TempData.ContainsKey("NeoNotification"))
            {
                NotificationModel notification = (NotificationModel)TempData["NeoNotification"];
                ViewBag.Notification = notification;
            }

            ViewBag.ActiveLink = 0;
            return(View(bets));
        }
        public ActionResult FindVoucherByCode()
        {
            List <BetData> bets = new List <BetData>();

            try
            {
                IBetDataRepository repository = new BetDataRepository();
                bets = repository.SelectVouchersByCode(Request["tbVoucherCode"]);
            }
            catch (Exception exc)
            {
                NeoException.Handle(exc);
            }

            return(PartialView("_VoucherByCodePartial", bets));
        }
        public ActionResult VouchersCashIn(List <BetData> bets)
        {
            foreach (BetData b in bets)
            {
                if (b.CashIn)
                {
                    Guid betGUID;
                    bool isGUID = Guid.TryParse(b.Guid.ToString(), out betGUID);

                    try
                    {
                        //najprej spremenimo status stave
                        IBetDataRepository repository = new BetDataRepository();

                        if (isGUID)
                        {
                            //ČE JE BET SKLENJEN DAMO STATUS NA PRVI UNOVČEN KUPON, DRUGAČE JE PRVI KUPON UNOVČEN IN DAMO STATUS NA DRUGI UNOVČEN KUPON
                            int newBetStatusID = Convert.ToInt32(b.BetStatusID) == 110 ? 112 : 113;
                            repository.VoucherUpdateStatusAndReference(betGUID, newBetStatusID, Request["tbReference"]);
                            b.BetStatusID       = newBetStatusID.ToEnum <BetStatus>();
                            b.Voucher1Reference = Request["tbReference"];

                            //ZAPIŠEMO HISTORY!!!
                            //NI PRAV NI PRAV NI PRAV NI PRAV NI PRAV NI PRAV NI PRAV NI PRAV
                            //UPDATE: MALO MANJ NI PRAV AMPAK ZDAJ NE VEMO KATER AGENT JE AKTIVIRAL KUPON
                            new EventData(betGUID, newBetStatusID == 112 ? -1 : -2, 204).Add();
                        }

                        bets = repository.SelectVouchersByCode(b.Voucher1Code);
                    }
                    catch (Exception exc)
                    {
                        NeoException.Handle(exc);
                    }
                }
            }

            //IBetDataRepository repository2 = new BetDataRepository();
            //bets = repository2.SelectVouchersByCode(Request["hfVoucherCode"]);


            return(PartialView("_VoucherByCodePartial", bets));
        }
Ejemplo n.º 8
0
        public ActionResult Invited()
        {
            BetData bet = new BetData();

            ViewBag.Invitation   = false;
            ViewBag.ActionTypeID = 0;

            if (RouteData.Values["id"] != null)
            {
                int actionTypeID = 0;
                int.TryParse(RouteData.Values["type"].ToString(), out actionTypeID);

                ViewBag.Invitation   = true;
                ViewBag.ActionTypeID = actionTypeID;


                IBetDataRepository _repositoryB = new BetDataRepository();
                bet = _repositoryB.Find(new Guid(RouteData.Values["id"].ToString()), actionTypeID);

                if (bet != null)
                {
                    ViewBag.TotalVouchers = Convert.ToInt32(bet.Voucher1Value) + Convert.ToInt32(bet.Voucher2Value);
                }
            }

            TempData["BetData"] = bet;

            if (bet != null)
            {
                if (((int)bet.BetStatusID) > 101)
                {
                    return(RedirectToAction("Index", "Dashboard"));
                }
                else
                {
                    return(View("Invited", bet));
                }
            }
            else
            {
                return(Redirect("~/"));
            }
        }
        public ActionResult PostCreditInfo(string Id, int Type, int NextActivity, int NextStatus, HttpPostedFileBase uplFile)
        {
            BetDataRepository _repositoryB = new BetDataRepository();

            Guid tmpGuid = Guid.Parse(Id);

            _repositoryB.VoucherUpdateStatus(tmpGuid, NextStatus);

            string extension = String.Empty;

            if (uplFile != null && uplFile.ContentLength > 0)
            {
                extension = uplFile.FileName.Substring(uplFile.FileName.IndexOf(".") + 1, uplFile.FileName.Length - uplFile.FileName.IndexOf(".") - 1).ToLower();

                int tmpuserID = WebSecurity.GetUserId(User.Identity.Name);

                var fileName = tmpGuid.ToString() + "_" + tmpuserID + "." + extension;//Path.GetFileName(uplFile.FileName);
                var path     = Path.Combine(Server.MapPath("~/upload/credit-notes/"), fileName);
                uplFile.SaveAs(path);

                IFileDataRepository repositoryF = new FileDataRepository();
                FileData            file        = new FileData();
                file.BetGuid       = tmpGuid;
                file.FileTypeID    = 208; //CREDIT NOTE
                file.FileExtension = extension;
                file.FilePath      = path;
                file.InsertUserID  = tmpuserID;

                repositoryF.Insert(file);
            }

            //ZAPIŠEMO HISTORY!!!
            new EventData(Guid.Parse(Id), WebSecurity.GetUserId(User.Identity.Name), !String.IsNullOrEmpty(extension) ? 209: NextActivity).Add();

            List <BetData> bets = new List <BetData>();

            bets = _repositoryB.SelectVouchers(WebSecurity.GetUserId(User.Identity.Name));

            ViewBag.ActiveLink = 0;
            return(RedirectToAction("Index"));
        }
        public ActionResult BetList(string sortOrder)
        {
            ViewBag.ActiveLink = 1;
            BetDataRepository repo = new BetDataRepository();

            ViewBag.User1SortParam          = String.IsNullOrEmpty(sortOrder) ? "user1_desc" : "";
            ViewBag.User2SortParam          = sortOrder == "user2" ? "user2_desc" : "user2";
            ViewBag.SupportValueSortParam   = sortOrder == "supportValue" ? "supportValue_desc" : "supportValue";
            ViewBag.StatusSortParam         = sortOrder == "status" ? "status_desc" : "status";
            ViewBag.VoucherAValueSortParam  = sortOrder == "voucherAValue" ? "voucherAValue_desc" : "voucherAValue";
            ViewBag.VoucherACodeSortParam   = sortOrder == "voucherACode" ? "voucherACode_desc" : "voucherACode";
            ViewBag.VoucherAStatusSortParam = sortOrder == "voucherAStatus" ? "voucherAStatus_desc" : "voucherAStatus";
            ViewBag.VoucherBValueSortParam  = sortOrder == "voucherBValue" ? "voucherBValue_desc" : "voucherBValue";
            ViewBag.VoucherBCodeSortParam   = sortOrder == "voucherBCode" ? "voucherBCode_desc" : "voucherBCode";
            ViewBag.VoucherBStatusSortParam = sortOrder == "voucherBStatus" ? "voucherBStatus_desc" : "voucherBStatus";
            ViewBag.InsertDateSortParam     = sortOrder == "insertDate" ? "insertDate_desc" : "insertDate";

            var betList = repo.SelectList();

            switch (sortOrder)
            {
            case "user1_desc":
                betList = betList.OrderByDescending(s => s.User1).ToList();
                break;

            case "user2":
                betList = betList.OrderBy(s => s.User2).ToList();
                break;

            case "user2_desc":
                betList = betList.OrderByDescending(s => s.User2).ToList();
                break;

            case "supportValue":
                betList = betList.OrderBy(s => s.BetValue).ToList();
                break;

            case "supportValue_desc":
                betList = betList.OrderByDescending(s => s.BetValue).ToList();
                break;

            case "status":
                betList = betList.OrderBy(s => s.BetStatus).ToList();
                break;

            case "status_desc":
                betList = betList.OrderByDescending(s => s.BetStatus).ToList();
                break;

            case "voucherAValue":
                betList = betList.OrderBy(s => s.Voucher1Value).ToList();
                break;

            case "voucherAValue_desc":
                betList = betList.OrderByDescending(s => s.Voucher1Value).ToList();
                break;

            case "voucherACode":
                betList = betList.OrderBy(s => s.Voucher1Code).ToList();
                break;

            case "voucherACode_desc":
                betList = betList.OrderByDescending(s => s.Voucher1Code).ToList();
                break;

            case "voucherAStatus":
                betList = betList.OrderBy(s => s.Voucher1Status).ToList();
                break;

            case "voucherAStatus_desc":
                betList = betList.OrderByDescending(s => s.Voucher1Status).ToList();
                break;

            case "voucherBValue":
                betList = betList.OrderBy(s => s.Voucher2Value).ToList();
                break;

            case "voucherBValue_desc":
                betList = betList.OrderByDescending(s => s.Voucher2Value).ToList();
                break;

            case "voucherBCode":
                betList = betList.OrderBy(s => s.Voucher2Code).ToList();
                break;

            case "voucherBCode_desc":
                betList = betList.OrderByDescending(s => s.Voucher2Code).ToList();
                break;

            case "voucherBStatus":
                betList = betList.OrderBy(s => s.Voucher2Status).ToList();
                break;

            case "voucherBStatus_desc":
                betList = betList.OrderByDescending(s => s.Voucher2Status).ToList();
                break;

            case "insertDate":
                betList = betList.OrderBy(s => s.InsertDate).ToList();
                break;

            case "insertDate_desc":
                betList = betList.OrderByDescending(s => s.InsertDate).ToList();
                break;

            default:
                betList = betList.OrderBy(s => s.User1).ToList();
                break;
            }
            return(View(betList));
        }
Ejemplo n.º 11
0
        public ActionResult SupportMePlaceBet(HttpPostedFileBase uplFile)
        {
            int    amount = 0; Int32.TryParse(Request["hfAmount"], out amount);
            string name   = Request["tbName"];
            string email  = Request["tbEmail"];

            //DO THE MAGIC HERE

            IUserDataRepository _repositoryU = new UserDataRepository();

            UserData user = new UserData();

            user = _repositoryU.FindByUsername(email);

            if (user == null)
            {
                user          = new UserData();
                user.FullName = name;
                if (String.IsNullOrEmpty(name) || name == null)
                {
                    user.FullName = email;
                }
                user.Email = email;
                user       = _repositoryU.Insert(user);
            }

            IBetDataRepository _repositoryB = new BetDataRepository();
            BetData            bet          = new BetData();

            bet.Username    = User.Identity.Name;
            bet.User2ID     = user.UserID;
            bet.BetActionID = 115;
            bet.BetValue    = amount;

            string extension = String.Empty;

            if (uplFile != null && uplFile.ContentLength > 0)
            {
                extension         = uplFile.FileName.Substring(uplFile.FileName.IndexOf(".") + 1, uplFile.FileName.Length - uplFile.FileName.IndexOf(".") - 1).ToLower();
                bet.FileExtension = extension;
            }

            bet = _repositoryB.Insert(bet);

            if (uplFile != null && uplFile.ContentLength > 0)
            {
                int tmpuserID = WebSecurity.GetUserId(User.Identity.Name);

                var fileName = bet.Guid.ToString() + "_" + tmpuserID + "." + extension;//Path.GetFileName(uplFile.FileName);
                var path     = Path.Combine(Server.MapPath("~/upload/policies/"), fileName);
                uplFile.SaveAs(path);

                IFileDataRepository repositoryF = new FileDataRepository();
                FileData            file        = new FileData();
                file.BetGuid       = bet.Guid;
                file.FileTypeID    = 207; //POLICY
                file.FileExtension = extension;
                file.FilePath      = path;
                file.InsertUserID  = tmpuserID;

                repositoryF.Insert(file);
            }

            //ZAPIŠEMO HISTORY!!!
            new EventData(bet.Guid, WebSecurity.GetUserId(User.Identity.Name), 115).Add();

            string hostName  = System.Configuration.ConfigurationManager.AppSettings["HostName"];
            string inviteUrl = hostName + "Home/Invited/" + bet.Guid + "/" + bet.BetActionID;
            string mailBody  = "Hi " + name + ",<br><br>";

            mailBody += User.Identity.Name + " is hoping you can confirm his driving skills and bet €" + amount.ToString() + " on that.<br><br>";
            mailBody += "Join SupportFriend, the social insurance provider and get up to 80% discount on your car insurance, now! <br><br>";
            mailBody += inviteUrl;

            //Code.BasicMailing.SendEmail(email, "", User.Identity.Name + " needs your support on SupportFriend", mailBody);

            return(Content("<li>" + email + "</li>"));

            //return RedirectToAction("Index", "Dashboard");
            //return View("Support-Me");
        }
Ejemplo n.º 12
0
        public ActionResult RegisterPopup(RegisterModel model)
        {
            try
            {
                Guid id = Guid.Empty;

                //ČE JE POVABLJEN POBEREMO GUID
                if (RouteData.Values["id"] != null)
                {
                    Guid.TryParse(RouteData.Values["id"].ToString(), out id);
                    ViewBag.ID = id;
                }

                if (ModelState.IsValid)
                {
                    // Attempt to register the user
                    try
                    {
                        if (String.IsNullOrEmpty(model.UserName))
                        {
                            model.UserName = model.Email;
                        }

                        if (!WebSecurity.UserExists(model.UserName))
                        {
                            WebSecurity.CreateUserAndAccount(model.UserName, model.Password, new { Email = model.Email, FullName = !String.IsNullOrEmpty(model.FullName) ? model.FullName : model.UserName });
                        }
                        else
                        {
                            WebSecurity.CreateAccount(model.UserName, model.Password);
                        }

                        WebSecurity.Login(model.UserName, model.Password);

                        //POVEŽEMO PRIJATELJA
                        //if(id != Guid.Empty)
                        //{
                        //    IUserDataRepository _repository = new UserDataRepository();
                        //    int userID = WebSecurity.GetUserId(model.UserName);
                        //    _repository.AddFriend(userID, id);
                        //}

                        //UPDATEAMO BET
                        if (id != Guid.Empty)
                        {
                            IBetDataRepository _repositoryB = new BetDataRepository();
                            int userID = WebSecurity.GetUserId(model.UserName);
                            //if (userID == -1)
                            //{
                            //    IUserDataRepository _repositoryU = new UserDataRepository();

                            //    UserData user = new UserData();
                            //    user = _repositoryU.FindByUsername(User.Identity.Name);
                            //    userID = user.UserID;
                            //}

                            BetData bet = new BetData();
                            bet.Guid        = id;
                            bet.BetActionID = Convert.ToInt16(RouteData.Values["type"]);

                            if (bet.BetActionID == 115)
                            {
                                bet.User1ID = userID;
                            }
                            else
                            {
                                bet.User2ID = userID;
                            }

                            bet.BetStatusID = Request.QueryString["betStatus"].ToEnum <BetStatus>();
                            _repositoryB.Update(bet);

                            //ZAPIŠEMO HISTORY!!!
                            new EventData(bet.Guid, userID, bet.BetStatusID == BetStatus.Accepted ? 202 : 206).Add();

                            return(RedirectToAction("Index", "Dashboard"));
                        }

                        //return RedirectToAction("Index", "Bet");
                        return(RedirectToAction("Support-Me", "Bet"));
                    }
                    catch (MembershipCreateUserException e)
                    {
                        ModelState.AddModelError("", ErrorCodeToString(e.StatusCode));
                    }
                }

                // If we got this far, something failed, redisplay form
                return(PartialView("_RegisterPopup", model));
            }
            catch (Exception e)
            {
                Neolab.Common.NeoException.Handle(e);
                return(RedirectToAction("Index", "Error"));
            }
        }
Ejemplo n.º 13
0
        public ActionResult LoginPopup(LoginModel model, string returnUrl)
        {
            try
            {
                if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
                {
                    Guid id = Guid.Empty;

                    //ČE JE POVABLJEN POBEREMO GUID
                    if (RouteData.Values["id"] != null)
                    {
                        Guid.TryParse(RouteData.Values["id"].ToString(), out id);
                        ViewBag.ID = id;
                    }

                    //UPDATEAMO BET
                    if (id != Guid.Empty)
                    {
                        IBetDataRepository _repositoryB = new BetDataRepository();
                        int userID = WebSecurity.GetUserId(model.UserName);

                        BetData bet = new BetData();
                        bet.Guid        = id;
                        bet.BetActionID = Convert.ToInt16(RouteData.Values["type"]);

                        if (bet.BetActionID == 115)
                        {
                            bet.User1ID = userID;
                        }
                        else
                        {
                            bet.User2ID = userID;
                        }

                        bet.BetStatusID = Request.QueryString["betStatus"].ToEnum <BetStatus>();
                        _repositoryB.Update(bet);

                        //ZAPIŠEMO HISTORY!!!
                        new EventData(bet.Guid, userID, bet.BetStatusID == BetStatus.Accepted ? 202 : 206).Add();

                        //redirect
                        if (returnUrl != null)
                        {
                            return(RedirectToLocal(returnUrl));
                        }
                        else
                        {
                            //return RedirectToAction("Index", "Dashboard");
                            return(RedirectToAction("Index", "Dashboard", new { popup = "typeCredit" + bet.BetID }));
                        }
                    }

                    //return RedirectToAction("Index", "Bet");
                    //return RedirectToAction("Support-Me", "Bet");
                    return(Redirect("/Bet/Support-Me"));
                }

                // If we got this far, something failed, redisplay form
                ModelState.AddModelError("", "The user name or password provided is incorrect.");
                return(PartialView("_LoginPopup", model));
            }
            catch (Exception e)
            {
                Neolab.Common.NeoException.Handle(e);
                return(RedirectToAction("Index", "Error"));
            }
        }
Ejemplo n.º 14
0
        public ActionResult ExternalLoginCallback(string returnUrl)
        {
            try
            {
                int tmpUserID = -1;

                AuthenticationResult result = OAuthWebSecurity.VerifyAuthentication(Url.Action("ExternalLoginCallback", new { ReturnUrl = returnUrl }));
                if (!result.IsSuccessful)
                {
                    TempData["Error"] = "Error description: " + result.Error + " " + result.IsSuccessful.ToString();
                    return(RedirectToAction("ExternalLoginFailure"));
                }

                if (OAuthWebSecurity.Login(result.Provider, result.ProviderUserId, createPersistentCookie: false))
                {
                    //return RedirectToLocal(returnUrl);
                    tmpUserID = WebSecurity.GetUserId(result.UserName);
                }

                if (User.Identity.IsAuthenticated)
                {
                    // If the current user is logged in add the new account
                    OAuthWebSecurity.CreateOrUpdateAccount(result.Provider, result.ProviderUserId, User.Identity.Name);
                    //return RedirectToLocal(returnUrl);
                    tmpUserID = WebSecurity.GetUserId(result.UserName);
                }
                else
                {
                    // User is new, ask for their desired membership name
                    string loginData = OAuthWebSecurity.SerializeProviderUserId(result.Provider, result.ProviderUserId);
                    ViewBag.ProviderDisplayName = OAuthWebSecurity.GetOAuthClientData(result.Provider).DisplayName;
                    ViewBag.ReturnUrl           = returnUrl;
                    //return View("ExternalLoginConfirmation", new RegisterExternalLoginModel { UserName = result.UserName, ExternalLoginData = loginData });

                    RegisterExternalLoginModel model = new RegisterExternalLoginModel {
                        UserName = result.UserName, Email = result.ExtraData["email"], FullName = result.ExtraData["name"], ExternalLoginData = loginData
                    };
                    string provider       = null;
                    string providerUserId = null;

                    if (User.Identity.IsAuthenticated || !OAuthWebSecurity.TryDeserializeProviderUserId(model.ExternalLoginData, out provider, out providerUserId))
                    {
                        return(RedirectToAction("Manage"));
                    }

                    if (ModelState.IsValid)
                    {
                        //Insert a new user into the database
                        using (UsersContext db = new UsersContext())
                        {
                            UserProfile user = db.UserProfiles.FirstOrDefault(u => u.UserName.ToLower() == model.UserName.ToLower());
                            // Check if user already exists
                            if (user == null)
                            {
                                // Insert name into the profile table
                                //GREGA HACKS -- > model.username v providerUserID
                                //db.UserProfiles.Add(new UserProfile { UserName = model.UserName, UserGuid = Guid.NewGuid(), FullName = model.UserName });
                                db.UserProfiles.Add(new UserProfile {
                                    UserName = model.UserName, UserGuid = Guid.NewGuid(), FullName = model.FullName, Email = model.Email
                                });
                                db.SaveChanges();

                                //GREGA HACKS -- > model.username v providerUserID
                                OAuthWebSecurity.CreateOrUpdateAccount(provider, providerUserId, model.UserName); //???model.Email???
                                                                                                                  //OAuthWebSecurity.CreateOrUpdateAccount(provider, providerUserId, providerUserId);

                                OAuthWebSecurity.Login(provider, providerUserId, createPersistentCookie: false);

                                tmpUserID = WebSecurity.GetUserId(result.UserName);
                            }
                            else
                            {
                                ModelState.AddModelError("UserName", "User name already exists. Please enter a different user name.");
                            }
                        }
                    }
                }

                List <FacebookFriend> friendsList  = FacebookDataHelper.GetFriends();
                IUserDataRepository   _repositoryU = new UserDataRepository();
                _repositoryU.AddFBFriends(result.UserName, friendsList);

                if (tmpUserID != -1)
                {
                    Guid id = Guid.Empty;
                    if (RouteData.Values["id"] != null)
                    {
                        Guid.TryParse(RouteData.Values["id"].ToString(), out id);
                    }

                    //UPDATEAMO BET
                    if (id != Guid.Empty)
                    {
                        IBetDataRepository _repositoryB = new BetDataRepository();

                        BetData bet = new BetData();
                        bet.Guid        = id;
                        bet.BetActionID = Convert.ToInt16(RouteData.Values["type"]);

                        if (bet.BetActionID == 115)
                        {
                            bet.User1ID = tmpUserID;
                        }
                        else
                        {
                            bet.User2ID = tmpUserID;
                        }

                        bet.BetStatusID = BetStatus.Accepted;  ///!!!!Request.QueryString["betStatus"].ToEnum<BetStatus>();
                        _repositoryB.Update(bet);

                        //ZAPIŠEMO HISTORY!!!
                        new EventData(bet.Guid, tmpUserID, bet.BetStatusID == BetStatus.Accepted ? 202 : 206).Add();

                        return(RedirectToAction("Index", "Dashboard", new { popup = "typeCredit" + bet.BetID }));
                    }

                    //return RedirectToAction("Index", "Bet");
                    return(RedirectToAction("Support-Me", "Bet"));
                }
                else
                {
                    ModelState.AddModelError("", "The user name or password provided is incorrect.");
                    return(View());
                }
            }
            catch (Exception e)
            {
                Neolab.Common.NeoException.Handle(e);
                return(RedirectToAction("Index", "Error"));
            }
        }
Ejemplo n.º 15
0
        public ActionResult Respond(bool accept)
        {
            IBetDataRepository _repositoryB = new BetDataRepository();
            BetData            bet          = (BetData)TempData["BetData"];
            int?userID = null;

            if (User.Identity.IsAuthenticated)
            {
                userID = (int)Membership.GetUser().ProviderUserKey;
            }

            if (userID == null)
            {
                userID = 0;
            }

            //if (userID != null) //sem zlogiran
            //{
            if (bet.BetActionID == 115)   //jaz stavim (operiram z User1ID)
            {
                if (bet.User1ID == 0)     //povabljen sem prek FB
                {
                    bet.Guid        = Guid.Parse(RouteData.Values["id"].ToString());
                    bet.User1ID     = (int)userID;
                    bet.BetStatusID = accept ? BetStatus.Accepted : BetStatus.Rejected;
                    _repositoryB.Update(bet);     //update-am bet s svojim ID-jem in statusom

                    //ZAPIŠEMO HISTORY!!!
                    new EventData(bet.Guid, (int)userID, accept ? 202 : 206).Add();
                }
                else if (bet.User1ID == userID)     //sem logiran in sem povabljen user
                {
                    bet.Guid        = Guid.Parse(RouteData.Values["id"].ToString());
                    bet.BetStatusID = accept ? BetStatus.Accepted : BetStatus.Rejected;
                    _repositoryB.Update(bet);     //update-am bet status

                    //ZAPIŠEMO HISTORY!!!
                    new EventData(bet.Guid, (int)userID, accept ? 202 : 206).Add();
                }
            }
            else if (bet.BetActionID == 114) //nekdo stavi name (operiram z User2ID)
            {
                if (bet.User2ID == 0)        //povabljen sem prek FB
                {
                    bet.Guid        = Guid.Parse(RouteData.Values["id"].ToString());
                    bet.User2ID     = (int)userID;
                    bet.BetStatusID = accept ? BetStatus.Accepted : BetStatus.Rejected;
                    _repositoryB.Update(bet);     //update-am bet s svojim ID-jem in statusom

                    //ZAPIŠEMO HISTORY!!!
                    new EventData(bet.Guid, (int)userID, accept ? 202 : 206).Add();
                }
                else if (bet.User2ID == userID)     //sem logiran in sem povabljen user
                {
                    bet.Guid        = Guid.Parse(RouteData.Values["id"].ToString());
                    bet.BetStatusID = accept ? BetStatus.Accepted : BetStatus.Rejected;
                    _repositoryB.Update(bet);     //update-am bet status

                    //ZAPIŠEMO HISTORY!!!
                    new EventData(bet.Guid, (int)userID, accept ? 202 : 206).Add();
                }
            }
            //}
            //else
            //{
            //    return RedirectToAction("Register", "Account", new { id = RouteData.Values["id"], type = RouteData.Values["type"], betStatus = accept ? 102 : 103 }); //preusmerim na registracijo
            //}

            if (userID == 0)
            {
                return(Redirect("~/"));
            }
            else
            {
                return(RedirectToAction("Index", "Dashboard", new { popup = "typeCredit" + bet.BetID }));
            }
        }