public async Task <IActionResult> Modifier(string ReturnUrl) { try { if (User?.Identity.IsAuthenticated == true) { ModifierViewModel vm = new ModifierViewModel(); vm.ReturnUrl = ReturnUrl; vm.lGenres = new GenreUtilisateur().genres; var userId = User.GetSubjectId(); Utilisateur user = await _userManager.FindByIdAsync(userId); if (user != null) { vm.User = user; return(View(vm)); } } ErrorViewModel evm = new ErrorViewModel("L'identité n'a pas pu être verifiée"); return(View("Error", evm)); } catch (Exception ex) { ErrorViewModel vme = new ErrorViewModel(ex.Message); return(View("Error", vme)); } }
public ActionResult Abilities() { ModifierViewModel modifiers = new ModifierViewModel(_dbContext); ViewBag.Rolls = _player.Rolls; ViewBag.StatModifiers = _businessLogic.UpdateModifiers(_dbContext, _player.Player.ClassID, _player.Player.RaceID); this.SharedSession["PassModels"] = _player; return(View(modifiers)); }
public ActionResult Skills(ModifierViewModel abilities) { _player.Modifiers = abilities.Modifiers; SkillsViewModel skills = new SkillsViewModel(_dbContext); skills.AvalaiblePoints = _businessLogic.CheckAvailableSkillPoints(_dbContext, _player); this.SharedSession["PassModels"] = _player; return(View(skills)); }
/// <summary> /// Gets the plan. /// </summary> /// <param name="user">The user.</param> /// <param name="salaries">The salaries.</param> /// <param name="userTarget">The user target.</param> /// <param name="simulationId">The simulation identifier.</param> /// <returns> /// returns plan view model /// </returns> private PlanViewModel GetPlan(UserModel user, Dictionary <FrequencyDetails, decimal> salaries, UserTargetModel userTarget, int simulationId) { var applicationSetting = this.applicationSettings.GetApplicationSettingByKeyName(Constants.ApplicationSettingCodes.CryptoKey); PlanViewModel planViewModel = new PlanViewModel(); planViewModel = new PlanViewModel() { PlanId = user.CurentPlan.Id, UserId = user.Id, CountryId = user.CountryId, BussinessUnitId = user.BusinessUnitId, RoleId = user.CurentPlan.RoleId, Year = user.CurentPlan.Year, Role = user.CurentPlan.Name, PlanName = user.CurentPlan.Name }; UserSimulationModel userSimulation = null; if (userTarget != null && userTarget.UserSimulations.Count > 0) { planViewModel.SimulationId = simulationId; planViewModel.SimulationName = userTarget.UserSimulations.Where(x => x.Id == simulationId).Select(x => x.Name).FirstOrDefault(); planViewModel.TotalPayout = Convert.ToDecimal(this.cryptoService.Decrypt(applicationSetting.Value, userTarget.UserSimulations.Where(x => x.Id == simulationId).Select(x => x.TotalPayout).FirstOrDefault())); userSimulation = userTarget.UserSimulations.Where(x => x.Id == simulationId).FirstOrDefault(); } foreach (var measure in user.CurentPlan.PlanMeasures) { MeassureViewModel meassureViewModel = new MeassureViewModel(); meassureViewModel.Id = measure.Id; meassureViewModel.Name = measure.MeasureName; meassureViewModel.SequenceId = measure.Sequence; meassureViewModel.PayoutCurveId = measure.PayoutCurveId; meassureViewModel.PayoutTypeId = measure.PayoutTypeId; meassureViewModel.PayoutCurve = measure.PayoutCurve; meassureViewModel.Frequency = measure.Frequency.Name; meassureViewModel.MeasureTargetPercentage = Convert.ToString(measure.MeasureWeightage); meassureViewModel.HasGoal = measure.HasGoal; meassureViewModel.DataType = measure.DataType; meassureViewModel.ValueType = measure.ValueType; meassureViewModel.IsKPI = measure.IsKPI; UserSimulationMeasureDetailModel userSimulationMeasureDetail = null; if (userSimulation != null && userSimulation.UserSimulationMeasureDetails != null) { userSimulationMeasureDetail = userSimulation.UserSimulationMeasureDetails.FirstOrDefault(x => x.PlanMeasureId == measure.Id); } if (userSimulationMeasureDetail != null) { meassureViewModel.ActualAchievment = Convert.ToDecimal(this.cryptoService.Decrypt(applicationSetting.Value, userSimulationMeasureDetail.Achievement)); meassureViewModel.ActualAchievmentPercentage = userSimulationMeasureDetail.AchievementPercentage; meassureViewModel.YTDCumilativePayout = Convert.ToDecimal(this.cryptoService.Decrypt(applicationSetting.Value, userSimulationMeasureDetail.PayoutAmount)); } var diffInIncentive = 0.0M; foreach (var payoutPercentageDetail in measure.PayoutPercentage.PayoutPercentageDetails) { MeasureFrequencyDetailViewModel field = new MeasureFrequencyDetailViewModel(); field.Id = payoutPercentageDetail.FrequencyDetailId; field.TargetPer = payoutPercentageDetail.PayoutPercentageWeightage; field.Label = payoutPercentageDetail.FrequencyDetail.Name; field.Incentive = salaries[(FrequencyDetails)payoutPercentageDetail.FrequencyDetailId] * (user.CurentPlan.TargetIncentivePercentage / 100) * (measure.MeasureWeightage / 100) * (payoutPercentageDetail.PayoutPercentageWeightage / 100); field.CurrentIncentive = salaries[FrequencyDetails.Annual] * (user.CurentPlan.TargetIncentivePercentage / 100) * (measure.MeasureWeightage / 100) * (payoutPercentageDetail.PayoutPercentageWeightage / 100); if (measure.PayoutCurve.PayoutCurveTypeId == Convert.ToInt32(PayoutCurveType.Linear)) { field.AdditionalFields.Add("Expense", 0); field.AdditionalFields.Add("Revenue", 0); } diffInIncentive += field.CurrentIncentive - field.Incentive; if (userTarget != null && userTarget.UserTargetDetails != null) { var userTargetDetail = userTarget.UserTargetDetails.FirstOrDefault(x => x.PlanMeasureId == measure.Id && x.FrequencyDetailId == payoutPercentageDetail.FrequencyDetailId); if (userTargetDetail != null) { field.Goal = Convert.ToDecimal(this.cryptoService.Decrypt(applicationSetting.Value, userTargetDetail.Goal)); } } UserSimulationMeasureFrequencyDetailModel userSimulationMeasureFrequencyDetail = null; if (userSimulationMeasureDetail != null && userSimulationMeasureDetail.UserSimulationMeasureFrequencyDetails != null) { userSimulationMeasureFrequencyDetail = userSimulationMeasureDetail.UserSimulationMeasureFrequencyDetails.FirstOrDefault(x => x.FrequencyDetailId == payoutPercentageDetail.FrequencyDetailId); } if (userSimulationMeasureFrequencyDetail != null) { field.ActualAchievment = Convert.ToDecimal(this.cryptoService.Decrypt(applicationSetting.Value, userSimulationMeasureFrequencyDetail.Achievement)); field.ActualAchievmentPercentage = userSimulationMeasureFrequencyDetail.AchievementPercentage; field.YTDCumilativePayout = Convert.ToDecimal(this.cryptoService.Decrypt(applicationSetting.Value, userSimulationMeasureFrequencyDetail.PayoutAmount)); field.CumulativePercentage = Convert.ToDecimal(userSimulationMeasureFrequencyDetail.CumulativePercentage); field.IsValue = userSimulationMeasureFrequencyDetail.IsValue == null ? false : userSimulationMeasureFrequencyDetail.IsValue; if (!string.IsNullOrWhiteSpace(userSimulationMeasureFrequencyDetail.AdditionalFields)) { XmlDocument xdoc = new XmlDocument(); xdoc.LoadXml(userSimulationMeasureFrequencyDetail.AdditionalFields); foreach (XmlElement x in xdoc.DocumentElement.ChildNodes) { field.AdditionalFields[x.Name] = Convert.ToInt32(x.InnerText); } } } meassureViewModel.Fields.Add(field); } if (meassureViewModel.PayoutTypeId == Convert.ToInt32(PayoutType.Cumulative) && meassureViewModel.Fields.Count >= 1) { var lastField = meassureViewModel.Fields[meassureViewModel.Fields.Count - 1]; lastField.Incentive = lastField.CurrentIncentive + diffInIncentive; } planViewModel.RoleMeassures.Add(meassureViewModel); } foreach (var modifier in user.CurentPlan.PlanModifiers) { ModifierViewModel modifierViewModel = new ModifierViewModel(); modifierViewModel.Id = modifier.Id; modifierViewModel.Name = modifier.ModifierName; modifierViewModel.PayoutCurve = modifier.PayoutCurve; modifierViewModel.DataType = modifier.DataType; modifierViewModel.ValueType = modifier.ValueType; if (userSimulation != null) { var targetsimulationmodifierdetail = userSimulation.UserSimulationModifierDetails.FirstOrDefault(x => x.PlanModifierId == modifier.Id); if (targetsimulationmodifierdetail != null) { modifierViewModel.ModifierFieldValue = targetsimulationmodifierdetail.ModifierFieldValue; modifierViewModel.ModifierPayout = Convert.ToDecimal(this.cryptoService.Decrypt(applicationSetting.Value, targetsimulationmodifierdetail.ModifierPayout)); } } planViewModel.Modifiers.Add(modifierViewModel); } planViewModel.UpdateSequence(); return(planViewModel); }
public async Task <IActionResult> Modifier(ModifierViewModel vm, string button) { try { vm.lGenres = new GenreUtilisateur().genres; if (button.Equals("register")) { if (ModelState.IsValid) { var result = await _userManager.UpdateAsync(vm.User); if (result.Succeeded) { if (await PutInRole(vm.User)) { if (vm.Password != null && vm.ConfirmPassword != null && vm.NewPassword != null) { if (vm.Password != null) { var resultlogin = await _signInManager.CheckPasswordSignInAsync(vm.User, vm.Password, true); if (!resultlogin.Succeeded) { ModelState.AddModelError(string.Empty, "Mot de passe invalide"); return(View(vm)); } var modifPass = await _userManager.ChangePasswordAsync(vm.User, vm.Password, vm.NewPassword); if (modifPass.Succeeded) { if (_signInManager.IsSignedIn(User) && User.IsInRole("Administrateur")) { return(RedirectToAction("ListeUser", "Administration", new { returnUrl = vm.ReturnUrl })); } if (vm.ReturnUrl != null) { return(Redirect(vm.ReturnUrl)); } else { return(Redirect("~/")); } } } } } } } } if (vm.ReturnUrl != null) { return(Redirect(vm.ReturnUrl)); } else { return(Redirect("~/")); } } catch (Exception ex) { ErrorViewModel vme = new ErrorViewModel(ex.Message); return(View("Error", vme)); } }
public ModifierView(FileSelector fileSelector) { InitializeComponent(); DataContext = new ModifierViewModel(fileSelector); }