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); }
public bool Exist(GroupInvitationsModel dataToAdd) { return(_context.GroupInvitations.FirstOrDefault(x => x.GroupId == dataToAdd.GroupId && x.Email == dataToAdd.Email) != null); }