예제 #1
0
        private void BindData()
        {
            Activity.RunOnUiThread(() =>
            {
                _routeName.Text = CurrentRoute.Properties.Name;
            });

            if (!CurrentRoute.Checkpoints.Any())
            {
                Training = new InitialTraining(CurrentRoute, UpdateTimer, GetCurrentLocation);
            }
            else
            {
                Training = new RaceTraining(CurrentRoute, UpdateTimer, NextCheckpointReached, GetCurrentLocation,
                                            FinishRace, PlayCurrentPosition, PlayPositionsLost, PlayPositionsEarned,
                                            ShowProgressBar, HideProgressBar, ShowUpdateResult);
            }
        }
예제 #2
0
        private void CalcTrainingSkills <T>(long timeMS, StringBuilder infoBuilder, List <T> elements, int stopAtCount, bool isNextOn)
        {
            int  num  = 0;
            long num2 = 0L;
            List <TrainingBase> list = new List <TrainingBase>();

            foreach (T current in elements)
            {
                if (current is TrainingBase)
                {
                    list.Add(current as TrainingBase);
                }
            }
            for (int i = 0; i < list.Count; i++)
            {
                TrainingBase trainingBase = list[i];
                bool         flag         = false;
                if (trainingBase is Skill)
                {
                    flag = ((Skill)trainingBase).IsAvailable;
                }
                if (trainingBase is Training)
                {
                    flag = ((Training)trainingBase).IsAvailable;
                }
                if (num > 0 && flag)
                {
                    if (trainingBase.ShadowCloneCount > 0)
                    {
                        num2 = 0L;
                    }
                    trainingBase.AddCloneCount(num);
                    num = 0;
                }
                long num3 = 0L;
                if (trainingBase is Skill && ((Skill)trainingBase).IsAvailable && trainingBase.DurationInMS(1) > 30)
                {
                    num3 = timeMS / 300000L;
                    if (num3 > 10000L)
                    {
                        num3 = 10000L;
                    }
                    ((Skill)trainingBase).Extension.UsageCount += num3;
                }
                if (trainingBase.ShadowCloneCount > 0)
                {
                    int num4 = trainingBase.ShadowCloneCount.ToInt();
                    int num5 = trainingBase.DurationInMS(num4);
                    if (num5 < 30)
                    {
                        num5 = 30;
                    }
                    long    num6    = timeMS;
                    CDouble cDouble = 0;
                    if (num2 > 0L)
                    {
                        num6 = num2;
                        num2 = 0L;
                    }
                    cDouble = num6 / (long)num5;
                    if (cDouble > 0)
                    {
                        bool flag2 = num4 <= this.State.GameSettings.TrainIgnoreCount && this.State.GameSettings.IgnoreCloneCountOn;
                        if (!flag2 && !this.State.GameSettings.UseStopAt && stopAtCount <= trainingBase.Level + cDouble && isNextOn)
                        {
                            CDouble cDouble2 = stopAtCount - trainingBase.Level;
                            if (this.State.PremiumBoni.ImprovedNextAt)
                            {
                                cDouble2 = (trainingBase.EnumValue + 1) * 500 - trainingBase.Level;
                                if (stopAtCount - trainingBase.Level > cDouble2)
                                {
                                    cDouble2 = stopAtCount - trainingBase.Level;
                                }
                            }
                            if (cDouble2 > 0)
                            {
                                num6 -= (cDouble2 * num5).ToLong();
                                num2  = (num5 * (cDouble - cDouble2)).ToLong();
                                int num7 = this.State.GameSettings.TrainIgnoreCount;
                                if (!this.State.GameSettings.IgnoreCloneCountOn)
                                {
                                    num7 = 0;
                                }
                                num = trainingBase.ShadowCloneCount.ToInt() - num7;
                                if (num2 > 0L)
                                {
                                    int num8 = trainingBase.ShadowCloneCount.ToInt() - num;
                                    num5 = trainingBase.DurationInMS(num8);
                                    if (num5 < 30)
                                    {
                                        num5 = 30;
                                    }
                                    if (num8 > 0)
                                    {
                                        cDouble = cDouble2 + num6 / (long)num5;
                                    }
                                    else
                                    {
                                        cDouble = cDouble2;
                                    }
                                    trainingBase.RemoveCloneCount(num);
                                }
                                else
                                {
                                    num = 0;
                                }
                            }
                        }
                        else if (!flag2 && isNextOn && stopAtCount <= trainingBase.Level + cDouble && (this.State.GameSettings.UseStopAt || trainingBase.EnumValue != 27))
                        {
                            cDouble = stopAtCount - trainingBase.Level.ToInt();
                            if (cDouble < 0)
                            {
                                cDouble = 0;
                            }
                        }
                        cDouble.Round();
                        trainingBase.Level += cDouble;
                        string value = string.Empty;
                        if (trainingBase is Training)
                        {
                            value = ((Training)trainingBase).Name;
                            this.State.PhysicalPowerBase             += trainingBase.PowerGain * cDouble;
                            this.State.Statistic.TotalTrainingLevels += cDouble;
                        }
                        else if (trainingBase is Skill)
                        {
                            value = ((Skill)trainingBase).Name;
                            this.State.MysticPowerBase            += trainingBase.PowerGain * cDouble;
                            this.State.Statistic.TotalSkillLevels += cDouble;
                        }
                        infoBuilder.Append("- gained ").Append(cDouble).Append(" levels in ' ").Append(value).Append(" '\n");
                        if (num3 > 0L)
                        {
                            infoBuilder.Append("- ").Append(value).Append(" was also used ").Append(num3).Append(" times to reduce the cap").Append("\n");
                        }
                    }
                }
            }
        }
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser()
                {
                    FullName               = model.FullName,
                    UserName               = model.Username,
                    Email                  = model.Email,
                    DateOfBirth            = model.DateOfBirth,
                    Address                = model.Address,
                    PhoneNumber            = model.PhoneNumber,
                    Photo                  = model.Photo,
                    EmailConfirmed         = true,
                    IsAttendanceAuthorized = false,
                    Status                 = true
                };
                if (UserManager.Users.Count() == 0)
                {
                    // Adding System Data
                    var roleManager = new RoleManager <Microsoft.AspNet.Identity.EntityFramework.IdentityRole>(new RoleStore <IdentityRole>(new ApplicationDbContext()));
                    roleManager.Create(new IdentityRole("Admin"));
                    roleManager.Create(new IdentityRole("Management"));
                    roleManager.Create(new IdentityRole("Moderator"));
                    roleManager.Create(new IdentityRole("Student"));
                    roleManager.Create(new IdentityRole("Visitor"));

                    try
                    {
                        GreenLightFeaturesEntities db = new GreenLightFeaturesEntities();
                        var testUser1 = new ApplicationUser()
                        {
                            FullName       = "Student 1",
                            UserName       = "******",
                            Email          = "*****@*****.**",
                            DateOfBirth    = model.DateOfBirth,
                            Address        = model.Address,
                            PhoneNumber    = model.PhoneNumber,
                            Photo          = model.Photo,
                            EmailConfirmed = true,
                            Status         = true
                        };
                        await UserManager.CreateAsync(testUser1, model.Password);

                        UserManager.AddToRole(testUser1.Id, "Student");

                        var testUser2 = new ApplicationUser()
                        {
                            FullName       = "Student 2",
                            UserName       = "******",
                            Email          = "*****@*****.**",
                            DateOfBirth    = model.DateOfBirth,
                            Address        = model.Address,
                            PhoneNumber    = model.PhoneNumber,
                            Photo          = model.Photo,
                            EmailConfirmed = true,
                            Status         = true
                        };
                        await UserManager.CreateAsync(testUser2, model.Password);

                        UserManager.AddToRole(testUser2.Id, "Student");


                        var testUser3 = new ApplicationUser()
                        {
                            FullName       = "Student 3",
                            UserName       = "******",
                            Email          = "*****@*****.**",
                            DateOfBirth    = model.DateOfBirth,
                            Address        = model.Address,
                            PhoneNumber    = model.PhoneNumber,
                            Photo          = model.Photo,
                            EmailConfirmed = true,
                            Status         = true
                        };
                        await UserManager.CreateAsync(testUser3, model.Password);

                        UserManager.AddToRole(testUser3.Id, "Student");


                        var testUser4 = new ApplicationUser()
                        {
                            FullName       = "Student 4",
                            UserName       = "******",
                            Email          = "*****@*****.**",
                            DateOfBirth    = model.DateOfBirth,
                            Address        = model.Address,
                            PhoneNumber    = model.PhoneNumber,
                            Photo          = model.Photo,
                            EmailConfirmed = true,
                            Status         = true
                        };
                        await UserManager.CreateAsync(testUser4, model.Password);

                        UserManager.AddToRole(testUser4.Id, "Student");


                        var testUser5 = new ApplicationUser()
                        {
                            FullName       = "Student 5",
                            UserName       = "******",
                            Email          = "*****@*****.**",
                            DateOfBirth    = model.DateOfBirth,
                            Address        = model.Address,
                            PhoneNumber    = model.PhoneNumber,
                            Photo          = model.Photo,
                            EmailConfirmed = true,
                            Status         = true
                        };
                        await UserManager.CreateAsync(testUser5, model.Password);

                        UserManager.AddToRole(testUser5.Id, "Student");

                        var testUser6 = new ApplicationUser()
                        {
                            FullName       = "Instructor 1",
                            UserName       = "******",
                            Email          = "*****@*****.**",
                            DateOfBirth    = model.DateOfBirth,
                            Address        = model.Address,
                            PhoneNumber    = model.PhoneNumber,
                            Photo          = model.Photo,
                            EmailConfirmed = true,
                            Status         = true
                        };
                        await UserManager.CreateAsync(testUser6, model.Password);

                        UserManager.AddToRole(testUser6.Id, "Moderator");

                        var testUser7 = new ApplicationUser()
                        {
                            FullName       = "Instructor 2",
                            UserName       = "******",
                            Email          = "*****@*****.**",
                            DateOfBirth    = model.DateOfBirth,
                            Address        = model.Address,
                            PhoneNumber    = model.PhoneNumber,
                            Photo          = model.Photo,
                            EmailConfirmed = true,
                            Status         = true
                        };
                        await UserManager.CreateAsync(testUser7, model.Password);

                        UserManager.AddToRole(testUser7.Id, "Moderator");

                        var testUser8 = new ApplicationUser()
                        {
                            FullName       = "Instructor 3",
                            UserName       = "******",
                            Email          = "*****@*****.**",
                            DateOfBirth    = model.DateOfBirth,
                            Address        = model.Address,
                            PhoneNumber    = model.PhoneNumber,
                            Photo          = model.Photo,
                            EmailConfirmed = true,
                            Status         = true
                        };
                        await UserManager.CreateAsync(testUser8, model.Password);

                        UserManager.AddToRole(testUser8.Id, "Moderator");


                        TrainingBase base1 = new TrainingBase {
                            Address = "test address", ContactDetail = "contact person", Name = "Base1"
                        };
                        TrainingBase base2 = new TrainingBase {
                            Address = "test address", ContactDetail = "contact person", Name = "Base2"
                        };
                        TrainingBase base3 = new TrainingBase {
                            Address = "test address", ContactDetail = "contact person", Name = "Base3"
                        };
                        db.TrainingBase.Add(base1);
                        db.TrainingBase.Add(base2);
                        db.TrainingBase.Add(base3);
                        Course crs1 = new Course {
                            Title = "course1", Description = "", IsPublished = true, IsDeleted = false
                        };
                        Course crs2 = new Course {
                            Title = "course2", Description = "", IsPublished = true, IsDeleted = false
                        };
                        Course crs3 = new Course {
                            Title = "course3", Description = "", IsPublished = true, IsDeleted = false
                        };
                        db.Course.Add(crs1);
                        db.Course.Add(crs2);
                        db.Course.Add(crs3);
                        CMSPage page1 = new CMSPage {
                            Title = "Home/Welcome", Body = "Welcome text"
                        };
                        CMSPage page2 = new CMSPage {
                            Title = "About Us", Body = "Aboutus text"
                        };
                        CMSPage page3 = new CMSPage {
                            Title = "Contact Us", Body = "Contactus text"
                        };
                        db.CMSPage.Add(page1);
                        db.CMSPage.Add(page2);
                        db.CMSPage.Add(page3);

                        db.SaveChanges();
                    }
                    catch { }
                }

                IdentityResult result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    result = UserManager.AddToRole(user.Id, "Admin");
                    if (result.Succeeded)
                    {
                        await SignInAsync(user, isPersistent : true);

                        // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                        // Send an email with this link
                        //string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                        //var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                        //await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");
                        GreenLightFeaturesEntities db = new GreenLightFeaturesEntities();
                        var users = db.AspNetUsers.FirstOrDefault(x => x.UserId == user.UserId);
                        users.Status = true;
                        return(RedirectToAction("Index", "Home"));
                    }
                    else
                    {
                        AddErrors(result);
                    }
                }
                else
                {
                    AddErrors(result);
                }
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }