Exemplo n.º 1
0
        public static void UpdateCompromisso(Compromisso compromisso)
        {
            var compromissoDTO = Context.Compromisso.FirstOrDefault(c => c.IdCompromisso == compromisso.Id);

            if (compromissoDTO == null)
            {
                InsertCompromisso(compromisso);
                return;
            }

            compromissoDTO.Descricao = compromisso.Descricao;
            compromissoDTO.DataCompromisso = compromisso.DataCompromisso;
            compromissoDTO.Local = compromisso.Local;

            if (compromisso.Contatos.IsNullOrEmpty()) compromisso.Contatos = new List<Contato>();

            //remove associação com contatos antigos que já não estão na lista de contatos enviada no compromisso
            //var contactsToRemove = Context.ContatoCompromisso.Where(cc => cc.IdCompromisso == compromisso.Id)
            //                                                 .Where(cc => !compromisso.Contatos.Any(cont => cont.Id == cc.IdContato))
            //                                                 .ToList();
            Context.ContatoCompromisso.RemoveRange(Context.ContatoCompromisso.Where(cc => cc.IdCompromisso == compromisso.Id).ToList());

            foreach (var contato in compromisso.Contatos)
            {
                Context.ContatoCompromisso.Add(new DataAccess.ContatoCompromisso()
                {
                    IdContato = contato.Id,
                    IdCompromisso = compromisso.Id,
                });
            }

            Context.SaveChanges();
        }
Exemplo n.º 2
0
        internal static void SaveCompromisso(Compromisso compromisso)
        {
            DataAccess.Compromisso c = new DataAccess.Compromisso()
            {
                // preenchier atributos...
            };

            //adicionar c no banco
        }
Exemplo n.º 3
0
        public static void InsertCompromisso(Compromisso c)
        {
            DataAccess.Compromisso compromisso = new DataAccess.Compromisso()
            {
                Descricao = c.Descricao,
                DataCompromisso = c.DataCompromisso,
                Local = c.Local,
                IdGerente = c.IdGerente
            };

            Context.Compromisso.Add(compromisso);
            Context.SaveChanges();

            if (!c.Contatos.IsNullOrEmpty())
            {
                foreach (var contato in c.Contatos)
                {
                    Context.ContatoCompromisso.Add(new DataAccess.ContatoCompromisso()
                    {
                        IdContato = contato.Id,
                        IdCompromisso = compromisso.IdCompromisso
                    });
                }
            }

            Context.SaveChanges();
        }