Exemplo n.º 1
0
        public async Task <IActionResult> Create([Bind("Id,Name,Address,Website,CountryId")] School school, string?coordinatorId)
        {
            if (ModelState.IsValid)
            {
                if (coordinatorId != null)
                {
                    var user = await _userManager.FindByEmailAsync(coordinatorId);

                    user.School        = school;
                    school.Coordinator = user;

                    _context.Add(school);
                    _context.Update(user);
                }
                else
                {
                    _context.Add(school);
                }

                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(school));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Goal,Description,Links,TargetAudience,Type")] Project project)
        {
            if (id != project.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(project);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ProjectExists(project.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(project));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,ProjectId,SchoolId")] SchoolProject schoolProject)
        {
            if (id != schoolProject.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(schoolProject);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SchoolProjectExists(schoolProject.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(schoolProject));
        }
Exemplo n.º 4
0
        public async Task <ActionResult> Create(UserCreateViewModel userViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    //
                    var user = new User
                    {
                        Name          = userViewModel.Name,
                        UserName      = userViewModel.Email,
                        Email         = userViewModel.Email,
                        About         = userViewModel.About,
                        PhoneNumber   = userViewModel.PhoneNumber,
                        Active        = false,
                        NationalityId = userViewModel.Nationality,
                        SchoolId      = userViewModel.School
                    };
                    var school = await _context.School
                                 .Include(p => p.Professors)
                                 .Include(p => p.Coordinator)
                                 .FirstOrDefaultAsync(p => p.Id == userViewModel.School);

                    school.Professors.Add(user);

                    //Creating the user in the bd
                    var result = await _userManager.CreateAsync(user, userViewModel.Password);

                    if (result.Succeeded)
                    {
                        await _userManager.AddToRoleAsync(user, "Professor");

                        // _logger.LogInformation("User created a new account with password.");
                        _context.Update(school);

                        //TODO Send email to coordinator
                        return(RedirectToAction(nameof(Index)));
                    }
                    return(View());
                }
                else
                {
                    ViewData["_alert.type"]  = "error";
                    ViewData["_alert.title"] = "Erro";
                    ViewData["_alert.body"]  = ". Id:T002";
                }

                //saida default
                return(Create());
            }
            catch (Exception e)
            {
                return(Create());
            }
        }