public void AtualizaSeguidoresTarefas(List<string> seguidores, Tarefa tarefa) { using (TimeSContext db = new TimeSContext()) { seguidores.ForEach(u => db.Entry(db.Users.Find(u)).State = EntityState.Modified); seguidores.ForEach(u => db.Users.Attach(db.Users.Find(u))); db.SaveChanges(); } }
public Tarefa AddTarefa(Tarefa tarefa) { using (TimeSContext db = new TimeSContext()) { var seguidores = new List<string>(); tarefa.Seguidores.ToList().ForEach(u => seguidores.Add(u.Id)); tarefa.Seguidores = new List<Usuario>(); db.Tarefas.Add(tarefa); db.SaveChanges(); AddTarefaAosUsuarios( db.Tarefas.First(t => t.Atividade_Id == tarefa.Atividade_Id && t.Nome == tarefa.Nome), seguidores); return db.Tarefas.First(t => t.Atividade_Id == tarefa.Atividade_Id && t.Nome == tarefa.Nome); } }
public void AddTarefaAosUsuarios(Tarefa tarefa,List<string> seguidores) { using (TimeSContext db = new TimeSContext()) { db.Tarefas.Attach(tarefa); foreach (var seguidor in seguidores) { Usuario usuario = db.Users.Include(u => u.Tarefas).First(u => u.Id.Equals(seguidor)); if (usuario != null) { if (usuario.Tarefas.All(t => t.Id != tarefa.Id)) { usuario.Tarefas.Add(tarefa); db.Entry(usuario).State = EntityState.Modified; } db.SaveChanges(); } } } }
public Tarefa AddTarefa(int atividadeId, TarefaViewModel tarefa) { IUsuarioDAL usuarioDal = new UsuarioDAL(); Tarefa novaTarefa = new Tarefa() { Nome = tarefa.Nome, Descricao = tarefa.Descricao, Inicio = Convert.ToDateTime(tarefa.Inicio+" "+tarefa.Hora_Inicio), Entrega = Convert.ToDateTime(tarefa.Entrega + " " + tarefa.Hora_Entrega), Atividade_Id = atividadeId, Status = (Status) tarefa.Status_Id, Responsavel_Id = tarefa.Responsavel_Id }; novaTarefa.Seguidores = new List<Usuario>(); if (tarefa.Seguidores != null) tarefa.Seguidores.ToList() .ForEach( s => novaTarefa.Seguidores.Add(usuarioDal.GetUsuario(s)) ); return _tarefaDal.AddTarefa(novaTarefa); }
public Tarefa EditarTarefa(Tarefa tarefa) { using (TimeSContext db = new TimeSContext()) { db.Tarefas.Include(t => t.Seguidores) .First(t => t.Id.Equals(tarefa.Id)) .Seguidores.ToList() .ForEach( u => db.Tarefas.Include(t => t.Seguidores) .First(t => t.Id.Equals(tarefa.Id)) .Seguidores.Remove(u) ); db.Tarefas.Remove(db.Tarefas.Include(t => t.Seguidores).First(t => t.Id.Equals(tarefa.Id))); db.SaveChanges(); } using (TimeSContext db = new TimeSContext()) { tarefa.Id = 0; tarefa.Seguidores.ToList().ForEach(u => db.Users.Attach(u)); db.Tarefas.Add(tarefa); db.SaveChanges(); return tarefa; } }