private void recuperarSalvarRegistros(int v1, int v2, Type item) { if (modelocrud.TotalRegistro(item, BDcomum.conecta2) > modelocrud.Modelos.Where(m => m.GetType() == item || m.GetType().IsSubclassOf(item)).ToList().Count) { while (v1 <= v2) { if (modelocrud.Modelos.Where(m => m.GetType() == item).ToList().FirstOrDefault(i => i.Id == v1) == null) { modelocrud m = null; modelocrud m2 = null; var listaTypes = modelocrud.listTypesSon(modelocrud.ReturnBase(item)); foreach (var i in listaTypes) { m = (modelocrud)Activator.CreateInstance(i); m2 = (modelocrud)Activator.CreateInstance(i); m.stringConexao = BDcomum.conecta2; m2.stringConexao = BDcomum.conecta1; if (m.recuperar(v1) && !m2.recuperar(v1)) { m.Id = 0; m.stringConexao = BDcomum.conecta1; m.salvar(BDcomum.conecta1); modelocrud.Modelos.Add(m); notifyIcon.ShowBalloonTip(5000, "Info", $"Uma informação do banco de dados remoto foi inserida neste programa. - {m.GetType().Name} - {m.Id}", ToolTipIcon.Info); } } } v1++; } } }
public void MudarEstado(int idVelhoEstado, modelocrud m) { string estado = ""; modelocrud p = null; if (m is Pessoa) { p = buscarConcreto(typeof(Pessoa), idVelhoEstado); } if (m is Ministerio) { p = buscarConcreto(typeof(Ministerio), idVelhoEstado); } estado = p.GetType().Name; p.excluir(idVelhoEstado, "", true, 4); var propsList = m.GetType().GetProperties().Where(pro => pro.PropertyType.Name == "List`1").ToList(); foreach (var item in propsList) { item.SetValue(m, item.GetValue(p)); } m.Id = 0; try { m.salvar("", true, 4); } catch (Exception ex) { p.Insert_padrao += "92sfgg 75293845"; p.salvar("", true, 4); throw new Exception(ex.Message); } new MudancaEstado { novoEstado = m.GetType().Name, velhoEstado = estado, Data = DateTime.Now, Codigo = (int)m.GetType().GetProperty("Codigo").GetValue(m) }.salvar(); }