public async Task <ActionResult <GroupInvitations> > PostGroupInvitations(GroupInvitations groupInvitations)
        {
            _context.GroupInvitations.Add(groupInvitations);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetGroupInvitations", new { id = groupInvitations.GroupInvitationId }, groupInvitations));
        }
        public async Task <IActionResult> PutGroupInvitations(int id, GroupInvitations groupInvitations)
        {
            if (id != groupInvitations.GroupInvitationId)
            {
                return(BadRequest());
            }

            _context.Entry(groupInvitations).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!GroupInvitationsExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemplo n.º 3
0
        public ResponseModel <int> Post([FromBody] GroupInvitationsModel dataToAdd)
        {
            var resp = new ResponseModel <int>();

            try
            {
                if (dataToAdd == null)
                {
                    throw new Exception("Data is null");
                }
                if (GroupInvitationsRepository.Exist(dataToAdd))
                {
                    throw new Exception("User has already been invited or exists in a group");
                }

                var model = new GroupInvitations
                {
                    Name           = dataToAdd.Name,
                    Date           = DateTime.Now,
                    Email          = dataToAdd.Email,
                    GroupId        = dataToAdd.GroupId,
                    IdUserInviting = dataToAdd.IdUserInviting,
                };

                model.Token = GenerateToken(model).Replace("/", "").Replace("\\", "");

                if (GroupInvitationsRepository.Insert(model))
                {
                    var mail = new MailClass();
                    mail.SendMail(model.Token, model.Email);

                    resp.Status      = 200;
                    resp.Description = $"OK";
                    resp.Data        = model.Id;
                }
                else
                {
                    throw new Exception("Not inserted");
                }
            }
            catch (Exception ex)
            {
                resp.Status      = 500;
                resp.Description = $"Error: {ex.Message}";
                resp.Data        = 0;
            }

            return(resp);
        }
Exemplo n.º 4
0
 private string GetTokenHash(GroupInvitations model)
 {
     return($"{model.Name}/{model.Date}/{model.GroupId}/{model.Email}");
 }
Exemplo n.º 5
0
 private string GenerateToken(GroupInvitations hash)
 {
     return(CryptoClass.CreateHash(GetTokenHash(hash)));
 }