Beispiel #1
0
        public static bool Salvar(Deal_Cliente cliente)
        {
            using (var context = new DBEntities())
                using (var transaction = context.Database.BeginTransaction())
                {
                    try
                    {
                        if (cliente.Id == 0)
                        {
                            context.Deal_Cliente.Add(cliente);
                        }
                        else
                        {
                            var old = context.Deal_Cliente
                                      .Include(c => c.Deal_ClienteEmail)
                                      .Include(c => c.Deal_ClienteEndereco)
                                      .Include(c => c.Deal_ClienteSocio)
                                      .Include(c => c.Deal_ClienteTelefone)
                                      .FirstOrDefault(c => c.Id == cliente.Id);
                            context.Entry(old).CurrentValues.SetValues(cliente);

                            old.Deal_ClienteEmail.ToList().ForEach(c => context.Deal_ClienteEmail.Remove(c));
                            cliente.Deal_ClienteEmail.ToList().ForEach(c => old.Deal_ClienteEmail.Add(c));

                            old.Deal_ClienteEndereco.ToList().ForEach(c => context.Deal_ClienteEndereco.Remove(c));
                            cliente.Deal_ClienteEndereco.ToList().ForEach(c => old.Deal_ClienteEndereco.Add(c));

                            old.Deal_ClienteSocio.ToList().ForEach(c => context.Deal_ClienteSocio.Remove(c));
                            cliente.Deal_ClienteSocio.ToList().ForEach(c => old.Deal_ClienteSocio.Add(c));

                            old.Deal_ClienteTelefone.ToList().ForEach(c => context.Deal_ClienteTelefone.Remove(c));
                            cliente.Deal_ClienteTelefone.ToList().ForEach(c => old.Deal_ClienteTelefone.Add(c));
                        }
                        context.SaveChanges();

                        transaction.Commit();

                        return(true);
                    }
                    catch
                    {
                        transaction.Rollback();

                        return(false);
                    }
                }
        }
        public JsonResult <bool> Post([FromBody] Deal_Cliente cliente)
        {
            var c = ClienteService.Salvar(cliente);

            return(Json(c));
        }