Пример #1
0
        public ActionResult ChangePassword(UserVM registration)
        {
            var employee = db.Employees.First(u => u.UserID == registration.UserID);

            try
            {
                var membership = (SimpleMembershipProvider)Membership.Provider;
                var user       = employee.User;
                if (!membership.ChangePassword(user.UserName, registration.OldPassword, registration.NewPassword))
                {
                    Error("A senha está incorreta.");
                    var ranking = new RankingVM(db.Employees.ToList(), employee.GetType());
                    return(View(new MemberEditProfileVM
                    {
                        User = new UserVM().Start(employee, EditUserMode.PASSWORD, "Modificar"),
                        Employee = new EmployeeVM().Start(employee, ranking.RankingFor(employee))
                    }));
                }
            }
            catch (Exception)
            {
                Error("Houve um erro na modificação de sua senha, por favor tente novamente mais tarde.");
                return(RedirectToAction("Index"));
            }
            Success("Sua senha foi alterada com sucesso.");
            return(RedirectToAction("Index"));
        }
Пример #2
0
        public IActionResult Ranking()
        {
            var model = new RankingVM();

            model.MathUsers   = statsRep.GetMathUsers();
            model.MemoryUsers = statsRep.GetMemoryUsers();
            model.TicUsers    = statsRep.GetTicUsers();
            return(View(model));
        }
Пример #3
0
        /**
         * EDIT AVATAR
         */
        public ActionResult EditAvatar()
        {
            var membership = (SimpleMembershipProvider)Membership.Provider;
            var userID     = membership.GetUserId(Membership.GetUser().UserName);
            var employee   = db.Employees.First(u => u.UserID == userID);
            var ranking    = new RankingVM(db.Employees.ToList(), employee.GetType());

            return(View(new MemberEditAvatarVM
            {
                Avatar = new AvatarVM().Start(employee),
                Employee = new EmployeeVM().Start(employee, ranking.RankingFor(employee))
            }));
        }
Пример #4
0
        /**
         * CHANGE PASSWORD
         */
        public ActionResult ChangePassword()
        {
            var membership = (SimpleMembershipProvider)Membership.Provider;
            var userID     = membership.GetUserId(Membership.GetUser().UserName);
            var employee   = db.Employees.First(u => u.UserID == userID);
            var ranking    = new RankingVM(db.Employees.ToList(), employee.GetType());

            return(View(new MemberEditProfileVM
            {
                User = new UserVM().Start(employee, EditUserMode.PASSWORD, "Modificar"),
                Employee = new EmployeeVM().Start(employee, ranking.RankingFor(employee))
            }));
        }
Пример #5
0
        /**
         * REWARDS
         */
        public ActionResult Rewards(int rewardId = -1, int rewardTier = -1)
        {
            var membership = (SimpleMembershipProvider)Membership.Provider;
            var userID     = membership.GetUserId(Membership.GetUser().UserName);
            var employee   = db.Employees.First(u => u.UserID == userID);

            var ranking = new RankingVM(db.Employees.ToList(), employee.GetType());

            return(View(new MemberRewardsVM(new RewardVM())
            {
                Employee = new EmployeeVM().Start(employee, ranking.RankingFor(employee)),
                GoToId = rewardId > 0 ? rewardId.ToString(CultureInfo.InvariantCulture) : null,
                GoToTier = rewardTier > 0 ? rewardTier.ToString(CultureInfo.InvariantCulture) : null
            }));
        }
Пример #6
0
        /**
         * INDEX
         */
        public ActionResult Index()
        {
            var membership = (SimpleMembershipProvider)Membership.Provider;
            var userID     = membership.GetUserId(Membership.GetUser().UserName);

            var employee = db.Employees.First(u => u.UserID == userID);
            var rewards  = new RewardVM();
            var ranking  = new RankingVM(db.Employees.ToList(), employee.GetType());

            ranking.SetCurrentUser(employee);
            return(View(new MemberHomeVM
            {
                Employee = new EmployeeVM().Start(employee, ranking.RankingFor(employee)),
                Rewards = rewards,
                Ranking = ranking
            }));
        }
Пример #7
0
        /**
         * CONTACT
         */
        public ActionResult Contact()
        {
            var membership = (SimpleMembershipProvider)Membership.Provider;
            var userID     = membership.GetUserId(Membership.GetUser().UserName);
            var employee   = db.Employees.First(u => u.UserID == userID);

            var ranking = new RankingVM(db.Employees.ToList(), employee.GetType());
            var contact = new ContactVM
            {
                Name  = employee.ComercialName,
                CPF   = employee.CPF,
                Email = employee.Email
            };

            return(View(new MemberContactVM
            {
                Employee = new EmployeeVM().Start(employee, ranking.RankingFor(employee)),
                Contact = contact
            }));
        }
Пример #8
0
        /**
         * RANKING
         */
        public ActionResult Ranking()
        {
            var membership = (SimpleMembershipProvider)Membership.Provider;
            var userID     = membership.GetUserId(Membership.GetUser().UserName);
            var employees  = db.Employees.ToList();
            var employee   = employees.First(u => u.UserID == userID);

            var brokersRanking      = new RankingVM(employees, employees.First(e => e is Broker).GetType());
            var managersRanking     = new RankingVM(employees, employees.First(e => e is Manager).GetType());
            var coordinatorsRanking = new RankingVM(employees, employees.First(e => e is Coordinator).GetType());

            int ranking;

            if (employee is Broker)
            {
                ranking = brokersRanking.RankingFor(employee);
                brokersRanking.SetCurrentUser(employee);
            }
            else if (employee is Manager)
            {
                ranking = managersRanking.RankingFor(employee);
                managersRanking.SetCurrentUser(employee);
            }
            else
            {
                ranking = coordinatorsRanking.RankingFor(employee);
                coordinatorsRanking.SetCurrentUser(employee);
            }

            var memberRanking = new MemberRankingVM
            {
                Employee            = new EmployeeVM().Start(employee, ranking),
                BrokersRanking      = brokersRanking,
                ManagersRanking     = managersRanking,
                CoordinatorsRanking = coordinatorsRanking,
                LastUpdate          = db.Sales.Max(s => s.SaleDate)
            };

            return(View(memberRanking));
        }
Пример #9
0
        // METODO GET USATO PER AVVIARE MANUALMENTE IL METODO GENERATO DAL TRIGGER DELL'INVIO EMAIL  E WORKFLOW
        //public void Get() {
        //    bool b = _questionnairesServices.SendTemplatedEmailRanking();
        //}

        /// <summary>
        ///  esempio di chiamata
        ///  http://localhost/Orchard.Community/testgame/api/laser.orchard.questionnaires/GameRanking
        /// parametri {"Point":12,"Identifier":"io","UsernameGameCenter":"123","Device":"Apple","ContentIdentifier":22}
        /// Device è un enumeratore Android, Apple, WindowsMobile
        /// </summary>
        /// <param name="Risp"></param>
        /// <returns></returns>
        public Response Post([FromBody] RankingVM Risp)
        {
            //HttpResponseMessage Response = new HttpResponseMessage();
            //foreach (string coo in _orchardServices.WorkContext.HttpContext.Request.Cookies) {
            //    var authCookie = _orchardServices.WorkContext.HttpContext.Request.Cookies[coo].Value;
            //    Logger.Error(coo + " " + authCookie);
            //}

            bool  AccessSecured = false;
            Int32 User_Id       = 0;
            var   currentUser   = _orchardServices.WorkContext.CurrentUser;

            if (currentUser != null)
            {
                User_Id = currentUser.Id;
                //      Logger.Error("User logged= " + User_Id.ToString());
                if (_csrfTokenHelper.DoesCsrfTokenMatchAuthToken())
                {
                    AccessSecured = true;
                }
            }
            Int32       ContentItemToLink = Risp.ContentIdentifier;
            ContentItem cilinked          = _orchardServices.ContentManager.Get(Risp.ContentIdentifier);

            if (cilinked != null)
            {
                if (cilinked.As <GamePart>() == null)
                {
                    return(_utilsServices.GetResponse(ResponseType.Validation, "ContentItem with no GamePart " + Risp.ContentIdentifier.ToString()));
                }
                else
                if (!cilinked.As <GamePart>().Settings.GetModel <GamePartSettingVM>().Ranking)
                {
                    return(_utilsServices.GetResponse(ResponseType.Validation, "This Game is not enabled to ranking " + Risp.ContentIdentifier.ToString()));
                }
                else
                {
                    if (cilinked.As <LocalizationPart>() != null)
                    {
                        if (cilinked.As <LocalizationPart>().MasterContentItem != null)
                        {
                            ContentItemToLink = cilinked.As <LocalizationPart>().MasterContentItem.Id;
                        }
                    }
                }
            }
            else
            {
                return(_utilsServices.GetResponse(ResponseType.Validation, "No ContentItem with id " + Risp.ContentIdentifier.ToString()));
            }
            var         RankingCi   = _orchardServices.ContentManager.New("Ranking");
            RankingPart rankingpart = RankingCi.As <RankingPart>();

            rankingpart.Point              = Risp.Point;
            rankingpart.ContentIdentifier  = ContentItemToLink;
            rankingpart.Device             = Risp.Device;
            rankingpart.Identifier         = Risp.Identifier;
            rankingpart.RegistrationDate   = DateTime.Now;;
            rankingpart.UsernameGameCenter = Risp.UsernameGameCenter;
            rankingpart.AccessSecured      = AccessSecured;
            rankingpart.User_Id            = User_Id;
            _orchardServices.ContentManager.Create(RankingCi);
            return(_utilsServices.GetResponse(ResponseType.Success));
        }
Пример #10
0
        /**
         * POINTS
         */
        public ActionResult Points()
        {
            var membership = (SimpleMembershipProvider)Membership.Provider;
            var userID     = membership.GetUserId(Membership.GetUser().UserName);
            var employee   = db.Employees.First(u => u.UserID == userID);

            var ranking     = new RankingVM(db.Employees.ToList(), employee.GetType());
            var chartHelper = new EmployeeChartHelper(employee);
            var chart       = new DotNet.Highcharts.Highcharts("chart")
                              .SetXAxis(new XAxis
            {
                Categories = new[] { "Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez" },
                Title      = new XAxisTitle {
                    Text = "Mês"
                }
            })
                              .SetYAxis(new [] { new YAxis
                                                 {
                                                     Title = new YAxisTitle {
                                                         Text = "Pontos"
                                                     },
                                                     Id = "pontos"
                                                 },
                                                 new YAxis
                                                 {
                                                     Title = new YAxisTitle {
                                                         Text = "Vendas"
                                                     },
                                                     Id            = "vendas",
                                                     AllowDecimals = false
                                                 } })
                              .SetSeries(new [] {
                new Series
                {
                    Data  = new Data(chartHelper.PointsTotal),
                    Name  = "Pontos Totais",
                    YAxis = "pontos",
                    Color = Color.Teal
                },
                new Series
                {
                    Data  = new Data(chartHelper.SalesTotal),
                    Name  = "Vendas Totais",
                    YAxis = "vendas",
                    Color = Color.DarkRed
                },
                new Series
                {
                    Data  = new Data(chartHelper.Points),
                    Name  = "Pontos Mensais",
                    YAxis = "pontos",
                    Color = Color.Teal,
                    Type  = ChartTypes.Column
                },
                new Series
                {
                    Data  = new Data(chartHelper.Sales),
                    Name  = "Vendas Mensais",
                    YAxis = "vendas",
                    Color = Color.DarkRed,
                    Type  = ChartTypes.Column
                }
            })
                              .SetTitle(new Title {
                Text = ""
            })
                              .SetCredits(new Credits {
                Enabled = false
            });

            return(View(new MemberPointsVM
            {
                Employee = new EmployeeVM().Start(employee, ranking.RankingFor(employee)),
                Chart = chart
            }));
        }