Пример #1
0
        public IActionResult CreateFile([FromForm] List <IFormFile> files, [FromForm] string username)
        {
            var user = _context.Users.Where(u => u.UserName == username).FirstOrDefault();

            if (user == null)
            {
                return(NotFound());
            }
            try
            {
                string filePath = FilesHelper.PlaceFileInDirectory(files[0], username);
                if (filePath.Contains("img"))
                {
                    user.ImagePath = filePath;
                    _context.SaveChanges();
                }
                else if (filePath.Contains("resume"))
                {
                    user.ResumePath = filePath;
                    _context.SaveChanges();
                }
                return(Ok());
            }
            catch
            {
                return(BadRequest());
            }
        }
Пример #2
0
        public async Task <IActionResult> PostInvitations([FromBody] InvitationModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var invite = _context.Invitations
                         .Where(i => i.Email == model.email)
                         .FirstOrDefault();

            if (invite != null)
            {
                _context.Invitations.Remove(invite);
                _context.SaveChanges();
            }

            invite = new Invitation()
            {
                Email = model.email, Type = model.type, InvKey = InvitationsHelper.CodeGenerator()
            };
            _context.Invitations.Add(invite);
            await _context.SaveChangesAsync();

            InvitationsHelper.SendEmail(invite);
            return(Ok());
        }
Пример #3
0
        public async Task <IActionResult> CreateUser([FromBody] RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                var invite = _context.Invitations
                             .Where(i => i.Email == model.Email)
                             .FirstOrDefault();
                if (invite == null)
                {
                    return(BadRequest());
                }

                if (invite.InvKey != model.InvKey)
                {
                    return(Unauthorized());
                }

                var user = new User
                {
                    Email     = invite.Email,
                    UserName  = model.UserName,
                    FirstName = model.FirstName,
                    LastName  = model.LastName,
                };

                var result = await _userManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    result = await _userManager.AddToRoleAsync(user, invite.Type.ToString());

                    if (result.Succeeded)
                    {
                        await _signManager.SignInAsync(user, false);

                        _context.Invitations.Remove(invite);
                        _context.SaveChanges();
                        return(CreatedAtRoute("GetUsers", new { id = user.UserName }, user));
                    }
                    else
                    {
                        foreach (var error in result.Errors)
                        {
                            ModelState.AddModelError("", error.Description);
                        }
                    }
                }
                else
                {
                    foreach (var error in result.Errors)
                    {
                        ModelState.AddModelError("", error.Description);
                    }
                }
            }
            return(BadRequest());
        }