/// <summary> /// Carrega a entidade do endereço cadastrado quando for cadastro único, seta o número /// e o complemento. /// Retorna true: /// - Se o endereço não é obrigatório e está completo /// (todos os campos obrigatórios estão preenchidos). /// - Se o endereço não é obrigatório e não foi preenchido nenhum campo. /// Retorna false: /// - Se o endereço é obrigatório e não foi preenchido todos os campos. /// - Se o endereço não é obrigatório e tem somente alguns campos preenchidos /// (começou tem que terminar). /// </summary> /// <param name="ent"></param> /// <param name="numero"></param> /// <param name="complemento"></param> /// <param name="msgErro"></param> /// <returns></returns> public bool RetornaEnderecoCadastrado(out END_Endereco ent, out string numero, out string complemento, out string msgErro) { ent = new END_Endereco(); msgErro = ""; numero = ""; complemento = ""; DataTable dt = RetornaEnderecos(); if (dt.Rows.Count > 0) { // Carregar dados do endereço. DataRow dr = dt.Rows[0]; string end_id = dr["end_id"].ToString(); // Preenche o ID do endereço. if ((String.IsNullOrEmpty(end_id)) || (end_id.Equals(Guid.Empty.ToString()))) { ent.end_id = new Guid(dr["id"].ToString()); ent.IsNew = true; } else { ent.end_id = new Guid(dr["end_id"].ToString()); ent.IsNew = false; END_EnderecoBO.GetEntity(ent); } ent.end_cep = dr["end_cep"].ToString(); ent.end_logradouro = dr["end_logradouro"].ToString(); ent.end_distrito = dr["end_distrito"].ToString(); ent.end_zona = Convert.ToByte(dr["end_zona"]); ent.end_bairro = dr["end_bairro"].ToString(); ent.cid_id = String.IsNullOrEmpty(dr["cid_id"].ToString()) ? Guid.Empty : new Guid(dr["cid_id"].ToString()); ent.cid_nome = dr["cid_nome"].ToString(); numero = dr["numero"].ToString(); complemento = dr["complemento"].ToString(); } bool ret; // Verificar se endereço está válido. if (_VS_Obrigatorio) { ret = ((ent.Validate()) && (ent.cid_id != Guid.Empty)); if (!ret) { msgErro = UtilBO.ErrosValidacao(ent); } if (ent.cid_id == Guid.Empty) { if (String.IsNullOrEmpty(ent.cid_nome)) { msgErro += "Cidade é obrigatório.<br/>"; } else { msgErro += "Cidade não encontrada.<br/>"; } } if (String.IsNullOrEmpty(numero)) { ret = false; msgErro += "Número é obrigatório."; } } else { if ((!String.IsNullOrEmpty(ent.end_cep)) || (!String.IsNullOrEmpty(ent.end_logradouro)) || (!String.IsNullOrEmpty(numero)) || (!String.IsNullOrEmpty(ent.end_distrito)) || (ent.end_zona > 0) || (!String.IsNullOrEmpty(ent.end_bairro)) || (ent.cid_id != Guid.Empty)) { // Se preencheu pelo menos 1 campo, tem que preencher todos. ret = ((ent.Validate()) && (ent.cid_id != Guid.Empty)); if (!ret) { msgErro += UtilBO.ErrosValidacao(ent); } if (ent.cid_id == Guid.Empty) { msgErro += "Cidade é obrigatório.<br/>"; } if (String.IsNullOrEmpty(numero)) { ret = false; msgErro += "Número é obrigatório."; } } else { ret = true; } } return(ret); }
/// <summary> /// Carrega a entidade do endereço cadastrado quando for cadastro único, seta o número /// e o complemento. /// Retorna true: /// - Se o endereço não é obrigatório e está completo /// (todos os campos obrigatórios estão preenchidos). /// - Se o endereço não é obrigatório e não foi preenchido nenhum campo. /// Retorna false: /// - Se o endereço é obrigatório e não foi preenchido todos os campos. /// - Se o endereço não é obrigatório e tem somente alguns campos preenchidos /// (começou tem que terminar). /// </summary> /// <param name="ent"></param> /// <param name="numero"></param> /// <param name="complemento"></param> /// <param name="msgErro"></param> /// <returns></returns> public bool RetornaEnderecoCadastrado(out DataTable dt, out string msgErro) { END_Endereco ent = new END_Endereco(); msgErro = ""; string numero = ""; string complemento = ""; double latitude = 0; double longitude = 0; //DataTable //dt = RetornaEnderecos(); dt = VS_Uae; bool ret = false; bool enderecoPrincipal = false; // if (dt.Rows.Count > 0) for (int i = 0; i < dt.Rows.Count; i++) { // Carregar dados do endereço. DataRow dr = dt.Rows[i]; if (Convert.ToBoolean(dr["enderecoprincipal"].ToString())) { enderecoPrincipal = Convert.ToBoolean(dr["enderecoprincipal"].ToString()); } string end_id = dr["end_id"].ToString(); // Preenche o ID do endereço. if ((String.IsNullOrEmpty(end_id)) || (end_id.Equals(Guid.Empty.ToString()))) { ent.end_id = new Guid(dr["id"].ToString()); ent.IsNew = true; } else { ent.end_id = new Guid(dr["end_id"].ToString()); ent.IsNew = false; END_EnderecoBO.GetEntity(ent); } ent.end_cep = dr["end_cep"].ToString(); ent.end_logradouro = dr["end_logradouro"].ToString(); ent.end_distrito = dr["end_distrito"].ToString(); if (!(string.IsNullOrEmpty(dr["end_zona"].ToString()))) { ent.end_zona = Convert.ToByte(dr["end_zona"]); } ent.end_bairro = dr["end_bairro"].ToString(); ent.cid_id = String.IsNullOrEmpty(dr["cid_id"].ToString()) ? Guid.Empty : new Guid(dr["cid_id"].ToString()); ent.cid_nome = dr["cid_nome"].ToString(); numero = dr["numero"].ToString(); complemento = dr["complemento"].ToString(); //} // Verificar se endereço está válido. if (_VS_Obrigatorio) { ret = ((ent.Validate()) && (ent.cid_id != Guid.Empty)); if (!ret) { msgErro = UtilBO.ErrosValidacao(ent); } if (!string.IsNullOrEmpty(dr["latitude"].ToString())) { if (double.TryParse(dr["latitude"].ToString(), out latitude)) { dr["latitude"] = dr["latitude"].ToString().Replace(".", ","); latitude = string.IsNullOrEmpty(dr["latitude"].ToString()) ? 0 : double.Parse(dr["latitude"].ToString()); } else { msgErro += "Latitude está incorreto.<br/>"; ret = false; } } if (!string.IsNullOrEmpty(dr["longitude"].ToString())) { if (double.TryParse(dr["longitude"].ToString(), out longitude)) { dr["longitude"] = dr["longitude"].ToString().Replace(".", ","); longitude = string.IsNullOrEmpty(dr["longitude"].ToString()) ? 0 : double.Parse(dr["longitude"].ToString()); } else { msgErro += "Longitude está incorreto.<br/>"; ret = false; } } if (ent.cid_id == Guid.Empty) { if (String.IsNullOrEmpty(ent.cid_nome)) { msgErro += "Endereço " + (i + 1) + " - Cidade é obrigatório.<br/>"; } else { msgErro += "Endereço " + (i + 1) + " - Cidade não encontrada.<br/>"; } } if (String.IsNullOrEmpty(numero)) { ret = false; msgErro += "Endereço " + (i + 1) + " - Número é obrigatório.<br/>"; } } else { if ((!String.IsNullOrEmpty(ent.end_cep)) || (!String.IsNullOrEmpty(ent.end_logradouro)) || (!String.IsNullOrEmpty(numero)) || (!String.IsNullOrEmpty(ent.end_distrito)) || (ent.end_zona > 0) || (!String.IsNullOrEmpty(ent.end_bairro)) || (ent.cid_id != Guid.Empty)) { // Se preencheu pelo menos 1 campo, tem que preencher todos. ret = ((ent.Validate()) && (ent.cid_id != Guid.Empty)); if (!ret) { msgErro += UtilBO.ErrosValidacao(ent); } if (ent.cid_id == Guid.Empty) { msgErro += "Endereço " + (i + 1) + " - Cidade é obrigatório.<br/>"; } if (String.IsNullOrEmpty(numero)) { ret = false; msgErro += "Endereço " + (i + 1) + " - Número é obrigatório.<br/>"; } if (!enderecoPrincipal) { ret = false; msgErro += "É necessário selecionar um endereço principal."; } if (!string.IsNullOrEmpty(dr["latitude"].ToString())) { if (double.TryParse(dr["latitude"].ToString(), out latitude)) { // dr["latitude"] = dr["latitude"].ToString().Replace(".", ","); latitude = string.IsNullOrEmpty(dr["latitude"].ToString()) ? 0 : double.Parse(dr["latitude"].ToString()); } else { msgErro += "Latitude está incorreto.<br/>"; ret = false; } } if (!string.IsNullOrEmpty(dr["longitude"].ToString())) { if (double.TryParse(dr["longitude"].ToString(), out longitude)) { // dr["longitude"] = dr["longitude"].ToString().Replace(".", ","); longitude = string.IsNullOrEmpty(dr["longitude"].ToString()) ? 0 : double.Parse(dr["longitude"].ToString()); } else { msgErro += "Longitude está incorreto.<br/>"; ret = false; } } } else { ret = true; } } } if (!_VS_Obrigatorio && dt.Rows.Count == 0) { ret = true; } if (_VS_Obrigatorio && !enderecoPrincipal) { ret = false; msgErro += "É necessário selecionar um endereço principal."; } return(ret); }