public static int Insert(Bairros bairros)
    {
        int retorno = 0;

        try
        {
            IDbConnection objConnection;
            IDbCommand    objCommand;

            string sql = "insert into bai_bairro(bai_nome, bai_rua, cid_id) values(?bai_nome, ?bai_rua, ?cid_id); select last_insert_id();";

            objConnection = Mapped.Connection();
            objCommand    = Mapped.Command(sql, objConnection);

            objCommand.Parameters.Add(Mapped.Parameter("?bai_nome", bairros.Bai_nome));
            objCommand.Parameters.Add(Mapped.Parameter("?bai_rua", bairros.Bai_rua));

            //FK
            objCommand.Parameters.Add(Mapped.Parameter("?cid_id", bairros.Cid_id.Cid_id));

            retorno = Convert.ToInt32(objCommand.ExecuteScalar());
            objConnection.Close();
            objConnection.Dispose();
            objCommand.Dispose();
        }
        catch (Exception ex)
        {
            return(-2);
        }
        return(retorno);
    }
    public static int Update(Bairros bairros)
    {
        int retorno = 0;

        try
        {
            IDbConnection objConnection;
            IDbCommand    objCommand;

            string sql = "update bai_bairro set bai_nome = ?bai_nome, bai_rua = ?bai_rua, cid_id = ?cid_id where bai_id = ?bai_id;";
            objConnection = Mapped.Connection();
            objCommand    = Mapped.Command(sql, objConnection);

            objCommand.Parameters.Add(Mapped.Parameter("?bai_nome", bairros.Bai_nome));
            objCommand.Parameters.Add(Mapped.Parameter("?bai_rua", bairros.Bai_rua));
            objCommand.Parameters.Add(Mapped.Parameter("?cid_id", bairros.Cid_id.Cid_id));
            objCommand.Parameters.Add(Mapped.Parameter("?bai_id", bairros.Bai_id));

            objCommand.ExecuteNonQuery();

            objConnection.Close();
            objConnection.Dispose();
            objCommand.Dispose();
        }
        catch (Exception ex)
        {
            retorno = -2;
        }
        return(retorno);
    }
Example #3
0
        public Logradouros BuscarEndereco(int cep)
        {
            // http://viacep.com.br/ws/04140000/json
            WebApiClient client = new WebApiClient("http://viacep.com.br");
            string       s      = String.Format("ws/{0:00000000}/json", cep);
            ViaCep       viacep = client.GetJson <ViaCep>(s);

            if (viacep != null && viacep.Localidade != null)
            {
                Cidades cidade = new Cidades
                {
                    DescCidade = RemoveDiacritics(viacep.Localidade).ToUpper(),
                    FlgEstado  = viacep.Uf
                };
                Bairros bairro = new Bairros
                {
                    DescBairro = RemoveDiacritics(viacep.Bairro).ToUpper(),
                    Cidades    = cidade
                };
                int         primeiroEspaco = viacep.Logradouro.IndexOf(' ');
                Logradouros logradouro     = new Logradouros
                {
                    DescLogradouro = RemoveDiacritics(viacep.Logradouro.Substring(primeiroEspaco + 1)).ToUpper(),
                    Bairros        = bairro,
                    NumCep         = cep,
                    DescTipo       = RemoveDiacritics(viacep.Logradouro.Substring(0, primeiroEspaco)).ToUpper()
                };
                return(logradouro);
            }
            return(null);
        }
Example #4
0
        private void Salvar(object objParam)
        {
            var focusedElement = Keyboard.FocusedElement as FrameworkElement;

            if (focusedElement is TextBox)
            {
                var expression = focusedElement.GetBindingExpression(TextBox.TextProperty);
                if (expression != null && expression.ParentBinding.UpdateSourceTrigger == System.Windows.Data.UpdateSourceTrigger.LostFocus)
                {
                    expression.UpdateSource();
                }
            }

            Validate();
            if (!HasErrors)
            {
                Retorno objRetorno;
                using (var objBLL = new Bairros())
                {
                    objRetorno = objBLL.SalvarBairro(objBairro, FrameworkUtil.objConfigStorage.objFuncionario.fun_codigo);
                }
                if (objRetorno.intCodigoErro == 0)
                {
                    objBairro = null;
                    ClearAllErrorsAsync();
                    base.enStatusTelaAtual = enStatusTela.Navegacao;
                    Pesquisar(null);
                }
                else
                {
                    MessageBox.Show(objRetorno.strMsgErro, "Atenção", MessageBoxButton.OK, Util.GetMessageImage(objRetorno.intCodigoErro));
                }
            }
        }
Example #5
0
 private void Excluir(object objParam)
 {
     if (objParam != null)
     {
         if (MessageBox.Show("Tem Certeza que deseja excluir o registro selecionado?", "Atenção", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
         {
             Retorno objRetorno;
             using (var objBLL = new Bairros())
             {
                 objRetorno = objBLL.ExcluirBairro((int)objParam);
             }
             if (objRetorno.intCodigoErro == 0)
             {
                 objBairro = null;
                 ClearAllErrorsAsync();
                 base.enStatusTelaAtual = enStatusTela.Navegacao;
                 Pesquisar(null);
             }
             else
             {
                 MessageBox.Show(objRetorno.strMsgErro, "Atenção", MessageBoxButton.OK, Util.GetMessageImage(objRetorno.intCodigoErro));
             }
         }
     }
 }
Example #6
0
        public void txtendcodi_Leave(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(txtendcodi.Text))
            {
                return;
            }

            var dr = EnderecoDao.GetById(txtendcodi.Text);

            if (dr.Read())
            {
                txtendcodi.Text     = dr["ENDCEP"].ToString();
                txtendnome.Text     = dr["ENDENDE"].ToString();
                cblbai.SelectedItem = Bairros.FirstOrDefault(q => q.Split('-')[0].Trim() == dr["BAICODI"].ToString());
                edicao = true;
            }
            else
            {
                edicao = false;
                if ((MessageBox.Show("Registro não encontrado \n deseja cadastra-lo?", "Cadastro", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.No))
                {
                    limpar();
                }
                else
                {
                    txtendnome.Text = "";
                    txtendnome.Focus();
                }
            }
        }
Example #7
0
        public async Task <IActionResult> PutBairros([FromRoute] int id, [FromBody] Bairros bairros)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != bairros.BairroId)
            {
                return(BadRequest());
            }

            _context.Entry(bairros).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BairrosExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public ActionResult DeleteConfirmed(int id)
        {
            Bairros bAIRROS = db.Bairros.Find(id);

            db.Bairros.Remove(bAIRROS);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #9
0
        /// <summary>
        /// logradouro deve conter referência para bairro
        /// bairro deve ter referência para cidade
        /// cidade deverá ter a flag_estado
        /// </summary>
        /// <param name="logradouro"></param>
        public void IncluirLogradouroComDependencias(Logradouros logradouro)
        {
            using (var contexto = new ReservasModelDb())
            {
                Bairros bairro = logradouro.Bairros;
                Cidades cidade = bairro.Cidades;
                var     uf     = cidade.FlgEstado;

                Ufs u = contexto.Ufs.Where(x => x.UfId == uf).FirstOrDefault();
                if (u == null)
                {
                    var newUf = new Ufs
                    {
                        UfId   = uf,
                        DescUf = "Estado"
                    };
                    contexto.Ufs.Add(newUf);
                    contexto.SaveChanges();
                }
                // verifica se a c
                Cidades c = contexto.Cidades.Where(cid => cid.DescCidade == cidade.DescCidade).FirstOrDefault();
                if (c == null)
                {
                    // se não encontrou a cidade na base de dados, então insere
                    contexto.Cidades.Add(cidade);
                    contexto.SaveChanges();
                    bairro.BairroId = 0; // insere também o bairro
                }
                else
                {
                    cidade = c;
                    // se achou a cidade, vamos procurar o bairro
                    Bairros b = contexto.Bairros.Where(bai => bai.DescBairro == bairro.DescBairro).FirstOrDefault();
                    if (b != null)
                    {
                        bairro = b;
                    }
                    else
                    {
                        // se não encontrou vamos inserir
                        bairro.BairroId = 0;
                    }
                }
                if (bairro.BairroId == 0)
                {
                    bairro.Cidades     = null;
                    bairro.Logradouros = null;
                    bairro.CidadeId    = cidade.CidadeId;
                    contexto.Bairros.Add(bairro);
                    contexto.SaveChanges();
                }
                logradouro.Bairros  = null;
                logradouro.BairroId = bairro.BairroId;
                contexto.Logradouros.Add(logradouro);
                contexto.SaveChanges();
            }
        }
Example #10
0
        private void DgvDados()
        {
            var dt = EnderecoDao.GetAll();

            cblbai.Items.Clear();
            cblbai.Items.AddRange(Bairros.ToArray());
            if (dt.Rows.Count > 0)
            {
                dvgbairro.DataSource = dt;
            }
        }
Example #11
0
        public async Task <IActionResult> PostBairros([FromBody] Bairros bairros)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.Bairros.Add(bairros);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetBairros", new { id = bairros.BairroId }, bairros));
        }
Example #12
0
        public void Pesquisar(object objParam)
        {
            if (objParam != null && objParam.GetType() == typeof(tbBairro))
            {
                if (base.blnJanela)
                {
                    _objBairro = (tbBairro)objParam;
                    Dispose();
                }
            }
            else
            {
                int intSkip;
                if (objParam == null || !int.TryParse(objParam.ToString(), out intSkip))
                {
                    intSkip = 0;
                }

                Retorno objRetorno;
                using (var objBLL = new Bairros())
                {
                    objRetorno = objBLL.RetornaListaBairro(strBaiCodigoPesquisa, strBaiNomePesquisa, intSkip, base.intQtdeRegPagina);
                }
                if (objRetorno.intCodigoErro == 0)
                {
                    if (objRetorno.intQtdeRegistro > 0)
                    {
                        if ((objRetorno.intQtdeRegistro % base.intQtdeRegPagina) > 0)
                        {
                            base.intTotalPagina = (int)(objRetorno.intQtdeRegistro / base.intQtdeRegPagina) + 1;
                        }
                        else
                        {
                            base.intTotalPagina = (int)(objRetorno.intQtdeRegistro / base.intQtdeRegPagina);
                        }
                        base.intPaginaAtual = 1;
                        base.intQtdeReg     = objRetorno.intQtdeRegistro;
                    }
                    arrBairroPesquisa = (List <tbBairro>)objRetorno.objRetorno;
                    if (arrBairroPesquisa.Count() == 0)
                    {
                        base.intTotalPagina = 1;
                        base.intPaginaAtual = 1;
                        base.intQtdeReg     = 0;
                    }
                }
                else
                {
                    MessageBox.Show(objRetorno.strMsgErro, "Atenção", MessageBoxButton.OK, Util.GetMessageImage(objRetorno.intCodigoErro));
                }
            }
        }
 public ActionResult Edit([Bind(Include = "Id,Nome,Pais,Estado,Cidade")] Bairros bAIRROS)
 {
     if (ModelState.IsValid)
     {
         db.Entry(bAIRROS).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.Estado_Id    = new SelectList(db.Estados, "Id", "Nome", bAIRROS.Estado);
     ViewBag.Municipio_Id = new SelectList(db.Cidades, "Id", "Nome", bAIRROS.Cidade);
     ViewBag.Pais_Id      = new SelectList(db.Paises, "Id", "Nome", bAIRROS.Pais);
     return(View(bAIRROS));
 }
Example #14
0
 private void dvgbairro_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.RowIndex < 0)
     {
         return;
     }
     txtendcodi.Text = dvgbairro.Rows[e.RowIndex].Cells["ENDCEP"].Value.ToString();
     txtendcodi_Leave(null, null);
     tbcbairro.SelectedIndex = 1;
     txtendnome.Focus();
     edicao = true;
     cblbai.SelectedItem = Bairros.FirstOrDefault(q => q.Split('-')[0].Trim() == dvgbairro.Rows[e.RowIndex].Cells["BAICODI"].Value.ToString());
 }
        // GET: Bairros/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Bairros bAIRROS = db.Bairros.Find(id);

            if (bAIRROS == null)
            {
                return(HttpNotFound());
            }
            return(View(bAIRROS));
        }
Example #16
0
        private static string AbrirPaginaBairro(Bairros bairro, int idxPagina = 1)
        {
            string urlZap = $"https://www.zapimoveis.com.br{ bairro.Url.Trim() }/?__zt=srl%3Ab&pagina={ idxPagina }&onde=,S%C3%A3o%20Paulo,S%C3%A3o%20Paulo,{bairro.Zona.Trim()},{bairro.Bairro.Trim()},,,neighborhood,{bairro.LocationID.Trim()},{bairro.Latitude.Trim()},{bairro.Longitude.Trim()}&transacao=Venda&tipo=Im%C3%B3vel%20usado";

            Random r    = new Random();
            int    rInt = r.Next(1500, 4000);

            Thread.Sleep(rInt);

            string retorno = Crawler.Get(urlZap).Result;

            //string retorno = Crawler.GerProxy(urlZap);

            return(retorno.ToSingleLine());
        }
        public ActionResult Create(Bairros bairro)
        {
            bairro.Id = GetHashCode();
            if (ModelState.IsValid)
            {
                bairro.Id = bairro.GetHashCode();
                db.Bairros.Add(bairro);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.Estado_Id    = new SelectList(db.Estados, "Id", "Nome", bairro.Estado);
            ViewBag.Municipio_Id = new SelectList(db.Cidades, "Id", "Nome", bairro.Cidade);
            ViewBag.Pais_Id      = new SelectList(db.Paises, "Id", "Nome", bairro.Estado);
            return(View(bairro));
        }
        // GET: Bairros/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Bairros bAIRROS = db.Bairros.Find(id);

            if (bAIRROS == null)
            {
                return(HttpNotFound());
            }
            ViewBag.Estado_Id    = new SelectList(db.Estados, "Id", "Nome", bAIRROS.Estado);
            ViewBag.Municipio_Id = new SelectList(db.Cidades, "Id", "Nome", bAIRROS.Cidade);
            ViewBag.Pais_Id      = new SelectList(db.Paises, "Id", "Nome", bAIRROS.Pais);
            return(View(bAIRROS));
        }
        private void CarregaComboBairro()
        {
            Retorno objRetorno;

            using (var objBLL = new Bairros())
            {
                objRetorno = objBLL.RetornaListaBairro();
            }
            if (objRetorno.intCodigoErro == 0)
            {
                arrBairro = (List <tbBairro>)objRetorno.objRetorno;
            }
            else
            {
                MessageBox.Show(objRetorno.strMsgErro, "Atenção", MessageBoxButton.OK, Util.GetMessageImage(objRetorno.intCodigoErro));
            }
        }
Example #20
0
 private void Editar(object objParam)
 {
     if (objParam != null)
     {
         Retorno objRetorno;
         using (var objBLL = new Bairros())
         {
             objRetorno = objBLL.RetornaBairro((int)objParam, null);
         }
         if (objRetorno.intCodigoErro == 0)
         {
             objBairro = (tbBairro)objRetorno.objRetorno;
             base.enStatusTelaAtual = enStatusTela.EmInclusaoOuAlteracao;
         }
         else
         {
             MessageBox.Show(objRetorno.strMsgErro, "Atenção", MessageBoxButton.OK, Util.GetMessageImage(objRetorno.intCodigoErro));
         }
     }
 }
Example #21
0
        public async Task LoadBairrosFromCsv(string fileName, int indiceAttributo = 1)
        {
            var linhas = (await File.LoadFileAsync(fileName)).Split('\n');;

            for (int i = 1; i < linhas.Length - 1; i++)
            {
                try
                {
                    var linha      = linhas[i];
                    var nomeBairro = linha.Split(',')[indiceAttributo].Replace("\"", "").Replace("\r", "");
                    var bairro     = new Bairro {
                        Nome = nomeBairro
                    };
                    Bairros.Add(bairro);
                }
                catch (Exception e)
                {
                    throw;
                }
            }
        }
        // Isso é um construtor, presente em qualquer linguagem de programação.
        // Todo o código escrito aqui será chamado SOMENTE UMA VEZ durante a inicialização da janela
        public CadastroContratoViewModel() : base(new Repository())
        {
            // Carregamos todos os Contratos gravados no banco de dados. isso é similar a um "SELECT * FROM Contrato";
            var contratos = Repository.GetAll <Contrato>();

            // Populamos o combobox com os contatos recuperados
            foreach (var contrato in contratos)
            {
                ContratosSalvos.Add(contrato);
            }

            // Carregamos todas as Naturalidades gravados no banco de dados. isso é similar a um "SELECT * FROM Naturalidade";
            var naturalidades = Repository.GetAll <Naturalidade>();

            // Populamos o combobox com as naturalidades recuperados
            foreach (var naturalidade in naturalidades)
            {
                Naturalidades.Add(naturalidade);
            }

            // Carregamos todas os estados civis gravados no banco de dados. isso é similar a um "SELECT * FROM EstadoCivil";
            var estadosCivis = Repository.GetAll <EstadoCivil>();

            // Populamos o combobox com os estadosCivis recuperados
            foreach (var estadoCivil in estadosCivis)
            {
                EstadosCivis.Add(estadoCivil);
            }
            // Aqui definimos que inicialmente o estado civil selecionado será o primeiro elemento do combobox
            EstadoCivilSelecionado = EstadosCivis.First();

            // Carregamos todas os Estados gravados no banco de dados. isso é similar a um "SELECT * FROM Estado";
            var estados = Repository.GetAll <Estado>();

            // Populamos o combobox com os estados recuperados
            foreach (var estado in estados)
            {
                Estados.Add(estado);
            }

            // Carregamos todas os Bairros gravados no banco de dados. isso é similar a um "SELECT * FROM Bairro";
            var bairros = Repository.GetAll <Bairro>();

            // Populamos o combobox com os bairros recuperados
            foreach (var bairro in bairros)
            {
                Bairros.Add(bairro);
            }

            // Carregamos todas as Cidades gravados no banco de dados. isso é similar a um "SELECT * FROM Cidade";
            var cidades = Repository.GetAll <Cidade>();

            // Populamos o combobox com as cidades recuperados
            foreach (var cidade in cidades)
            {
                Cidades.Add(cidade);
            }

            // Carregamos todas as Secretarias gravados no banco de dados. isso é similar a um "SELECT * FROM Secretaria";
            var secretarias = Repository.GetAll <Secretaria>();

            // Populamos o combobox com as secretarias recuperados
            foreach (var secretaria in secretarias)
            {
                Secretarias.Add(secretaria);
            }

            // Carregamos todas as Jornadas gravados no banco de dados. isso é similar a um "SELECT * FROM Jornada";
            var jornadas = Repository.GetAll <Jornada>();

            // Populamos o combobox com as jornadas recuperados
            foreach (var jornada in jornadas)
            {
                Jornadas.Add(jornada);
            }

            // Criamos um comando para o botão de Salvar. O método "SalvarExecute" será chamado sempre que o usuário acionar o botão
            SalvarCommand = new DelegateCommand(SalvarExecute);


            // Criamos uma rotina que será executada sempre que a secretaria selecionada mudar.
            // Diferente dos demais códigos escritos no construtor, esse código pode ser chamado mais de uma vez.
            this.WhenAnyValue(s => s.SecretariaSelecionada)
            .Subscribe(newSecretaria =>
            {
                // Atenção: O código de todo esse bloco será executado sempre que uma nova secretaria for selecionada.
                // "newSecretaria" representa a nova secretaria selecionada pelo usuário.


                // Caso a nova secretaria selecionada não seja null, isto é, não seja uma secretária inválida
                if (newSecretaria != null)
                {
                    // Carregamos todas as descrições associadas a nova secretaria selecionada. isso é similar a um "SELECT * FROM DescricaoVinculo WHERE SecretariaId = @newSecretariaId";
                    var descricaoVinculos = Repository.Get <DescricaoVinculo>(e => e.SecretariaId == newSecretaria.SecretariaId);
                    // Populamos o combobox com as descricaoVinculos recuperados
                    foreach (var descricaoVinculo in descricaoVinculos)
                    {
                        DescricaoVinculos.Add(descricaoVinculo);
                    }

                    // Carregamos todos os orgãos associados a nova secretaria selecionada. isso é similar a um "SELECT * FROM Orgao WHERE SecretariaId = @newSecretariaId";
                    var orgaos = Repository.Get <Orgao>(e => e.SecretariaId == newSecretaria.SecretariaId);
                    // Populamos o combobox com os orgaos recuperados
                    foreach (var orgao in orgaos)
                    {
                        Orgaos.Add(orgao);
                    }

                    // Carregamos todos os departamentos associados a nova secretaria selecionada. isso é similar a um "SELECT * FROM Departamento WHERE SecretariaId = @newSecretariaId";
                    var departamentos = Repository.Get <Departamento>(e => e.SecretariaId == newSecretaria.SecretariaId);
                    // Populamos o combobox com os departamentos recuperados
                    foreach (var departamento in departamentos)
                    {
                        Departamentos.Add(departamento);
                    }

                    // Carregamos todos as dotações associadas a nova secretaria selecionada. isso é similar a um "SELECT * FROM Dotacao WHERE SecretariaId = @newSecretariaId";
                    var dotacoes = Repository.Get <Dotacao>(e => e.SecretariaId == newSecretaria.SecretariaId);
                    // Populamos o combobox com os departamentos recuperados
                    foreach (var dotacao in dotacoes)
                    {
                        Dotacoes.Add(dotacao);
                    }

                    // Carregamos todos os Cargos associados a nova secretaria selecionada. isso é similar a um "SELECT * FROM Cargo WHERE SecretariaId = @newSecretariaId";
                    var cargos = Repository.Get <Cargo>(e => e.SecretariaId == newSecretaria.SecretariaId);
                    // Populamos o combobox com os cargos recuperados
                    foreach (var cargo in cargos)
                    {
                        Cargos.Add(cargo);
                    }
                }
            });
        }
        public ReactiveCadastroContratoViewModel(IReactiveRepository repository, DispatcherScheduler dispatcherScheduler)
            : base(repository, dispatcherScheduler)
        {
            // NOTE: Inicialização dos campos

            // Carrega os contratos do banco
            Repository.GetAll <Contrato>()
            .Busy(this)
            .Subscribe(contratos =>
            {
                foreach (var contrato in contratos)
                {
                    ContratosSalvos.Add(contrato);
                }
            },
                       ex =>
            {
                System.Windows.Forms.MessageBox.Show(ex.Message, "Erro");
            });

            // Carrega as naturalidades do banco de maneira assíncrona
            Repository.GetAll <Naturalidade>()
            .Busy(this)
            .Subscribe(naturalidades =>
            {
                foreach (var naturalidade in naturalidades)
                {
                    Naturalidades.Add(naturalidade);
                }
                NaturalidadeSelecionada = Naturalidades.First();
            },
                       ex =>
            {
                System.Windows.Forms.MessageBox.Show(ex.Message, "Erro");
            });

            Repository.GetAll <EstadoCivil>()
            .Busy(this)
            .Subscribe(estadosCivis =>
            {
                foreach (var estadoCivil in estadosCivis)
                {
                    EstadosCivis.Add(estadoCivil);
                }
                EstadoCivilSelecionado = EstadosCivis.First();
            },
                       ex =>
            {
                System.Windows.Forms.MessageBox.Show(ex.Message, "Erro");
            });

            // Carrega os estados do banco de maneira assíncrona
            Repository.GetAll <Estado>()
            .Busy(this)
            .Subscribe(estados =>
            {
                foreach (var estado in estados)
                {
                    Estados.Add(estado);
                }
            },
                       ex =>
            {
                System.Windows.Forms.MessageBox.Show(ex.Message, "Erro");
            });

            // Carrega os bairros do banco de maneira assíncrona
            Repository.GetAll <Bairro>()
            .Busy(this)
            .Subscribe(bairros =>
            {
                foreach (var bairro in bairros)
                {
                    Bairros.Add(bairro);
                }
            },
                       ex =>
            {
                System.Windows.Forms.MessageBox.Show(ex.Message, "Erro");
            });

            // Carrega os cidades do banco de maneira assíncrona
            Repository.GetAll <Cidade>()
            .Busy(this)
            .Subscribe(cidades =>
            {
                foreach (var cidade in cidades)
                {
                    Cidades.Add(cidade);
                }
            },
                       ex =>
            {
                System.Windows.Forms.MessageBox.Show(ex.Message, "Erro");
            });

            // Carrega as secretarias do banco de maneira assíncrona
            Repository.GetAll <Secretaria>()
            .Busy(this)
            .Subscribe(secretarias =>
            {
                foreach (var secretaria in secretarias)
                {
                    Secretarias.Add(secretaria);
                }
            },
                       ex =>
            {
                System.Windows.Forms.MessageBox.Show(ex.Message, "Erro");
            });

            // Carrega as jornadas do banco de maneira assíncrona
            Repository.GetAll <Jornada>()
            .Busy(this)
            .Subscribe(jornadas =>
            {
                foreach (var jornada in jornadas)
                {
                    Jornadas.Add(jornada);
                }
            },
                       ex =>
            {
                System.Windows.Forms.MessageBox.Show(ex.Message, "Erro");
            });


            // NOTE: Validação dos campos.
            // Para cada campo abaixo é criado um fluxo que verifica se o campo está preenchido. Caso não esteja
            // uma notificação de erro será propagada. O fluxo é acionado de maneira reativa, através da interação
            // do usuário na aplicação.

            var nomeHasErrors = this.WhenAnyValue(s => s.Nome, texto => string.IsNullOrEmpty(texto));

            ObservarErroCampoObrigatorio(nomeHasErrors, nameof(Nome));


            var cpfHasErros = this.WhenAnyValue(s => s.Cpf, texto => string.IsNullOrEmpty(texto));

            ObservarErroCampoObrigatorio(cpfHasErros, nameof(Cpf));


            var rgHasErros = this.WhenAnyValue(s => s.Rg, texto => string.IsNullOrEmpty(texto));

            ObservarErroCampoObrigatorio(rgHasErros, nameof(Rg));


            var orgExpHasErros = this.WhenAnyValue(s => s.OrgExp, texto => string.IsNullOrEmpty(texto));

            ObservarErroCampoObrigatorio(orgExpHasErros, nameof(OrgExp));


            var enderecoHasErros = this.WhenAnyValue(s => s.Endereco, texto => string.IsNullOrEmpty(texto));

            ObservarErroCampoObrigatorio(enderecoHasErros, nameof(Endereco));


            var estadoCivilHasErros = this.WhenAny(s => s.EstadoCivilSelecionado, e => e.Value is null);


            var naturalidadeHasErros = this.WhenAny(s => s.NaturalidadeSelecionada, e => e.Value is null);


            var estadoHasErros = this.WhenAny(s => s.EstadoSelecionado, e => e.Value is null);


            var bairroHasErros = this.WhenAny(s => s.BairroSelecionado, e => e.Value is null);


            var cidadeHasErros = this.WhenAny(s => s.CidadeSelecionada, e => e.Value is null);


            var secretariaHasErros = this.WhenAny(s => s.SecretariaSelecionada, e => e.Value is null);


            var orgaoHasErros = this.WhenAny(s => s.OrgaoSelecionado, e => e.Value is null);


            var deparmentoHasErros = this.WhenAny(s => s.DepartamentoSelecionado, e => e.Value is null);


            var dotacaoHasErros = this.WhenAny(s => s.DotacaoSelecionado, e => e.Value is null);


            var descricaoVinculoHasErros = this.WhenAny(s => s.DescricaoVinculoSelecionado, e => e.Value is null);


            var cargoHasErros = this.WhenAny(s => s.CargoSelecionado, e => e.Value is null);

            var jornadaHasErros = this.WhenAny(s => s.JornadaSelecionada, e => e.Value is null);


            // Criamos um fluxo que é a combinação de todos os fluxos de validação acima.
            // Caso algum fluxo apresente o valor verdadeiro, isto é, caso algum fluxo notifique uma mensagem de erro,
            // este fluxo irá propagar uma notificação que fará com que o comando abaixo não possa ser executado.

            var salvarCanExecute = Observable.CombineLatest(
                this.WhenAnyValue(s => s.IsBusy),
                nomeHasErrors,
                cpfHasErros,
                rgHasErros,
                orgExpHasErros,
                estadoCivilHasErros,
                naturalidadeHasErros,
                estadoHasErros,
                enderecoHasErros,
                bairroHasErros,
                cidadeHasErros,
                secretariaHasErros,
                orgaoHasErros,
                deparmentoHasErros,
                dotacaoHasErros,
                descricaoVinculoHasErros,
                cargoHasErros,
                jornadaHasErros)
                                   .Select(observables => !observables.Any(r => r == true));

            SalvarCommand = ReactiveCommand.Create(SalvarExecute, salvarCanExecute);



            // Regras de negócio

            // Ao selecionar uma nova secretaria carregamos dados referentes a esta secretaria
            this.WhenAnyValue(s => s.SecretariaSelecionada)
            .Subscribe(newSecretaria =>
            {
                if (newSecretaria != null)
                {
                    Repository.Get <DescricaoVinculo>(e => e.SecretariaId == newSecretaria.SecretariaId)
                    .Busy(this)
                    .Subscribe(descricaoVinculos =>
                    {
                        foreach (var descricaoVinculo in descricaoVinculos)
                        {
                            DescricaoVinculos.Add(descricaoVinculo);
                        }
                    },
                               ex =>
                    {
                        System.Windows.Forms.MessageBox.Show(ex.Message, "Erro");
                    });

                    Repository.Get <Orgao>(e => e.SecretariaId == newSecretaria.SecretariaId)
                    .Busy(this)
                    .Subscribe(orgaos =>
                    {
                        foreach (var orgao in orgaos)
                        {
                            Orgaos.Add(orgao);
                        }
                    },
                               ex =>
                    {
                        System.Windows.Forms.MessageBox.Show(ex.Message, "Erro");
                    });

                    Repository.Get <Departamento>(e => e.SecretariaId == newSecretaria.SecretariaId)
                    .Busy(this)
                    .Subscribe(departamentos =>
                    {
                        foreach (var departamento in departamentos)
                        {
                            Departamentos.Add(departamento);
                        }
                    },
                               ex =>
                    {
                        System.Windows.Forms.MessageBox.Show(ex.Message, "Erro");
                    });

                    Repository.Get <Dotacao>(e => e.SecretariaId == newSecretaria.SecretariaId)
                    .Busy(this)
                    .Subscribe(dotacoes =>
                    {
                        foreach (var dotacao in dotacoes)
                        {
                            Dotacoes.Add(dotacao);
                        }
                    },
                               ex =>
                    {
                        System.Windows.Forms.MessageBox.Show(ex.Message, "Erro");
                    });

                    Repository.Get <Cargo>(e => e.SecretariaId == newSecretaria.SecretariaId)
                    .Busy(this)
                    .Subscribe(cargos =>
                    {
                        foreach (var cargo in cargos)
                        {
                            Cargos.Add(cargo);
                        }
                    },
                               ex =>
                    {
                        System.Windows.Forms.MessageBox.Show(ex.Message, "Erro");
                    });
                }
            });
        }
Example #24
0
    protected void btnConta_Click(object sender, EventArgs e)
    {
        if (EscolhePessoa.SelectedValue == "1")
        {
            Clientes cli = new Clientes();
            cli.Cli_nome            = textNome.Text;
            cli.Cli_email           = textEmail.Text;
            cli.Cli_senha           = ClientesDB.PWD(textSenha.Text);
            cli.Cli_sexo            = Convert.ToChar(rblSexo.SelectedValue);
            cli.Cli_data_nascimento = Convert.ToDateTime(textCalendario.Text);
            cli.Cli_celular         = textCelular.Text;
            cli.Cli_id = ClientesDB.Insert(cli);

            Cidades cid = new Cidades();

            Bairros bai = new Bairros();
            bai.Bai_nome = textBairro.Text;
            bai.Bai_rua  = textRua.Text;
            //FK
            cid.Cid_id = Convert.ToInt32(rblCidade.SelectedValue);
            bai.Cid_id = cid;
            bai.Bai_id = BairrosDB.Insert(bai);

            Enderecos end = new Enderecos();
            end.End_cep  = textCep.Text;
            end.End_tipo = textComplemento.Text;
            //FK
            end.Bai_id = bai;
            end.End_id = EnderecosDB.Insert(end);

            ClienteEndereco cle = new ClienteEndereco();
            cle.Cle_num       = textNumero.Text;
            cle.Cle_principal = true;
            //FK
            cle.Cli_id = cli;
            cle.End_id = end;


            switch (ClienteEnderecoDB.Insert(cle))
            {
            case 0:
                Session["cli_cliente"] = cli;
                Response.Redirect("../PaginaCliente/MeusDados.aspx");
                break;

            case -2:
                ltl.Text = "<p class='text-success'>Erro no cadastro</p>";
                Page.ClientScript.RegisterStartupScript(this.GetType(), "script", "<script>$('#myModal').modal('show');</script>", false);
                break;
            }
        }
        else
        {
            Cidades cid = new Cidades();

            Bairros bai = new Bairros();
            bai.Bai_nome = textBairro.Text;
            bai.Bai_rua  = textRua.Text;
            //FK
            cid.Cid_id = Convert.ToInt32(rblCidade.SelectedValue);
            bai.Cid_id = cid;
            bai.Bai_id = BairrosDB.Insert(bai);

            Enderecos end = new Enderecos();
            end.End_cep  = textCep.Text;
            end.End_tipo = textComplemento.Text;
            //FK
            end.Bai_id = bai;
            end.End_id = EnderecosDB.Insert(end);

            Empresas emp = new Empresas();
            emp.Emp_razao_social    = textSocial.Text;
            emp.Emp_email           = textEmail2.Text;
            emp.Emp_nome_fantasia   = textNomeFantasia.Text;
            emp.Emp_cnpj            = textCNPJ.Text;
            emp.Emp_senha           = EmpresasDB.PWD(textSenha2.Text);
            emp.Emp_numero_endereco = textNumero.Text;
            //FK
            emp.End_id = end;
            emp.Emp_id = EmpresasDB.Insert(emp);

            Telefones tel = new Telefones();
            tel.Tel_ddd = Convert.ToString(textDDD.Text);
            tel.Tel_num = Convert.ToString(textTelefone.Text);
            //FK
            tel.Emp_id = emp;

            switch (TelefonesDB.Insert(tel))
            {
            case -2:
                ltl.Text = "<p class='text-success'>Erro no cadastro</p>";
                Page.ClientScript.RegisterStartupScript(this.GetType(), "script", "<script>$('#modalUpdate').modal('show');</script>", false);
                break;

            default:
                Session["emp_empresa"] = emp;
                Response.Redirect("../PaginaEmpresa/EmpDados.aspx");
                break;
            }
        }
    }
        private void Bairro(object objParam)
        {
            int intCodigo;

            if (objParam != null)
            {
                blnComplementoFocus = false;
                if (objParam.GetType() == typeof(tbBairro))
                {
                    if (((tbBairro)objParam).bai_codigo > 0)
                    {
                        objClienteEndereco.bai_codigo                  = ((tbBairro)objParam).bai_codigo;
                        objClienteEndereco.tbBairro.bai_nome           = ((tbBairro)objParam).bai_nome;
                        objClienteEndereco.tbBairro.bai_realizaEntrega = ((tbBairro)objParam).bai_realizaEntrega;
                        _blnComplementoFocus = true;
                    }
                    else
                    {
                        objClienteEndereco.bai_codigo                  = 0;
                        objClienteEndereco.tbBairro.bai_nome           = string.Empty;
                        objClienteEndereco.tbBairro.bai_realizaEntrega = false;
                    }
                    RaisePropertyChanged("bai_codigo");
                    RaisePropertyChanged("bai_nome");
                    RaisePropertyChanged("bai_realizaEntrega");
                    RaisePropertyChanged("blnComplementoFocus");
                }
                else if (objParam.ToString() == "Pesquisar")
                {
                    winCadastro     objTelaCadastro    = new winCadastro();
                    BairroViewModel objBairroViewModel = new BairroViewModel();
                    objBairroViewModel.OnDispose += (sen1, eve1) => { objTelaCadastro.Close(); };
                    objBairroViewModel.blnJanela  = true;
                    objTelaCadastro.Title         = "Cadastro - " + objBairroViewModel.strNomeTela;
                    objTelaCadastro.DataContext   = objBairroViewModel;
                    objTelaCadastro.Owner         = (Window)Application.Current.MainWindow;
                    objTelaCadastro.Closed       += (sen, eve) =>
                    {
                        Bairro(objBairroViewModel.objBairro);
                        objBairroViewModel = null;
                        objTelaCadastro    = null;
                    };
                    objTelaCadastro.ShowDialog();
                }
                else if (int.TryParse(objParam.ToString(), out intCodigo))
                {
                    Retorno objRetorno;
                    using (var objBLL = new Bairros())
                    {
                        objRetorno = objBLL.RetornaBairro(intCodigo, null);
                    }
                    if (objRetorno.intCodigoErro == 0)
                    {
                        Bairro((tbBairro)objRetorno.objRetorno);
                    }
                    else
                    {
                        MessageBox.Show(objRetorno.strMsgErro, "Atenção", MessageBoxButton.OK, Util.GetMessageImage(objRetorno.intCodigoErro));
                        Bairro(new tbBairro());
                    }
                }
                else
                {
                    Bairro("Pesquisar");
                }
            }
        }