Write a list with entity framework

0

I need to register a group that has a friends list. My code:

[Table("Grupos")]
public class Grupo
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public long Id { get; set; }
    public string IdNome { get; set; }
    public string AnfitriaoId { get; set; }
    public string Titulo { get; set; }
    public byte[] Avatar { get; set; }
    public int Arquivado { get; set; }
    public DateTime DataCriacao { get; set; }
    public DateTime? DataModificacao { get; set; }
    public virtual List<GrupoUsuario> GrupoUsuario { get; set; }
}


[Table("GruposUsuarios")]
public class GrupoUsuario
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public long Id { get; set; }
    public long GrupoId { get; set; }
    public string ConvidadoId { get; set; }
    public GrupoUsuarioStatusEnum Status { get; set; }
    public DateTime DataCriacao { get; set; }
    public DateTime? DataModificacao { get; set; }
    public virtual Usuario Usuario { get; set; }
}

I started this code in my Controller but I do not know if it would be the best way because I need GrupoId and as I have not recorded the group I'm lost in how to do it. If anyone can help me. Thank you for your attention!

public class GrupoController : ApiController
{
    [HttpPost]
    [Authorize]
    [Route("AddUpdateGrupo")]
    public IHttpActionResult AddUpdateGrupo([FromBody]Grupo grupo)
    {
       _grupoService.AddUpdateGrupo(grupo);
        return Ok(grupo.Id);
    }
}

E at service

namespace Welook4.Service
{   
     public interface IGrupoService : IServiceBase
    {

        void AddUpdateGrupo(Grupo grupo);
    }

    public void AddUpdateGrupo(Grupo grupo)
   {

          if (grupo.Id == 0)
         {
             grupo.DataCriacao = DateTime.UtcNow;                
             _grupoRepository.Add(grupo);
             _grupoAmigoService.AdicionarUsuariosGrupo(new GrupoUsuarios
             {
                Usuarios = grupo.GrupoUsuario,
                GrupoId = grupo.Id
              });
          }
         _unitOfWork.Commit();

    }
}
    
asked by anonymous 18.06.2018 / 18:02

0 answers