Exemplo n.º 1
0
        /**
         * Amikor szerkesztésbe fogunk, a mezőket feltöltjük a jelenlegi adatokkal
         */
        public void SetDataToEdit()
        {
            EditedId = EditedConcert.Id;
            cbVenue.SelectedItem = Venues.Find(v => v.Id == EditedConcert.VenueId);
            datePicker.DisplayDate = new DateTime(EditedConcert.Date.Year, EditedConcert.Date.Month, EditedConcert.Date.Day);
            datePicker.Text = datePicker.DisplayDate.ToString(CultureInfo.CurrentCulture);
            cbTickets.SelectedItem = EditedConcert.TicketsAvailable ? 
                cbTickets.Items.GetItemAt(0) : cbTickets.Items.GetItemAt(1);    //0: "True", 1: "False", jobb megoldást nem találtam

            for (int i = 0; i < 5; i++) //Együtteseket kiválasztó comboboxok elemeinek beállítása
            {
                if (EditedConcert.Bands.Count > i)
                    Boxes[i].SelectedItem = Bands.Find(b => b.Id == EditedConcert.Bands[i].Id);
            }
        }
Exemplo n.º 2
0
        public async Task <IActionResult> OnPostAsync(int?companyId)
        {
            if (!await FetchData(companyId).ConfigureAwait(false))
            {
                return(RedirectToPage("/Index"));
            }

            if (!ModelState.IsValid)
            {
                return(this.TurboPage());
            }

            var selectedVenueId = int.Parse(Input.VenueId);
            var selectedVenue   = Venues.Find(v => v.VenueId == selectedVenueId);

            if (selectedVenue == null)
            {
                return(this.TurboPage());
            }

            var selectedRoleId = int.Parse(Input.RoleId);
            var selectedRole   = Roles.Find(r => r.RoleId == selectedRoleId);

            if (selectedRole?.IsMorePrivilegedThanRole(Role) != false)
            {
                return(this.TurboPage());
            }

            var selectedCompanyId = 0;

            if (Role.CanAdministerSystem)
            {
                if (string.IsNullOrWhiteSpace(Input.CompanyId))
                {
                    return(this.TurboPage());
                }

                selectedCompanyId = int.Parse(Input.CompanyId);
            }
            else
            {
                selectedCompanyId = companyId.Value;
            }

            if (selectedVenue.CompanyId != selectedCompanyId)
            {
                return(this.TurboPage());
            }

            var user = new Employee
            {
                CompanyId    = selectedCompanyId,
                VenueId      = int.Parse(Input.VenueId),
                RoleId       = selectedRoleId,
                EmployeeName = Input.EmployeeName,
                Username     = Input.Username,
                Confirmed    = true,
            };

            var result = await userManager.CreateAsync(user, Input.Password).ConfigureAwait(false);

            if (!result.Succeeded)
            {
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError("", error.Description);
                }
                return(this.Page());
            }

            result = await userManager.UpdateSecurityStampAsync(user).ConfigureAwait(false);

            if (!result.Succeeded)
            {
                return(this.Page());
            }

            return(RedirectToPage("/Employee", new
            {
                employeeId = user.EmployeeId
            }));
        }