/// <summary> /// Método para retornar as unidades federativas /// </summary> /// <returns>List<Contrato.UnidadeFederativa></returns> internal static Contrato.RetornoUnidadeFederativa ListarUnidadeFederativa() { // Objeto que recebe o retorno do método Contrato.RetornoUnidadeFederativa retUnidadeFederativa = new Contrato.RetornoUnidadeFederativa(); // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); // Busca o usuario no banco List<Contrato.UnidadeFederativa> lstUnidadesFederativas = (from uf in context.T_UNIDADE_FEDERATIVA select new Contrato.UnidadeFederativa { Id = uf.ID_UNIDADE_FEDERATIVA, Codigo = uf.COD_UNIDADE_FEDERATIVA, Nome = uf.NOME_UNIDADE_FEDERATIVA }).ToList(); // Verifica se foi encontrado algum registro if (lstUnidadesFederativas.Count > 0) { // Preenche o objeto de retorno retUnidadeFederativa.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; retUnidadeFederativa.UnidadesFederativas = lstUnidadesFederativas; } else { // Preenche o objeto de retorno retUnidadeFederativa.Codigo = Contrato.Constantes.COD_RETORNO_VAZIO; retUnidadeFederativa.Mensagem = "Não existem unidades federativas cadastradas."; } // retorna os dados return retUnidadeFederativa; }
/// <summary> /// Método para buscar a unidade federativa /// </summary> /// <param name="codigoUnidade">Código da unidade federativa do cliente</param> /// <returns>Contrato.UnidadeFederativa</returns> internal static Contrato.UnidadeFederativa BuscarUnidadeFederativa(string codigoUnidade) { // Objeto que recebe o retorno do método Contrato.UnidadeFederativa retUf = new Contrato.UnidadeFederativa(); // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); // Recupera a unidade federativa Dados.UNIDADE_FEDERATIVA uf = context.T_UNIDADE_FEDERATIVA.FirstOrDefault( ufd => ufd.COD_UNIDADE_FEDERATIVA == codigoUnidade ); // Verifica se foi encontrado algum registro if (uf != null) { retUf = new Contrato.UnidadeFederativa() { Id = uf.ID_UNIDADE_FEDERATIVA, Nome = uf.NOME_UNIDADE_FEDERATIVA, Codigo = uf.COD_UNIDADE_FEDERATIVA }; } // retorna os dados return retUf; }
/// <summary> /// Método para listar os permissões /// </summary> /// <param name="entradaEstadoOrcamento.Permissoes">Objeto com os dados do filtro</param> /// <returns>Contrato.RetornoEstadoOrcamento</returns> internal static Contrato.RetornoEstadoOrcamento ListarEstadoOrcamento(Contrato.EntradaEstadoOrcamento entradaEstadoOrcamento) { // Objeto que recebe o retorno do método Contrato.RetornoEstadoOrcamento retEstadoOrcamento = new Contrato.RetornoEstadoOrcamento(); // Objeto que recebe o retorno da sessão Contrato.RetornoSessao retSessao = Negocio.Sessao.ValidarSessao(new Contrato.Sessao() { Login = entradaEstadoOrcamento.UsuarioLogado, Chave = entradaEstadoOrcamento.Chave }); // Verifica se o usuário está autenticado if (retSessao.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO) { // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); context.ContextOptions.LazyLoadingEnabled = true; // Busca o estadoOrcamento no banco List<Dados.ESTADO_ORCAMENTO> lstPermissoes = (from f in context.T_ESTADO_ORCAMENTO where (entradaEstadoOrcamento.EstadoOrcamento.Ativo == null || f.BOL_ATIVO == entradaEstadoOrcamento.EstadoOrcamento.Ativo) select f).ToList(); // Verifica se foi encontrado algum registro if (lstPermissoes.Count > 0) { // Preenche o objeto de retorno retEstadoOrcamento.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; retEstadoOrcamento.EstadosOrcamento = new List<Contrato.EstadoOrcamento>(); foreach (Dados.ESTADO_ORCAMENTO estadoOrcamento in lstPermissoes) { retEstadoOrcamento.EstadosOrcamento.Add(new Contrato.EstadoOrcamento() { Id = estadoOrcamento.ID_ESTADO_ORCAMENTO, Codigo = estadoOrcamento.COD_ESTADO_ORCAMENTO, Nome = estadoOrcamento.NOME_ESTADO_ORCAMENTO, Ativo = estadoOrcamento.BOL_ATIVO, Anterior = Negocio.EstadoOrcamento.BuscarOrcamentoEstadoOrcamento(estadoOrcamento.T_ESTADO_ORCAMENTO_ANTERIOR), Sucessor = Negocio.EstadoOrcamento.BuscarOrcamentoEstadoOrcamento(estadoOrcamento.T_ESTADO_ORCAMENTO_SUCESSOR) }); }; } else { // Preenche o objeto de retorno retEstadoOrcamento.Codigo = Contrato.Constantes.COD_RETORNO_VAZIO; retEstadoOrcamento.Mensagem = "Não existe dados para o filtro informado."; } } else { // retorna quando o usuário não está autenticado retEstadoOrcamento.Codigo = retSessao.Codigo; retEstadoOrcamento.Mensagem = retSessao.Mensagem; } // retorna os dados return retEstadoOrcamento; }
/// <summary> /// Método para listar os permissões /// </summary> /// <param name="entradaPermissao.Permissoes">Objeto com os dados do filtro</param> /// <returns>Contrato.RetornoPermissao</returns> internal static Contrato.RetornoPermissao ListarPermissao(Contrato.EntradaPermissao entradaPermissao) { // Objeto que recebe o retorno do método Contrato.RetornoPermissao retPermissao = new Contrato.RetornoPermissao(); // Objeto que recebe o retorno da sessão Contrato.RetornoSessao retSessao = Negocio.Sessao.ValidarSessao(new Contrato.Sessao() { Login = entradaPermissao.UsuarioLogado, Chave = entradaPermissao.Chave }); // Verifica se o usuário está autenticado if (retSessao.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO) { // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); // Busca o permissao no banco List<Dados.PERMISSAO> lstPermissoes = (from f in context.T_PERMISSAO where (f.BOL_ATIVO == entradaPermissao.Permissao.Ativo) select f).ToList(); // Verifica se foi encontrado algum registro if (lstPermissoes.Count > 0) { // Preenche o objeto de retorno retPermissao.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; retPermissao.Permissoes = new List<Contrato.Permissao>(); foreach (Dados.PERMISSAO permissao in lstPermissoes) { retPermissao.Permissoes.Add(new Contrato.Permissao() { Id = permissao.ID_PERMISSAO, Nome = permissao.NOME_PERMISSAO, Ativo = permissao.BOL_ATIVO }); }; } else { // Preenche o objeto de retorno retPermissao.Codigo = Contrato.Constantes.COD_RETORNO_VAZIO; retPermissao.Mensagem = "Não existe dados para o filtro informado."; } } else { // retorna quando o usuário não está autenticado retPermissao.Codigo = retSessao.Codigo; retPermissao.Mensagem = retSessao.Mensagem; } // retorna os dados return retPermissao; }
/// <summary> /// Método para buscar o código do fornecedor /// </summary> /// <returns>string</returns> internal static string BuscarCodigoFornecedor(Guid IdEmpresa) { // Objeto que recebe o retorno do método string retCodigoFornecedor = string.Empty; // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); System.Data.Objects.ObjectParameter objCodigoFornecedor = new System.Data.Objects.ObjectParameter("P_CODIGO", typeof(global::System.Int32)); context.RETORNAR_CODIGO(Contrato.Constantes.TIPO_COD_FORNECEDOR, IdEmpresa, objCodigoFornecedor); // Recupera o código do fornecedor retCodigoFornecedor = Util.RecuperaCodigo((int)objCodigoFornecedor.Value, Contrato.Constantes.TIPO_COD_FORNECEDOR); // retorna os dados return retCodigoFornecedor; }
/// <summary> /// Método para salvar o usuário /// </summary> /// <param name="Sessao">Objeto com os dados do usuário a Logar</param> /// <returns>Contrato.RetornoFornecedor</returns> internal static Contrato.RetornoSessao ExcluirSessao(Contrato.Sessao Sessao) { // Objeto que recebe o retorno do método Contrato.RetornoSessao retSessao = new Contrato.RetornoSessao(); // Verifica se as informações do usuário foram informadas string strValidacao = ValidarSessaoPreenchido(Sessao); // Se existe algum erro if (strValidacao.Length > 0) { retSessao.Codigo = Contrato.Constantes.COD_FILTRO_VAZIO; retSessao.Mensagem = strValidacao; } else { // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); // Busca o usuário no banco List<Dados.SESSAO> lstSessoes = (from s in context.T_SESSAO where s.LOGIN_USUARIO == Sessao.Login && s.DES_CHAVE == Sessao.Chave select s).ToList(); // Verifica se foi encontrado algum registro if (lstSessoes.Count > 0) { // Exclui a sessão do usuário context.T_SESSAO.DeleteObject(lstSessoes.First()); // Salva as alterações context.SaveChanges(); // Preenche o objeto de retorno retSessao.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; } else { // Preenche o objeto de retorno retSessao.Codigo = Contrato.Constantes.COD_RETORNO_VAZIO; } } // retorna dos dados return retSessao; }
/// <summary> /// Método para listar as sessões do usuário /// </summary> /// <param name="Sessao">Objeto com os dados da sessão a listar</param> /// <returns>Contrato.RetornoSessao</returns> internal static Contrato.RetornoSessao ListarSessao(Contrato.Sessao Sessao) { // Objeto que recebe o retorno do método Contrato.RetornoSessao retSessao = new Contrato.RetornoSessao(); // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); // Busca o usuario no banco List<Dados.SESSAO> objSessoes = (from s in context.T_SESSAO where s.LOGIN_USUARIO == Sessao.Login || Sessao.Login == string.Empty select s).ToList(); // Verifica se foi encontrado algum registro if (objSessoes != null && objSessoes.Count > 0) { // Preenche o objeto de retorno retSessao.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; retSessao.Sessoes = new List<Contrato.Sessao>(); // Para cada sessão existente foreach (Dados.SESSAO sessao in objSessoes) { retSessao.Sessoes.Add(new Contrato.Sessao { Id = sessao.ID_SESSAO, Login = sessao.LOGIN_USUARIO, Chave = sessao.DES_CHAVE }); } } else { // Preenche o objeto de retorno retSessao.Codigo = Contrato.Constantes.COD_RETORNO_VAZIO; retSessao.Mensagem = "Não existe dados para o filtro informado."; } // retorna os dados return retSessao; }
/// <summary> /// Método para listar as taxas /// </summary> /// <param name="entradaTaxa.Taxas">Objeto com os dados do filtro</param> /// <returns>Contrato.RetornoTaxa</returns> internal static Contrato.RetornoTaxa ListarTaxa(Contrato.EntradaTaxa entradaTaxa) { // Objeto que recebe o retorno do método Contrato.RetornoTaxa retTaxa = new Contrato.RetornoTaxa(); // Objeto que recebe o retorno da sessão Contrato.RetornoSessao retSessao = Negocio.Sessao.ValidarSessao(new Contrato.Sessao() { Login = entradaTaxa.UsuarioLogado, Chave = entradaTaxa.Chave }); // Verifica se o usuário está autenticado if (retSessao.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO) { // Verifica se o nome da taxa não foi informado if (string.IsNullOrWhiteSpace(entradaTaxa.Taxa.Nome)) { entradaTaxa.Taxa.Nome = string.Empty; } // Verifica se a empresa não foi informada if (string.IsNullOrWhiteSpace(entradaTaxa.EmpresaLogada.Id.ToString())) { entradaTaxa.EmpresaLogada.Id = Guid.Empty; } // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); List<Contrato.Taxa> lstTaxas = (from t in context.T_TAXA where (t.BOL_ATIVO == entradaTaxa.Taxa.Ativo) && (entradaTaxa.EmpresaLogada.Id == Guid.Empty || t.ID_EMPRESA == entradaTaxa.EmpresaLogada.Id) && (entradaTaxa.Taxa.Nome == string.Empty || t.NOME_TAXA.Contains(entradaTaxa.Taxa.Nome)) && (!entradaTaxa.Taxa.Fornecedor.HasValue || t.BOL_FORNECEDOR != null && t.BOL_FORNECEDOR == entradaTaxa.Taxa.Fornecedor.Value) && (!entradaTaxa.Taxa.Produto.HasValue || t.BOL_PRODUTO != null && t.BOL_PRODUTO == entradaTaxa.Taxa.Produto.Value) select new Contrato.Taxa { Id = t.ID_TAXA, Nome = t.NOME_TAXA, Fornecedor = t.BOL_FORNECEDOR != null ? (bool)t.BOL_FORNECEDOR : false, Produto = t.BOL_PRODUTO != null ? (bool)t.BOL_PRODUTO : false, Desconto = t.BOL_DESCONTO != null ? (bool)t.BOL_DESCONTO : false, Ativo = t.BOL_ATIVO }).ToList(); // Verifica se foi encontrado algum registro if (lstTaxas.Count > 0) { // Preenche o objeto de retorno retTaxa.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; retTaxa.Taxas = lstTaxas; } else { // Preenche o objeto de retorno retTaxa.Codigo = Contrato.Constantes.COD_RETORNO_VAZIO; retTaxa.Mensagem = "Não existe dados para o filtro informado."; } } else { // retorna quando o usuário não está autenticado retTaxa.Codigo = retSessao.Codigo; retTaxa.Mensagem = retSessao.Mensagem; } // retorna os dados return retTaxa; }
/// <summary> /// Método para listar os usuários /// </summary> /// <param name="entradaUsuario">Objeto com os dados do usuário a listar</param> /// <returns>Contrato.RetornoUsuario</returns> internal static Contrato.RetornoUsuario ListarUsuario(Contrato.EntradaUsuario entradaUsuario) { // Objeto que recebe o retorno do método Contrato.RetornoUsuario retUsuario = new Contrato.RetornoUsuario(); // Objeto que recebe o retorno da sessão Contrato.RetornoSessao retSessao = Negocio.Sessao.ValidarSessao(new Contrato.Sessao() { Login = entradaUsuario.UsuarioLogado, Chave = entradaUsuario.Chave}); // Verifica se o usuário está autenticado if (retSessao.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO) { // Verifica se a empresa não foi informada if (string.IsNullOrWhiteSpace(entradaUsuario.EmpresaLogada.Id.ToString())) { entradaUsuario.EmpresaLogada.Id = Guid.Empty; } // Verifica se o nome foi informado if (string.IsNullOrWhiteSpace(entradaUsuario.Usuario.Nome)) { entradaUsuario.Usuario.Nome = string.Empty; } // Verifica se o código do Perfil foi informado string codigoPerfil = string.Empty; if (entradaUsuario.Usuario.Perfis != null && entradaUsuario.Usuario.Perfis.Count > 0) { codigoPerfil = entradaUsuario.Usuario.Perfis.First().Codigo; } // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); context.ContextOptions.LazyLoadingEnabled = true; // Busca o usuario no banco List<Dados.USUARIO> lstUsuarios = (from u in context.T_USUARIO join up in context.T_USUARIO_PERFIL on u.ID_USUARIO equals up.ID_USUARIO join p in context.T_PERFIL on up.ID_PERFIL equals p.ID_PERFIL where (entradaUsuario.Usuario.Ativo == null || u.BOL_ATIVO == entradaUsuario.Usuario.Ativo) && (entradaUsuario.EmpresaLogada.Id == Guid.Empty || u.ID_EMPRESA == entradaUsuario.EmpresaLogada.Id) && (entradaUsuario.Usuario.Nome == string.Empty || u.NOME_USUARIO.StartsWith(entradaUsuario.Usuario.Nome)) && (entradaUsuario.Usuario.Login == string.Empty || u.LOGIN_USUARIO.Contains(entradaUsuario.Usuario.Login)) && (codigoPerfil == string.Empty || codigoPerfil == p.COD_PERFIL) select u).ToList(); // Verifica se foi encontrado algum registro if (lstUsuarios != null && lstUsuarios.Count > 0) { // Preenche o objeto de retorno retUsuario.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; retUsuario.Usuarios = new List<Contrato.Usuario>(); foreach (Dados.USUARIO usuario in lstUsuarios) { retUsuario.Usuarios.Add(new Contrato.Usuario() { Id = usuario.ID_USUARIO, Nome = usuario.NOME_USUARIO, Login = usuario.LOGIN_USUARIO, Senha = usuario.SENHA_USUARIO, Ativo = usuario.BOL_ATIVO, Perfis = Negocio.Perfil.ListarUsuarioPerfil(usuario.T_USUARIO_PERFIL) }); } } else { // Preenche o objeto de retorno retUsuario.Codigo = Contrato.Constantes.COD_RETORNO_VAZIO; retUsuario.Mensagem = "Não existe dados para o filtro informado."; } } else { // retorna quando o usuário não está autenticado retUsuario.Codigo = retSessao.Codigo; retUsuario.Mensagem = retSessao.Mensagem; } // retorna os dados return retUsuario; }
/// <summary> /// Método para salvar o usuário /// </summary> /// <param name="entradaUsuario">Objeto com os dados do usuário a Logar</param> /// <returns>Contrato.RetornoUsuario</returns> internal static Contrato.RetornoUsuario SalvarUsuario(Contrato.EntradaUsuario entradaUsuario) { // Objeto que recebe o retorno do método Contrato.RetornoUsuario retUsuario = new Contrato.RetornoUsuario(); // Objeto que recebe o retorno da sessão Contrato.RetornoSessao retSessao = Negocio.Sessao.ValidarSessao(new Contrato.Sessao() { Login = entradaUsuario.UsuarioLogado, Chave = entradaUsuario.Chave }); // Verifica se o usuário está autenticado if (retSessao.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO) { // Verifica se as informações do usuário foram informadas string strValidacao = ValidarUsuarioPreenchido(entradaUsuario.Usuario); // Se existe algum erro if (strValidacao.Length > 0) { retUsuario.Codigo = Contrato.Constantes.COD_FILTRO_VAZIO; retUsuario.Mensagem = strValidacao; } else { // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); // Busca o usuário no banco List<Dados.USUARIO> lstUsuarios = (from u in context.T_USUARIO where (u.LOGIN_USUARIO == entradaUsuario.Usuario.Login && (entradaUsuario.EmpresaLogada.Id == Guid.Empty || u.ID_EMPRESA == entradaUsuario.EmpresaLogada.Id) || (entradaUsuario.Novo == null && entradaUsuario.Usuario.Id == u.ID_USUARIO)) select u).ToList(); // Verifica se foi encontrado algum registro if (lstUsuarios.Count > 0 && entradaUsuario.Novo != null && (bool)entradaUsuario.Novo) { // Preenche o objeto de retorno retUsuario.Codigo = Contrato.Constantes.COD_REGISTRO_DUPLICADO; retUsuario.Mensagem = string.Format("O usuário de Login '{0}' já existe!", lstUsuarios.First().LOGIN_USUARIO); } else { // Se existe o usuário if (lstUsuarios.Count > 0 ) { // Atualiza o fornecedor lstUsuarios.First().NOME_USUARIO = entradaUsuario.Usuario.Nome; lstUsuarios.First().LOGIN_USUARIO = entradaUsuario.Usuario.Login; lstUsuarios.First().SENHA_USUARIO = entradaUsuario.Usuario.Senha; lstUsuarios.First().BOL_ATIVO = (bool)entradaUsuario.Usuario.Ativo; lstUsuarios.First().DATA_ATUALIZACAO = DateTime.Now; lstUsuarios.First().USUARIO_LOGADO = entradaUsuario.UsuarioLogado; // Apaga todos os perfis que estão relacionados while (lstUsuarios.First().T_USUARIO_PERFIL.Count > 0) { context.T_USUARIO_PERFIL.DeleteObject(lstUsuarios.First().T_USUARIO_PERFIL.First()); } // Verifica se existe algum perfil associado ao usuário if (entradaUsuario.Usuario.Perfis != null) { // Para cada perfil associado foreach (Contrato.Perfil perfil in entradaUsuario.Usuario.Perfis) { // Associa o perfil ao usuário lstUsuarios.First().T_USUARIO_PERFIL.Add(new Dados.USUARIO_PERFIL() { ID_USUARIO_PERFIL = Guid.NewGuid(), ID_USUARIO = lstUsuarios.First().ID_USUARIO, ID_PERFIL = perfil.Id, LOGIN_USUARIO = entradaUsuario.UsuarioLogado, DATA_ATUALIZACAO = DateTime.Now }); } } } else { // Cria o usuário Dados.USUARIO tUsuario = new Dados.USUARIO(); tUsuario.ID_USUARIO = Guid.NewGuid(); tUsuario.NOME_USUARIO = entradaUsuario.Usuario.Nome; tUsuario.LOGIN_USUARIO = entradaUsuario.Usuario.Login; tUsuario.SENHA_USUARIO = entradaUsuario.Usuario.Senha; tUsuario.ID_EMPRESA = entradaUsuario.EmpresaLogada.Id; tUsuario.BOL_ATIVO = (bool)entradaUsuario.Usuario.Ativo; tUsuario.DATA_ATUALIZACAO = DateTime.Now; tUsuario.USUARIO_LOGADO = entradaUsuario.UsuarioLogado; if (entradaUsuario.Usuario.Perfis != null) { foreach (Contrato.Perfil perfil in entradaUsuario.Usuario.Perfis) { tUsuario.T_USUARIO_PERFIL.Add(new Dados.USUARIO_PERFIL() { ID_USUARIO_PERFIL = Guid.NewGuid(), ID_USUARIO = entradaUsuario.Usuario.Id, ID_PERFIL = perfil.Id, LOGIN_USUARIO = entradaUsuario.UsuarioLogado, DATA_ATUALIZACAO = DateTime.Now }); } } context.AddToT_USUARIO(tUsuario); } // Salva as alterações context.SaveChanges(); // Preenche o objeto de retorno retUsuario.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; } } } else { // retorna quando o usuário não está autenticado retUsuario.Codigo = retSessao.Codigo; retUsuario.Mensagem = retSessao.Mensagem; } // retorna dos dados return retUsuario; }
/// <summary> /// Método para salvar os item do orçamento /// </summary> /// <param name="Item">Objeto com os dados do item</param> /// <returns>Contrato.RetornoTaxa</returns> internal static Contrato.RetornoItem SalvarItemOrcamento(Dados.ORCAMENTO Orcamento, string UsuarioLogado, Contrato.Item Item) { // Objeto que recebe o retorno do método Contrato.RetornoItem retItem = new Contrato.RetornoItem(); // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); // Cria o item Dados.ITEM tItem = new Dados.ITEM() { ID_ITEM = Guid.NewGuid(), DES_ITEM = Item.Descricao, ID_ORCAMENTO = Orcamento.ID_ORCAMENTO, NUM_QUANTIDADE = Item.Quantidade, NUM_VALOR_CUSTO = Item.ValorCusto, NUM_VALOR_UNITARIO = Item.ValorUnitario, NUM_DESCONTO = Item.ValorDesconto, LOGIN_USUARIO = UsuarioLogado, DATA_ATUALIZACAO = DateTime.Now }; if (Item.Produto != null) { tItem.ID_PRODUTO = Item.Produto.Id; if (Item.UnidadeMedida != null) tItem.ID_UNIDADE_MEDIDA = Item.UnidadeMedida.Id; // Verifica se o orçamento foi aprovado if (Orcamento.T_ESTADO_ORCAMENTO != null && Orcamento.T_ESTADO_ORCAMENTO.COD_ESTADO_ORCAMENTO == string.Format("0{0}", (int)Contrato.Enumeradores.EstadoOrcamento.Aprovado)) { // Atualiza a quantidade de produtos if (Item.UnidadeMedida != null && Item.UnidadeMedida.Id != Guid.Empty) { Contrato.UnidadeMedida uMedida = Item.Produto.UnidadeMedidas.Where(um => um.Id == Item.UnidadeMedida.Id).FirstOrDefault(); if (uMedida != null) { uMedida.Quantidade = uMedida.Quantidade - Item.Quantidade; context.T_PRODUTO_UNIDADE_MEDIDA.Where(pum => pum.ID_UNIDADE_MEDIDA == uMedida.Id && pum.ID_PRODUTO == Item.Produto.Id).FirstOrDefault().NUM_QUANTIDADE = uMedida.Quantidade; } } else { Item.Produto.Quantidade = Item.Produto.Quantidade - Item.Quantidade; context.T_PRODUTO.Where(p => p.ID_PRODUTO == Item.Produto.Id).FirstOrDefault().NUM_QUANTIDADE = Item.Produto.Quantidade; } } } Orcamento.T_ITEM.Add(tItem); // Salva as alterações context.SaveChanges(); // Preenche o objeto de retorno retItem.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; // retorna dos dados return retItem; }
/// <summary> /// Método para salvar o perfil /// </summary> /// <param name="Perfis">Objeto com os dados do perfil</param> /// <returns>Contrato.RetornoPerfil</returns> internal static Contrato.RetornoPerfil SalvarPerfil(Contrato.EntradaPerfil entradaPerfil) { // Objeto que recebe o retorno do método Contrato.RetornoPerfil retPerfil = new Contrato.RetornoPerfil(); // Verifica se as informações do perfil foram informadas string strValidacao = ValidarPerfilPreenchido(entradaPerfil.Perfil); // Objeto que recebe o retorno da sessão Contrato.RetornoSessao retSessao = Negocio.Sessao.ValidarSessao(new Contrato.Sessao() { Login = entradaPerfil.UsuarioLogado, Chave = entradaPerfil.Chave }); // Verifica se o usuário está autenticado if (retSessao.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO) { // Se existe algum erro if (strValidacao.Length > 0) { retPerfil.Codigo = Contrato.Constantes.COD_FILTRO_VAZIO; retPerfil.Mensagem = strValidacao; } else { // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); context.ContextOptions.LazyLoadingEnabled = true; // Busca o perfil no banco List<Dados.PERFIL> lstPerfis = (from p in context.T_PERFIL where (p.COD_PERFIL == entradaPerfil.Perfil.Codigo && (entradaPerfil.EmpresaLogada.Id == Guid.Empty || p.ID_EMPRESA == entradaPerfil.EmpresaLogada.Id)) || (entradaPerfil.Novo == null && entradaPerfil.Perfil.Id == p.ID_PERFIL) select p).ToList(); // Verifica se foi encontrado algum registro if (lstPerfis.Count > 0 && entradaPerfil.Novo != null && (bool)entradaPerfil.Novo) { // Preenche o objeto de retorno retPerfil.Codigo = Contrato.Constantes.COD_REGISTRO_DUPLICADO; retPerfil.Mensagem = string.Format("O perfil de código '{0}' já existe!", lstPerfis.First().COD_PERFIL); } else { // Se existe o perfil if (lstPerfis.Count > 0) { // Atualiza o perfil lstPerfis.First().NOME_PERFIL = entradaPerfil.Perfil.Nome; lstPerfis.First().DES_PERFIL = entradaPerfil.Perfil.Descricao; lstPerfis.First().BOL_ATIVO = entradaPerfil.Perfil.Ativo; lstPerfis.First().DATA_ATUALIZACAO = DateTime.Now; lstPerfis.First().LOGIN_USUARIO = entradaPerfil.UsuarioLogado; // Apaga todos os perfis que estão relacionados while (lstPerfis.First().T_PERFIL_PERMISSAO.Count > 0) { context.T_PERFIL_PERMISSAO.DeleteObject(lstPerfis.First().T_PERFIL_PERMISSAO.First()); } // Verifica se existe algum perfil associado ao usuário if (entradaPerfil.Perfil.Permissoes != null) { // Para cada perfil associado foreach (Contrato.Permissao permissao in entradaPerfil.Perfil.Permissoes) { // Associa o perfil ao usuário lstPerfis.First().T_PERFIL_PERMISSAO.Add(new Dados.PERFIL_PERMISSAO() { ID_PERFIL_PERMISSAO = Guid.NewGuid(), ID_PERFIL = lstPerfis.First().ID_PERFIL, ID_PERMISSAO = permissao.Id, LOGIN_USUARIO = entradaPerfil.UsuarioLogado, DATA_ATUALIZACAO = DateTime.Now }); } } } else { // Cria o perfil Dados.PERFIL tPerfil = new Dados.PERFIL(); tPerfil.ID_PERFIL = Guid.NewGuid(); tPerfil.ID_EMPRESA = entradaPerfil.EmpresaLogada.Id; tPerfil.COD_PERFIL = entradaPerfil.Perfil.Codigo; tPerfil.NOME_PERFIL = entradaPerfil.Perfil.Nome; tPerfil.DES_PERFIL = entradaPerfil.Perfil.Descricao; tPerfil.BOL_ATIVO = entradaPerfil.Perfil.Ativo; tPerfil.DATA_ATUALIZACAO = DateTime.Now; tPerfil.LOGIN_USUARIO = entradaPerfil.UsuarioLogado; // Verifica se existe algum perfil associado ao usuário if (entradaPerfil.Perfil.Permissoes != null) { // Para cada perfil associado foreach (Contrato.Permissao permissao in entradaPerfil.Perfil.Permissoes) { // Associa o perfil ao usuário tPerfil.T_PERFIL_PERMISSAO.Add(new Dados.PERFIL_PERMISSAO() { ID_PERFIL_PERMISSAO = Guid.NewGuid(), ID_PERFIL = entradaPerfil.Perfil.Id, ID_PERMISSAO = permissao.Id, LOGIN_USUARIO = entradaPerfil.UsuarioLogado, DATA_ATUALIZACAO = DateTime.Now }); } } context.AddToT_PERFIL(tPerfil); } // Salva as alterações context.SaveChanges(); // Preenche o objeto de retorno retPerfil.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; } } } else { // retorna quando o usuário não está autenticado retPerfil.Codigo = retSessao.Codigo; retPerfil.Mensagem = retSessao.Mensagem; } // retorna dos dados return retPerfil; }
/// <summary> /// Método para listar os perfis /// </summary> /// <param name="entradaPerfil.Perfis">Objeto com os dados do filtro</param> /// <returns>Contrato.RetornoPerfil</returns> internal static Contrato.RetornoPerfil ListarPerfil(Contrato.EntradaPerfil entradaPerfil) { // Objeto que recebe o retorno do método Contrato.RetornoPerfil retPerfil = new Contrato.RetornoPerfil(); // Objeto que recebe o retorno da sessão Contrato.RetornoSessao retSessao = Negocio.Sessao.ValidarSessao(new Contrato.Sessao() { Login = entradaPerfil.UsuarioLogado, Chave = entradaPerfil.Chave }); // Verifica se o usuário está autenticado if (retSessao.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO) { // Verifica se a empresa não foi informada if (string.IsNullOrWhiteSpace(entradaPerfil.EmpresaLogada.Id.ToString())) { entradaPerfil.EmpresaLogada.Id = Guid.Empty; } // Verifica se o nome foi informado if (string.IsNullOrWhiteSpace(entradaPerfil.Perfil.Codigo)) { entradaPerfil.Perfil.Codigo = string.Empty; } // Verifica se o Login foi informado if (string.IsNullOrWhiteSpace(entradaPerfil.Perfil.Nome)) { entradaPerfil.Perfil.Nome = string.Empty; } // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); context.ContextOptions.LazyLoadingEnabled = true; // Busca o perfil no banco List<Dados.PERFIL> lstPerfis = (from p in context.T_PERFIL where p.BOL_ATIVO == entradaPerfil.Perfil.Ativo && (entradaPerfil.EmpresaLogada.Id == Guid.Empty || p.ID_EMPRESA == entradaPerfil.EmpresaLogada.Id) && (entradaPerfil.Perfil.Codigo == string.Empty || p.COD_PERFIL.Contains(entradaPerfil.Perfil.Codigo)) && (entradaPerfil.Perfil.Nome == string.Empty || p.NOME_PERFIL.Contains(entradaPerfil.Perfil.Nome)) select p).ToList(); // Verifica se foi encontrado algum registro if (lstPerfis.Count > 0) { // Preenche o objeto de retorno retPerfil.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; retPerfil.Perfis = new List<Contrato.Perfil>(); foreach (Dados.PERFIL perfil in lstPerfis) { retPerfil.Perfis.Add(new Contrato.Perfil() { Id = perfil.ID_PERFIL, Codigo = perfil.COD_PERFIL, Nome = perfil.NOME_PERFIL, Descricao = perfil.DES_PERFIL, Ativo = perfil.BOL_ATIVO, Permissoes = Negocio.Permissao.ListarPerfilPermissao(perfil.T_PERFIL_PERMISSAO) }); }; } else { // Preenche o objeto de retorno retPerfil.Codigo = Contrato.Constantes.COD_RETORNO_VAZIO; retPerfil.Mensagem = "Não existe dados para o filtro informado."; } } else { // retorna quando o usuário não está autenticado retPerfil.Codigo = retSessao.Codigo; retPerfil.Mensagem = retSessao.Mensagem; } // retorna os dados return retPerfil; }
/// <summary> /// Método para salvar o orcamento /// </summary> /// <param name="entradaOrcamento">Objeto com os dados do orcamento</param> /// <returns>Contrato.RetornoOrcamento</returns> internal static Contrato.RetornoOrcamento SalvarOrcamento(Contrato.EntradaOrcamento entradaOrcamento) { // Objeto que recebe o retorno do método Contrato.RetornoOrcamento retOrcamento = new Contrato.RetornoOrcamento(); // Objeto que recebe o retorno da sessão Contrato.RetornoSessao retSessao = Negocio.Sessao.ValidarSessao(new Contrato.Sessao() { Login = entradaOrcamento.UsuarioLogado, Chave = entradaOrcamento.Chave }); // Verifica se o usuário está autenticado if (retSessao.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO) { // Verifica se as informações do orcamento foram informadas string strValidacao = ValidarOrcamentoPreenchido(entradaOrcamento.Orcamento); // Se existe algum erro if (strValidacao.Length > 0) { retOrcamento.Codigo = Contrato.Constantes.COD_FILTRO_VAZIO; retOrcamento.Mensagem = strValidacao; } else { // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); context.ContextOptions.LazyLoadingEnabled = true; // Busca o orcamento no banco List<Dados.ORCAMENTO> lstOrcamentos = (from p in context.T_ORCAMENTO where (p.COD_ORCAMENTO == entradaOrcamento.Orcamento.Codigo && (entradaOrcamento.EmpresaLogada.Id == Guid.Empty || p.ID_EMPRESA == entradaOrcamento.EmpresaLogada.Id)) || (entradaOrcamento.Novo == null && entradaOrcamento.Orcamento.Id == p.ID_ORCAMENTO) select p).ToList(); // Verifica se foi encontrado algum registro if (lstOrcamentos.Count > 0 && entradaOrcamento.Novo != null && (bool)entradaOrcamento.Novo) { // Preenche o objeto de retorno retOrcamento.Codigo = Contrato.Constantes.COD_REGISTRO_DUPLICADO; retOrcamento.Mensagem = string.Format("O orcamento de código '{0}' já existe!", lstOrcamentos.First().COD_ORCAMENTO); } else { // Se existe o orcamento if (lstOrcamentos.Count > 0) { // Atualiza o orcamento lstOrcamentos.First().COD_ORCAMENTO = entradaOrcamento.Orcamento.Codigo; lstOrcamentos.First().DATA_ORCAMENTO = entradaOrcamento.Orcamento.Data; lstOrcamentos.First().ID_CLIENTE = entradaOrcamento.Orcamento.Cliente.Id; lstOrcamentos.First().ID_ESTADO_ORCAMENTO = entradaOrcamento.Orcamento.Estado.Id; lstOrcamentos.First().ID_USUARIO_VENDEDOR = entradaOrcamento.Orcamento.Vendedor.Id; lstOrcamentos.First().ID_USUARIO_RESPONSAVEL = entradaOrcamento.Orcamento.Responsavel.Id; lstOrcamentos.First().NUM_DESCONTO = entradaOrcamento.Orcamento.ValorDesconto; lstOrcamentos.First().NUM_PRAZO_ENTREGA = entradaOrcamento.Orcamento.PrazoEntrega; lstOrcamentos.First().NUM_VALIDADE_ORCAMENTO = entradaOrcamento.Orcamento.ValidadeOrcamento; lstOrcamentos.First().DATA_ATUALIZACAO = DateTime.Now; lstOrcamentos.First().LOGIN_USUARIO = entradaOrcamento.UsuarioLogado; // Apaga todos os itens que estão relacionados while (lstOrcamentos.First().T_ITEM.Count > 0) { context.T_ITEM.DeleteObject(lstOrcamentos.First().T_ITEM.First()); } // Verifica se existe algum item associado ao orçamento if (entradaOrcamento.Orcamento.Itens != null) { // Para cada item associado foreach (Contrato.Item item in entradaOrcamento.Orcamento.Itens) { Negocio.Item.SalvarItemOrcamento(lstOrcamentos.First(), entradaOrcamento.UsuarioLogado, item); } } } else { // Recupera o código do orçamento string codigoOrcamento = string.Empty; if (entradaOrcamento.Orcamento.Codigo != string.Empty) codigoOrcamento = entradaOrcamento.Orcamento.Codigo; else { System.Data.Objects.ObjectParameter objCodigoOrcamento = new System.Data.Objects.ObjectParameter("P_CODIGO", typeof(global::System.Int32)); context.RETORNAR_CODIGO(Contrato.Constantes.TIPO_COD_ORCAMENTO, entradaOrcamento.EmpresaLogada.Id, objCodigoOrcamento); codigoOrcamento = Util.RecuperaCodigo((int)objCodigoOrcamento.Value, Contrato.Constantes.TIPO_COD_ORCAMENTO); } // Cria o orcamento Dados.ORCAMENTO tOrcamento = new Dados.ORCAMENTO(); tOrcamento.ID_ORCAMENTO = Guid.NewGuid(); tOrcamento.COD_ORCAMENTO = codigoOrcamento; tOrcamento.DATA_ORCAMENTO = entradaOrcamento.Orcamento.Data; tOrcamento.ID_EMPRESA = entradaOrcamento.EmpresaLogada.Id; tOrcamento.ID_CLIENTE = entradaOrcamento.Orcamento.Cliente.Id; tOrcamento.ID_ESTADO_ORCAMENTO = entradaOrcamento.Orcamento.Estado.Id; tOrcamento.ID_USUARIO_VENDEDOR = entradaOrcamento.Orcamento.Vendedor.Id; tOrcamento.ID_USUARIO_RESPONSAVEL = entradaOrcamento.Orcamento.Responsavel.Id; tOrcamento.NUM_DESCONTO = entradaOrcamento.Orcamento.ValorDesconto; tOrcamento.NUM_PRAZO_ENTREGA = entradaOrcamento.Orcamento.PrazoEntrega; tOrcamento.NUM_VALIDADE_ORCAMENTO = entradaOrcamento.Orcamento.ValidadeOrcamento; tOrcamento.DATA_ATUALIZACAO = DateTime.Now; tOrcamento.LOGIN_USUARIO = entradaOrcamento.UsuarioLogado; // Verifica se existe algum item associado ao orçamento if (entradaOrcamento.Orcamento.Itens != null) { // Para cada item associado foreach (Contrato.Item item in entradaOrcamento.Orcamento.Itens) { Negocio.Item.SalvarItemOrcamento(tOrcamento, entradaOrcamento.UsuarioLogado, item); } } context.AddToT_ORCAMENTO(tOrcamento); } // Salva as alterações context.SaveChanges(); // Preenche o objeto de retorno retOrcamento.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; } } } else { // retorna quando o usuário não está autenticado retOrcamento.Codigo = retSessao.Codigo; retOrcamento.Mensagem = retSessao.Mensagem; } // retorna dos dados return retOrcamento; }
/// <summary> /// Método para logar na aplicação /// </summary> /// <param name="Sessao">Objeto com os dados da sessão a validar</param> /// <returns>Contrato.RetornoSessao</returns> internal static Contrato.RetornoSessao ValidarSessao(Contrato.Sessao Sessao) { // Objeto que recebe o retorno do método Contrato.RetornoSessao retSessao = new Contrato.RetornoSessao(); // Verifica se as informações do usuário forma informadas string strValidacao = ValidarSessaoPreenchido(Sessao); if (strValidacao.Length > 0) { retSessao.Codigo = Contrato.Constantes.COD_FILTRO_VAZIO; retSessao.Mensagem = strValidacao; } else { // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); // Busca o usuario no banco Dados.SESSAO objSessao = (from s in context.T_SESSAO where s.LOGIN_USUARIO == Sessao.Login && s.DES_CHAVE == Sessao.Chave select s).FirstOrDefault(); // Verifica se foi encontrado algum registro if (objSessao != null) { // Preenche o objeto de retorno retSessao.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; } else { // Preenche o objeto de retorno retSessao.Codigo = Contrato.Constantes.COD_RETORNO_VAZIO; retSessao.Mensagem = "Não existe dados para o filtro informado."; } } // retorna os dados return retSessao; }
/// <summary> /// Método para salvar a sessão /// </summary> /// <param name="Sessao">Objeto com os dados da sessão</param> /// <returns>Contrato.RetornoSessao</returns> internal static Contrato.RetornoSessao SalvarSessao(Contrato.Sessao Sessao) { // Objeto que recebe o retorno do método Contrato.RetornoSessao retSessao = new Contrato.RetornoSessao(); // Verifica se as informações do usuário foram informadas string strValidacao = ValidarSessaoPreenchido(Sessao); // Se existe algum erro if (strValidacao.Length > 0) { retSessao.Codigo = Contrato.Constantes.COD_FILTRO_VAZIO; retSessao.Mensagem = strValidacao; } else { // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); // Busca o usuário no banco List<Dados.SESSAO> lstSessoes = (from s in context.T_SESSAO where s.LOGIN_USUARIO == Sessao.Login select s).ToList(); // Verifica se foi encontrado algum registro if (lstSessoes.Count > 0 ) { if (lstSessoes.First().DES_CHAVE != Sessao.Chave) { // Preenche o objeto de retorno retSessao.Codigo = Contrato.Constantes.COD_REGISTRO_DUPLICADO; retSessao.Mensagem = string.Format("O usuário de Login '{0}' já está logado!", Sessao.Login); } } else { // Cria o usuário Dados.SESSAO tSessao = new Dados.SESSAO(); tSessao.ID_SESSAO = Guid.NewGuid(); tSessao.LOGIN_USUARIO = Sessao.Login; tSessao.DATA_LOGIN = DateTime.Now; tSessao.DES_CHAVE = Sessao.Chave; context.AddToT_SESSAO(tSessao); // Salva as alterações context.SaveChanges(); // Preenche o objeto de retorno retSessao.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; } } // retorna dos dados return retSessao; }
/// <summary> /// Método para salvar o parametro /// </summary> /// <param name="Parametro">Objeto com os dados do parametro</param> /// <param name="usuarioLogado">Nome do usuário Logado</param> /// <returns>Contrato.RetornoParametro</returns> internal static Contrato.RetornoParametro SalvarParametro(Contrato.Parametro Parametro, string usuarioLogado, Guid idEmpresa) { // Objeto que recebe o retorno do método Contrato.RetornoParametro retParametro = new Contrato.RetornoParametro(); // Verifica se as informações do parametro foram informadas string strValidacao = ValidarParametroPreenchido(Parametro); // Se existe algum erro if (strValidacao.Length > 0) { retParametro.Codigo = Contrato.Constantes.COD_FILTRO_VAZIO; retParametro.Mensagem = strValidacao; } else { // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); // Busca o parametro no banco List<Dados.PARAMETRO> lstParametros = (from p in context.T_PARAMETRO where (p.COD_PARAMETRO == Parametro.Codigo) && (idEmpresa == Guid.Empty || p.ID_EMPRESA == idEmpresa) select p).ToList(); // Se existe o parametro if (lstParametros.Count > 0) { // Atualiza o parametro lstParametros.First().VALOR_PARAMETRO = Parametro.Valor; lstParametros.First().DATA_ATUALIZACAO = DateTime.Now; lstParametros.First().LOGIN_USUARIO = usuarioLogado; } // Salva as alterações context.SaveChanges(); // Preenche o objeto de retorno retParametro.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; } return retParametro; }
/// <summary> /// Método para listar os parâmetros /// </summary> /// <param name="entradaParametro.Parametros">Objeto com os dados do filtro</param> /// <returns>Contrato.RetornoParametro</returns> internal static Contrato.RetornoParametro ListarParametro(Contrato.EntradaParametro entradaParametro) { // Objeto que recebe o retorno do método Contrato.RetornoParametro retParametro = new Contrato.RetornoParametro(); // Objeto que recebe o retorno da sessão Contrato.RetornoSessao retSessao = Negocio.Sessao.ValidarSessao(new Contrato.Sessao() { Login = entradaParametro.UsuarioLogado, Chave = entradaParametro.Chave }); // Verifica se o usuário está autenticado if (retSessao.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO) { // Verifica se a empresa não foi informada if (string.IsNullOrWhiteSpace(entradaParametro.EmpresaLogada.Id.ToString())) { entradaParametro.EmpresaLogada.Id = Guid.Empty; } // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); // Busca o parametro no banco List<Dados.PARAMETRO> lstParametros = (from p in context.T_PARAMETRO where (entradaParametro.EmpresaLogada.Id == Guid.Empty || p.ID_EMPRESA == entradaParametro.EmpresaLogada.Id) select p).ToList(); // Verifica se foi encontrado algum registro if (lstParametros.Count > 0) { // Preenche o objeto de retorno retParametro.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; retParametro.Parametros = new List<Contrato.Parametro>(); foreach (Dados.PARAMETRO parametro in lstParametros) { retParametro.Parametros.Add(new Contrato.Parametro() { Id = parametro.ID_PARAMETRO, Codigo = parametro.COD_PARAMETRO, Nome = parametro.NOME_PARAMETRO, Valor = parametro.VALOR_PARAMETRO, TipoParametro = RecuperarTipoParametro(parametro.TIPO_PARAMETRO), Ordem = parametro.NUM_ORDEM }); }; } else { // Preenche o objeto de retorno retParametro.Codigo = Contrato.Constantes.COD_RETORNO_VAZIO; retParametro.Mensagem = "Não existe dados para o filtro informado."; } } else { // retorna quando o usuário não está autenticado retParametro.Codigo = retSessao.Codigo; retParametro.Mensagem = retSessao.Mensagem; } // retorna os dados return retParametro; }
/// <summary> /// Método para listar os clientees /// </summary> /// <param name="Cliente">Objeto com os dados do filtro</param> /// <returns>Contrato.RetornoCliente</returns> internal static Contrato.RetornoCliente ListarCliente(Contrato.EntradaCliente entradaCliente) { // Objeto que recebe o retorno do método Contrato.RetornoCliente retCliente = new Contrato.RetornoCliente(); // Objeto que recebe o retorno da sessão Contrato.RetornoSessao retSessao = Negocio.Sessao.ValidarSessao(new Contrato.Sessao() { Login = entradaCliente.UsuarioLogado, Chave = entradaCliente.Chave }); // Verifica se o usuário está autenticado if (retSessao.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO) { // Verifica se a empresa não foi informada if (string.IsNullOrWhiteSpace(entradaCliente.EmpresaLogada.Id.ToString())) { entradaCliente.EmpresaLogada.Id = Guid.Empty; } // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); context.ContextOptions.LazyLoadingEnabled = true; // Busca o cliente no banco List<Dados.CLIENTE> lstClientes = (from c in context.T_CLIENTE where (entradaCliente.EmpresaLogada.Id == Guid.Empty || c.ID_EMPRESA == entradaCliente.EmpresaLogada.Id) && (entradaCliente.Cliente.Codigo == null || entradaCliente.Cliente.Codigo == string.Empty || c.COD_CLIENTE.Contains(entradaCliente.Cliente.Codigo)) && (entradaCliente.Cliente.Nome == null || entradaCliente.Cliente.Nome == string.Empty || c.NOME_CLIENTE.Contains(entradaCliente.Cliente.Nome)) && (entradaCliente.Cliente.CaixaEscolar == null || entradaCliente.Cliente.CaixaEscolar == string.Empty || c.CAIXA_ESCOLAR.Contains(entradaCliente.Cliente.CaixaEscolar)) && (entradaCliente.Cliente.Tipo == null || c.BOL_PESSOA_FISICA == (entradaCliente.Cliente.Tipo == Contrato.Enumeradores.Pessoa.Fisica ? true : false)) && (entradaCliente.Cliente.Cpf_Cnpj == null || entradaCliente.Cliente.Cpf_Cnpj == string.Empty || c.CPF_CNJP_CLIENTE != null && c.CPF_CNJP_CLIENTE.StartsWith(entradaCliente.Cliente.Cpf_Cnpj)) select c).ToList(); // Verifica se foi encontrado algum registro if (lstClientes.Count > 0) { List<Contrato.UnidadeFederativa> lstUnidadesFederativas = Negocio.UnidadeFederativa.ListarUnidadeFederativa().UnidadesFederativas; // Preenche o objeto de retorno retCliente.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; retCliente.Clientes = new List<Contrato.Cliente>(); foreach (Dados.CLIENTE cliente in lstClientes) { retCliente.Clientes.Add( new Contrato.Cliente() { Id = cliente.ID_CLIENTE, Codigo = cliente.COD_CLIENTE, Nome = cliente.NOME_CLIENTE }); if (!entradaCliente.PreencherListaSelecao) { retCliente.Clientes.Last().Ativo = cliente.BOL_ATIVO; retCliente.Clientes.Last().CaixaEscolar = cliente.CAIXA_ESCOLAR; retCliente.Clientes.Last().Cpf_Cnpj = cliente.CPF_CNJP_CLIENTE; retCliente.Clientes.Last().Tipo = cliente.BOL_PESSOA_FISICA ? Contrato.Enumeradores.Pessoa.Fisica : Contrato.Enumeradores.Pessoa.Juridica; retCliente.Clientes.Last().Email = cliente.DES_EMAIL; retCliente.Clientes.Last().Telefone = cliente.NUM_TELEFONE; retCliente.Clientes.Last().Celular = cliente.NUM_CELULAR; retCliente.Clientes.Last().InscricaoEstadual = cliente.DES_INSCRICAO_ESTADUAL; retCliente.Clientes.Last().Endereco = cliente.DES_ENDERECO; retCliente.Clientes.Last().Numero = cliente.NUM_ENDERECO; retCliente.Clientes.Last().Complemento = cliente.CMP_ENDERECO; retCliente.Clientes.Last().Cep = cliente.NUM_CEP; retCliente.Clientes.Last().Bairro = cliente.DES_BAIRRO; retCliente.Clientes.Last().Cidade = cliente.DES_CIDADE; retCliente.Clientes.Last().Uf = Negocio.UnidadeFederativa.BuscarUnidadeFederativa(cliente.COD_ESTADO, lstUnidadesFederativas); retCliente.Clientes.Last().ClienteMatriz = cliente.ID_CLIENTE_MATRIZ == null ? null : new Contrato.Cliente() { Id = (Guid)cliente.ID_CLIENTE_MATRIZ }; } } } else { // Preenche o objeto de retorno retCliente.Codigo = Contrato.Constantes.COD_RETORNO_VAZIO; retCliente.Mensagem = "Não existe dados para o filtro informado."; } } else { // retorna quando o usuário não está autenticado retCliente.Codigo = retSessao.Codigo; retCliente.Mensagem = retSessao.Mensagem; } // retorna os dados return retCliente; }
/// <summary> /// Método para salvar o cliente /// </summary> /// <param name="entradaCliente">Objeto com os dados do cliente</param> /// <returns>Contrato.RetornoCliente</returns> internal static Contrato.RetornoCliente SalvarCliente(Contrato.EntradaCliente entradaCliente) { // Objeto que recebe o retorno do método Contrato.RetornoCliente retCliente = new Contrato.RetornoCliente(); // Objeto que recebe o retorno da sessão Contrato.RetornoSessao retSessao = Negocio.Sessao.ValidarSessao(new Contrato.Sessao() { Login = entradaCliente.UsuarioLogado, Chave = entradaCliente.Chave }); // Verifica se o usuário está autenticado if (retSessao.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO) { // Verifica se as informações do cliente foram informadas string strValidacao = ValidarClientePreenchido(entradaCliente.Cliente); // Se existe algum erro if (strValidacao.Length > 0) { retCliente.Codigo = Contrato.Constantes.COD_FILTRO_VAZIO; retCliente.Mensagem = strValidacao; } else { // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); context.ContextOptions.LazyLoadingEnabled = true; // Busca o cliente no banco List<Dados.CLIENTE> lstClientes = (from c in context.T_CLIENTE where (c.COD_CLIENTE == entradaCliente.Cliente.Codigo && (entradaCliente.Cliente.Cpf_Cnpj != null || c.CPF_CNJP_CLIENTE == entradaCliente.Cliente.Cpf_Cnpj) && (entradaCliente.EmpresaLogada.Id == Guid.Empty || c.ID_EMPRESA == entradaCliente.EmpresaLogada.Id)) || (entradaCliente.Novo == null && entradaCliente.Cliente.Id == c.ID_CLIENTE) select c).ToList(); // Verifica se foi encontrado algum registro if (lstClientes.Count > 0 && entradaCliente.Novo != null && (bool)entradaCliente.Novo) { // Preenche o objeto de retorno retCliente.Codigo = Contrato.Constantes.COD_REGISTRO_DUPLICADO; retCliente.Mensagem = string.Format("O cliente de código '{0}' já existe!", lstClientes.First().COD_CLIENTE); } else { // Se existe o cliente if (lstClientes.Count > 0) { // Atualiza o cliente lstClientes.First().NOME_CLIENTE = entradaCliente.Cliente.Nome; lstClientes.First().CAIXA_ESCOLAR = entradaCliente.Cliente.CaixaEscolar; lstClientes.First().BOL_ATIVO = entradaCliente.Cliente.Ativo; lstClientes.First().BOL_PESSOA_FISICA = entradaCliente.Cliente.Tipo == Contrato.Enumeradores.Pessoa.Fisica ? true : false; lstClientes.First().CPF_CNJP_CLIENTE = entradaCliente.Cliente.Cpf_Cnpj; lstClientes.First().DES_EMAIL = entradaCliente.Cliente.Email; lstClientes.First().DES_INSCRICAO_ESTADUAL = entradaCliente.Cliente.InscricaoEstadual; lstClientes.First().NUM_TELEFONE = entradaCliente.Cliente.Telefone; lstClientes.First().NUM_CELULAR = entradaCliente.Cliente.Celular; lstClientes.First().DES_ENDERECO = entradaCliente.Cliente.Endereco; lstClientes.First().NUM_ENDERECO = entradaCliente.Cliente.Numero; lstClientes.First().CMP_ENDERECO = entradaCliente.Cliente.Complemento; lstClientes.First().NUM_CEP = entradaCliente.Cliente.Cep; lstClientes.First().DES_BAIRRO = entradaCliente.Cliente.Bairro; lstClientes.First().DES_CIDADE = entradaCliente.Cliente.Cidade; lstClientes.First().COD_ESTADO = entradaCliente.Cliente.Uf == null ? null : entradaCliente.Cliente.Uf.Codigo; lstClientes.First().DES_ESTADO = entradaCliente.Cliente.Uf == null ? null : entradaCliente.Cliente.Uf.Nome; lstClientes.First().DATA_ATUALIZACAO = DateTime.Now; lstClientes.First().LOGIN_USUARIO = entradaCliente.UsuarioLogado; lstClientes.First().ID_CLIENTE_MATRIZ = entradaCliente.Cliente.ClienteMatriz != null ? entradaCliente.Cliente.ClienteMatriz.Id: Guid.Empty; } else { // Recupera o código do cliente string codigoCliente = string.Empty; if (entradaCliente.Cliente.Codigo != string.Empty) codigoCliente = entradaCliente.Cliente.Codigo; else { System.Data.Objects.ObjectParameter objCodigoOrcamento = new System.Data.Objects.ObjectParameter("P_CODIGO", typeof(global::System.Int32)); context.RETORNAR_CODIGO(Contrato.Constantes.TIPO_COD_CLIENTE, entradaCliente.EmpresaLogada.Id, objCodigoOrcamento); codigoCliente = Util.RecuperaCodigo((int)objCodigoOrcamento.Value, Contrato.Constantes.TIPO_COD_CLIENTE); } // Cria o cliente Dados.CLIENTE tCliente = new Dados.CLIENTE(); tCliente.ID_CLIENTE = Guid.NewGuid(); tCliente.COD_CLIENTE = codigoCliente; tCliente.NOME_CLIENTE = entradaCliente.Cliente.Nome; tCliente.ID_EMPRESA = entradaCliente.EmpresaLogada.Id; tCliente.BOL_ATIVO = entradaCliente.Cliente.Ativo; tCliente.CAIXA_ESCOLAR = entradaCliente.Cliente.CaixaEscolar; tCliente.BOL_PESSOA_FISICA = entradaCliente.Cliente.Tipo == Contrato.Enumeradores.Pessoa.Fisica ? true : false; tCliente.CPF_CNJP_CLIENTE = entradaCliente.Cliente.Cpf_Cnpj; tCliente.DES_EMAIL = entradaCliente.Cliente.Email; tCliente.NUM_TELEFONE = entradaCliente.Cliente.Telefone; tCliente.NUM_CELULAR = entradaCliente.Cliente.Celular; tCliente.DES_INSCRICAO_ESTADUAL = entradaCliente.Cliente.InscricaoEstadual; tCliente.DES_ENDERECO = entradaCliente.Cliente.Endereco; tCliente.NUM_ENDERECO = entradaCliente.Cliente.Numero; tCliente.CMP_ENDERECO = entradaCliente.Cliente.Complemento; tCliente.NUM_CEP = entradaCliente.Cliente.Cep; tCliente.DES_BAIRRO = entradaCliente.Cliente.Bairro; tCliente.DES_CIDADE = entradaCliente.Cliente.Cidade; tCliente.COD_ESTADO = entradaCliente.Cliente.Uf == null ? null : entradaCliente.Cliente.Uf.Codigo; tCliente.DES_ESTADO = entradaCliente.Cliente.Uf == null ? null : entradaCliente.Cliente.Uf.Nome; tCliente.DATA_ATUALIZACAO = DateTime.Now; tCliente.LOGIN_USUARIO = entradaCliente.UsuarioLogado; tCliente.ID_CLIENTE_MATRIZ = entradaCliente.Cliente.ClienteMatriz != null ? entradaCliente.Cliente.ClienteMatriz.Id : Guid.Empty; // Adiciona o cliente na tabela context.AddToT_CLIENTE(tCliente); } // Salva as alterações context.SaveChanges(); // Preenche o objeto de retorno retCliente.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; } } } else { // retorna quando o usuário não está autenticado retCliente.Codigo = retSessao.Codigo; retCliente.Mensagem = retSessao.Mensagem; } // retorna dos dados return retCliente; }
/// <summary> /// Método para listar os Itens /// </summary> /// <param name="Item">Objeto com os dados do filtro</param> /// <returns>Contrato.RetornoItem</returns> internal static Contrato.RetornoItem ListarItem(Contrato.EntradaItem entradaItem) { // Objeto que recebe o retorno do método Contrato.RetornoItem retItem = new Contrato.RetornoItem(); // Objeto que recebe o retorno da sessão Contrato.RetornoSessao retSessao = Negocio.Sessao.ValidarSessao(new Contrato.Sessao() { Login = entradaItem.UsuarioLogado, Chave = entradaItem.Chave }); // Verifica se o usuário está autenticado if (retSessao.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO) { // Verifica se o fornecedor não foi informado if (entradaItem.Item.Orcamento == null) { entradaItem.Item.Orcamento = new Contrato.Orcamento(); } // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); // Busca o produto no banco List<Dados.ITEM> lstItems = null; if (entradaItem.Paginar) { lstItems = (from i in context.T_ITEM where (entradaItem.Item.Orcamento.Id == Guid.Empty || i.ID_ORCAMENTO == entradaItem.Item.Orcamento.Id) select i ).OrderBy(o => o.ID_PRODUTO).Skip(entradaItem.PosicaoUltimoItem).Take(entradaItem.CantidadeItens).ToList(); } else { lstItems = (from i in context.T_ITEM where (entradaItem.Item.Orcamento.Id == Guid.Empty || i.ID_ORCAMENTO == entradaItem.Item.Orcamento.Id) select i ).ToList(); } // Verifica se foi encontrado algum registro if (lstItems.Count > 0) { // Preenche o objeto de retorno retItem.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; retItem.Itens = new List<Contrato.Item>(); foreach (Dados.ITEM item in lstItems) { retItem.Itens.Add(new Contrato.Item() { Id = item.ID_ITEM, Descricao = item.DES_ITEM, Quantidade = item.NUM_QUANTIDADE, ValorCusto = item.NUM_VALOR_CUSTO, ValorUnitario = item.NUM_VALOR_UNITARIO, ValorDesconto = item.NUM_DESCONTO, Produto = Negocio.Produto.BuscarProduto(item.T_PRODUTO), UnidadeMedida = item.T_PRODUTO == null ? null : Negocio.UnidadeMedida.BuscarProdutoUnidadeMedida(item.T_PRODUTO.T_PRODUTO_UNIDADE_MEDIDA.Where(pum => pum.ID_UNIDADE_MEDIDA == item.ID_UNIDADE_MEDIDA).FirstOrDefault()), Orcamento = Negocio.Orcamento.BuscarOrcamento(item.T_ORCAMENTO) }); }; } else { // Preenche o objeto de retorno retItem.Codigo = Contrato.Constantes.COD_RETORNO_VAZIO; retItem.Mensagem = "Não existe dados para o filtro informado."; } } else { // retorna quando o usuário não está autenticado retItem.Codigo = retSessao.Codigo; retItem.Mensagem = retSessao.Mensagem; } // retorna os dados return retItem; }
/// <summary> /// Método para salvar o taxa /// </summary> /// <param name="Taxas">Objeto com os dados do taxa</param> /// <returns>Contrato.RetornoTaxa</returns> internal static Contrato.RetornoTaxa SalvarTaxa(Contrato.EntradaTaxa entradaTaxa) { // Objeto que recebe o retorno do método Contrato.RetornoTaxa retTaxa = new Contrato.RetornoTaxa(); // Verifica se as informações do taxa foram informadas string strValidacao = ValidarTaxaPreenchida(entradaTaxa.Taxa); // Objeto que recebe o retorno da sessão Contrato.RetornoSessao retSessao = Negocio.Sessao.ValidarSessao(new Contrato.Sessao() { Login = entradaTaxa.UsuarioLogado, Chave = entradaTaxa.Chave }); // Verifica se o usuário está autenticado if (retSessao.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO) { // Se existe algum erro if (strValidacao.Length > 0) { retTaxa.Codigo = Contrato.Constantes.COD_FILTRO_VAZIO; retTaxa.Mensagem = strValidacao; } else { // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); // Busca o taxa no banco List<Dados.TAXA> lstTaxas = (from t in context.T_TAXA where (t.NOME_TAXA == entradaTaxa.Taxa.Nome && (entradaTaxa.EmpresaLogada.Id == Guid.Empty || t.ID_EMPRESA == entradaTaxa.EmpresaLogada.Id)) || (entradaTaxa.Novo == null && entradaTaxa.Taxa.Id == t.ID_TAXA) select t).ToList(); // Verifica se foi encontrado algum registro if (lstTaxas.Count > 0 && entradaTaxa.Novo != null && (bool)entradaTaxa.Novo) { // Preenche o objeto de retorno retTaxa.Codigo = Contrato.Constantes.COD_REGISTRO_DUPLICADO; retTaxa.Mensagem = string.Format("A taxa de nome '{0}' já existe!", lstTaxas.First().NOME_TAXA); } else { // Se existe a taxa if (lstTaxas.Count > 0) { // Atualiza a taxa lstTaxas.First().NOME_TAXA = entradaTaxa.Taxa.Nome; lstTaxas.First().BOL_DESCONTO = entradaTaxa.Taxa.Desconto; lstTaxas.First().BOL_FORNECEDOR = entradaTaxa.Taxa.Fornecedor; lstTaxas.First().BOL_PRODUTO = entradaTaxa.Taxa.Produto; lstTaxas.First().BOL_ATIVO = entradaTaxa.Taxa.Ativo; lstTaxas.First().DATA_ATUALIZACAO = DateTime.Now; lstTaxas.First().LOGIN_USUARIO = entradaTaxa.UsuarioLogado; } else { // Cria a taxa Dados.TAXA tTaxa = new Dados.TAXA(); tTaxa.ID_TAXA = Guid.NewGuid(); tTaxa.NOME_TAXA = entradaTaxa.Taxa.Nome; tTaxa.ID_EMPRESA = entradaTaxa.EmpresaLogada.Id; tTaxa.BOL_DESCONTO = entradaTaxa.Taxa.Desconto; tTaxa.BOL_FORNECEDOR = entradaTaxa.Taxa.Fornecedor; tTaxa.BOL_PRODUTO = entradaTaxa.Taxa.Produto; tTaxa.BOL_ATIVO = entradaTaxa.Taxa.Ativo; tTaxa.DATA_ATUALIZACAO = DateTime.Now; tTaxa.LOGIN_USUARIO = entradaTaxa.UsuarioLogado; context.AddToT_TAXA(tTaxa); } // Salva as alterações context.SaveChanges(); // Preenche o objeto de retorno retTaxa.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; } } } else { // retorna quando o usuário não está autenticado retTaxa.Codigo = retSessao.Codigo; retTaxa.Mensagem = retSessao.Mensagem; } // retorna dos dados return retTaxa; }
/// <summary> /// Método para listar as empresas /// </summary> /// <param name="entradaEmpresa.Empresas">Objeto com os dados do filtro</param> /// <returns>Contrato.RetornoEmpresa</returns> internal static Contrato.RetornoEmpresa ListarEmpresa(Contrato.EntradaEmpresa entradaEmpresa) { // Objeto que recebe o retorno do método Contrato.RetornoEmpresa retEmpresa = new Contrato.RetornoEmpresa(); // Objeto que recebe o retorno da sessão Contrato.RetornoSessao retSessao = Negocio.Sessao.ValidarSessao(new Contrato.Sessao() { Login = entradaEmpresa.UsuarioLogado, Chave = entradaEmpresa.Chave }); // Verifica se o usuário está autenticado if (retSessao.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO) { // Verifica se o código da empresa foi informado if (entradaEmpresa.Empresa.Codigo == null) entradaEmpresa.Empresa.Codigo = string.Empty; // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); // Busca o empresa no banco List<Dados.EMPRESA> lstEmpresas = ( from e in context.T_EMPRESA where (e.BOL_ATIVO == entradaEmpresa.Empresa.Ativo) && (entradaEmpresa.Empresa.Codigo == string.Empty || e.COD_EMPRESA == entradaEmpresa.Empresa.Codigo) select e ).ToList(); // Verifica se foi encontrado algum registro if (lstEmpresas.Count > 0) { // Preenche o objeto de retorno retEmpresa.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; retEmpresa.Empresas = new List<Contrato.Empresa>(); foreach (Dados.EMPRESA empresa in lstEmpresas) { retEmpresa.Empresas.Add(new Contrato.Empresa() { Id = empresa.ID_EMPRESA, Codigo = empresa.COD_EMPRESA, Nome = empresa.NOME_EMPRESA, Ativo = empresa.BOL_ATIVO }); }; } else { // Preenche o objeto de retorno retEmpresa.Codigo = Contrato.Constantes.COD_RETORNO_VAZIO; retEmpresa.Mensagem = "Não existe dados para o filtro informado."; } } else { // retorna quando o usuário não está autenticado retEmpresa.Codigo = retSessao.Codigo; retEmpresa.Mensagem = retSessao.Mensagem; } // retorna os dados return retEmpresa; }
/// <summary> /// Método para salvar a unidade de medida /// </summary> /// <param name="UnidadeMedidas">Objeto com os dados da unidade de medida</param> /// <returns>Contrato.RetornoUnidadeMedida</returns> internal static Contrato.RetornoUnidadeMedida SalvarUnidadeMedida(Contrato.EntradaUnidadeMedida entradaUnidadeMedida) { // Objeto que recebe o retorno do método Contrato.RetornoUnidadeMedida retUnidadeMedida = new Contrato.RetornoUnidadeMedida(); // Verifica se as informações do unidademedida foram informadas string strValidacao = ValidarUnidadeMedidaPreenchido(entradaUnidadeMedida.UnidadeMedida); // Objeto que recebe o retorno da sessão Contrato.RetornoSessao retSessao = Negocio.Sessao.ValidarSessao(new Contrato.Sessao() { Login = entradaUnidadeMedida.UsuarioLogado, Chave = entradaUnidadeMedida.Chave }); // Verifica se o usuário está autenticado if (retSessao.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO) { // Se existe algum erro if (strValidacao.Length > 0) { retUnidadeMedida.Codigo = Contrato.Constantes.COD_FILTRO_VAZIO; retUnidadeMedida.Mensagem = strValidacao; } else { // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); // Busca o unidademedida no banco List<Dados.UNIDADE_MEDIDA> lstUnidadeMedidas = (from um in context.T_UNIDADE_MEDIDA where (um.COD_UNIDADE_MEDIDA == entradaUnidadeMedida.UnidadeMedida.Codigo && (entradaUnidadeMedida.EmpresaLogada.Id == Guid.Empty || um.ID_EMPRESA == entradaUnidadeMedida.EmpresaLogada.Id)) || (entradaUnidadeMedida.Novo == null && entradaUnidadeMedida.UnidadeMedida.Id == um.ID_UNIDADE_MEDIDA) select um).ToList(); // Verifica se foi encontrado algum registro if (lstUnidadeMedidas.Count > 0 && entradaUnidadeMedida.Novo != null && (bool)entradaUnidadeMedida.Novo) { // Preenche o objeto de retorno retUnidadeMedida.Codigo = Contrato.Constantes.COD_REGISTRO_DUPLICADO; retUnidadeMedida.Mensagem = string.Format("A unidade de medida de código '{0}' já existe!", lstUnidadeMedidas.First().COD_UNIDADE_MEDIDA); } else { // Se existe o unidademedida if (lstUnidadeMedidas.Count > 0) { // Atualiza o unidademedida lstUnidadeMedidas.First().NOME_UNIDADE_MEDIDA = entradaUnidadeMedida.UnidadeMedida.Nome; lstUnidadeMedidas.First().DES_UNIDADE_MEDIDA = entradaUnidadeMedida.UnidadeMedida.Descricao; lstUnidadeMedidas.First().BOL_ATIVO = entradaUnidadeMedida.UnidadeMedida.Ativo; lstUnidadeMedidas.First().DATA_ATUALIZACAO = DateTime.Now; lstUnidadeMedidas.First().LOGIN_USUARIO = entradaUnidadeMedida.UsuarioLogado; } else { // Cria o unidademedida Dados.UNIDADE_MEDIDA tUnidadeMedida = new Dados.UNIDADE_MEDIDA(); tUnidadeMedida.ID_UNIDADE_MEDIDA = Guid.NewGuid(); tUnidadeMedida.COD_UNIDADE_MEDIDA = entradaUnidadeMedida.UnidadeMedida.Codigo; tUnidadeMedida.NOME_UNIDADE_MEDIDA = entradaUnidadeMedida.UnidadeMedida.Nome; tUnidadeMedida.DES_UNIDADE_MEDIDA = entradaUnidadeMedida.UnidadeMedida.Descricao; tUnidadeMedida.ID_EMPRESA = entradaUnidadeMedida.EmpresaLogada.Id; tUnidadeMedida.BOL_ATIVO = entradaUnidadeMedida.UnidadeMedida.Ativo; tUnidadeMedida.DATA_ATUALIZACAO = DateTime.Now; tUnidadeMedida.LOGIN_USUARIO = entradaUnidadeMedida.UsuarioLogado; context.AddToT_UNIDADE_MEDIDA(tUnidadeMedida); } // Salva as alterações context.SaveChanges(); // Preenche o objeto de retorno retUnidadeMedida.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; } } } else { // retorna quando o usuário não está autenticado retUnidadeMedida.Codigo = retSessao.Codigo; retUnidadeMedida.Mensagem = retSessao.Mensagem; } // retorna dos dados return retUnidadeMedida; }
/// <summary> /// Método para listar os orcamentos /// </summary> /// <param name="Orcamento">Objeto com os dados do filtro</param> /// <returns>Contrato.RetornoOrcamento</returns> internal static Contrato.RetornoOrcamento ListarOrcamento(Contrato.EntradaOrcamento entradaOrcamento) { // Objeto que recebe o retorno do método Contrato.RetornoOrcamento retOrcamento = new Contrato.RetornoOrcamento(); // Objeto que recebe o retorno da sessão Contrato.RetornoSessao retSessao = Negocio.Sessao.ValidarSessao(new Contrato.Sessao() { Login = entradaOrcamento.UsuarioLogado, Chave = entradaOrcamento.Chave }); // Verifica se o usuário está autenticado if (retSessao.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO) { // Verifica se a empresa não foi informada if (string.IsNullOrWhiteSpace(entradaOrcamento.EmpresaLogada.Id.ToString())) { entradaOrcamento.EmpresaLogada.Id = Guid.Empty; } // Verifica se o código não foi informado if (string.IsNullOrWhiteSpace(entradaOrcamento.Orcamento.Codigo)) { entradaOrcamento.Orcamento.Codigo = string.Empty; } // Verifica se o cliente não foi informado if (entradaOrcamento.Orcamento.Cliente == null) { entradaOrcamento.Orcamento.Cliente = new Contrato.Cliente(); } // Verifica se o Vendedor não foi informado if (entradaOrcamento.Orcamento.Vendedor == null) { entradaOrcamento.Orcamento.Vendedor = new Contrato.Usuario(); } // Verifica se o Responsável não foi informado if (entradaOrcamento.Orcamento.Responsavel == null) { entradaOrcamento.Orcamento.Responsavel = new Contrato.Usuario(); } // Verifica se o estado do orçamento não foi informado if (entradaOrcamento.Orcamento.Estado == null) { entradaOrcamento.Orcamento.Estado = new Contrato.EstadoOrcamento(); } // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); context.ContextOptions.LazyLoadingEnabled = true; if (entradaOrcamento.Paginar) { // Busca o orcamento no banco var lstOrcamentos = (from o in context.T_ORCAMENTO.Include("T_ITEM") where (entradaOrcamento.EmpresaLogada.Id == Guid.Empty || o.ID_EMPRESA == entradaOrcamento.EmpresaLogada.Id) && (o.DATA_ORCAMENTO >= entradaOrcamento.Orcamento.Data) && (entradaOrcamento.Orcamento.Codigo == string.Empty || o.COD_ORCAMENTO.Contains(entradaOrcamento.Orcamento.Codigo)) && (entradaOrcamento.Orcamento.Cliente.Id == Guid.Empty || o.ID_CLIENTE == entradaOrcamento.Orcamento.Cliente.Id) && (entradaOrcamento.Orcamento.Vendedor.Id == Guid.Empty || o.ID_USUARIO_VENDEDOR == entradaOrcamento.Orcamento.Vendedor.Id) && (entradaOrcamento.Orcamento.Responsavel.Id == Guid.Empty || o.ID_USUARIO_RESPONSAVEL == entradaOrcamento.Orcamento.Responsavel.Id) && (entradaOrcamento.Orcamento.Estado.Id == Guid.Empty || o.ID_ESTADO_ORCAMENTO == entradaOrcamento.Orcamento.Estado.Id) select o ).OrderByDescending(o => o.DATA_ORCAMENTO).Skip(entradaOrcamento.PosicaoUltimoItem).Take(entradaOrcamento.CantidadeItens) .Select(o => new { o, e = o.T_ESTADO_ORCAMENTO, c = o.T_CLIENTE, v = o.T_USUARIO_VENDEDOR, r = o.T_USUARIO_RESPOSANVEL, i = o.T_ITEM }).ToList(); // Verifica se foi encontrado algum registro if (lstOrcamentos.Count > 0) { // Preenche o objeto de retorno retOrcamento.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; retOrcamento.Orcamentos = new List<Contrato.Orcamento>(); foreach (var item in lstOrcamentos) { retOrcamento.Orcamentos.Add(new Contrato.Orcamento() { Id = item.o.ID_ORCAMENTO, Codigo = item.o.COD_ORCAMENTO, Data = item.o.DATA_ORCAMENTO, ValorDesconto = item.o.NUM_DESCONTO, PrazoEntrega = item.o.NUM_PRAZO_ENTREGA, ValidadeOrcamento = item.o.NUM_VALIDADE_ORCAMENTO, Estado = Negocio.EstadoOrcamento.BuscarOrcamentoEstadoOrcamento(item.e), Cliente = Negocio.Cliente.BuscarCliente(item.c), Responsavel = Negocio.Usuario.BuscarUsuario(item.r), Vendedor = Negocio.Usuario.BuscarUsuario(item.v), Itens = Negocio.Item.ListarOrcamentoItem(item.i) }); } } } else { var lstOrcamentos = (from o in context.T_ORCAMENTO where (entradaOrcamento.EmpresaLogada.Id == Guid.Empty || o.ID_EMPRESA == entradaOrcamento.EmpresaLogada.Id) && (o.DATA_ORCAMENTO >= entradaOrcamento.Orcamento.Data) && (entradaOrcamento.Orcamento.Codigo == string.Empty || o.COD_ORCAMENTO.Contains(entradaOrcamento.Orcamento.Codigo)) && (entradaOrcamento.Orcamento.Cliente.Id == Guid.Empty || o.ID_CLIENTE == entradaOrcamento.Orcamento.Cliente.Id) && (entradaOrcamento.Orcamento.Vendedor.Id == Guid.Empty || o.ID_USUARIO_VENDEDOR == entradaOrcamento.Orcamento.Vendedor.Id) && (entradaOrcamento.Orcamento.Responsavel.Id == Guid.Empty || o.ID_USUARIO_RESPONSAVEL == entradaOrcamento.Orcamento.Responsavel.Id) && (entradaOrcamento.Orcamento.Estado.Id == Guid.Empty || o.ID_ESTADO_ORCAMENTO == entradaOrcamento.Orcamento.Estado.Id) select new { o, i = o.T_ITEM }).ToList(); // Verifica se foi encontrado algum registro if (lstOrcamentos.Count > 0) { // Preenche o objeto de retorno retOrcamento.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; retOrcamento.Orcamentos = new List<Contrato.Orcamento>(); foreach (var item in lstOrcamentos) { retOrcamento.Orcamentos.Add(new Contrato.Orcamento() { Id = item.o.ID_ORCAMENTO, Codigo = item.o.COD_ORCAMENTO, Data = item.o.DATA_ORCAMENTO, ValorDesconto = item.o.NUM_DESCONTO, PrazoEntrega = item.o.NUM_PRAZO_ENTREGA, ValidadeOrcamento = item.o.NUM_VALIDADE_ORCAMENTO, Estado = Negocio.EstadoOrcamento.BuscarOrcamentoEstadoOrcamento(item.o.T_ESTADO_ORCAMENTO), Cliente = Negocio.Cliente.BuscarCliente(item.o.T_CLIENTE), Responsavel = Negocio.Usuario.BuscarUsuario(item.o.T_USUARIO_RESPOSANVEL), Vendedor = Negocio.Usuario.BuscarUsuario(item.o.T_USUARIO_VENDEDOR), Itens = Negocio.Item.ListarOrcamentoItem(item.i) }); } } } if (retOrcamento.Orcamentos == null || retOrcamento.Orcamentos.Count == 0) { // Preenche o objeto de retorno retOrcamento.Codigo = Contrato.Constantes.COD_RETORNO_VAZIO; retOrcamento.Mensagem = "Não existe dados para o filtro informado."; } } else { // retorna quando o usuário não está autenticado retOrcamento.Codigo = retSessao.Codigo; retOrcamento.Mensagem = retSessao.Mensagem; } // retorna os dados return retOrcamento; }
/// <summary> /// Método para listar os itens do pedido /// </summary> /// <param name="Pedido">Objeto com os dados do filtro</param> /// <returns>Contrato.RetornoPedido</returns> internal static Contrato.RetornoPedido ListarPedido(Contrato.EntradaPedido entradaPedido) { // Objeto que recebe o retorno do método Contrato.RetornoPedido retPedido = new Contrato.RetornoPedido(); // Objeto que recebe o retorno da sessão Contrato.RetornoSessao retSessao = Negocio.Sessao.ValidarSessao(new Contrato.Sessao() { Login = entradaPedido.UsuarioLogado, Chave = entradaPedido.Chave }); // Verifica se o usuário está autenticado if (retSessao.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO) { // Verifica se a empresa não foi informada if (string.IsNullOrWhiteSpace(entradaPedido.EmpresaLogada.Id.ToString())) { entradaPedido.EmpresaLogada.Id = Guid.Empty; } // Verifica se o código não foi informado if (string.IsNullOrWhiteSpace(entradaPedido.Pedido.Codigo)) { entradaPedido.Pedido.Codigo = string.Empty; } // Verifica se o Responsável não foi informado if (entradaPedido.Pedido.Responsavel == null) { entradaPedido.Pedido.Responsavel = new Contrato.Usuario(); } // Verifica se o estado do pedido não foi informado if (entradaPedido.Pedido.Estado == null) { entradaPedido.Pedido.Estado = new Contrato.EstadoPedido(); } // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); context.ContextOptions.LazyLoadingEnabled = true; if (entradaPedido.Paginar) { // Busca o pedido no banco var lstPedidos = (from p in context.T_PEDIDO where (entradaPedido.EmpresaLogada.Id == Guid.Empty || p.ID_EMPRESA == entradaPedido.EmpresaLogada.Id) && (p.DATA_PEDIDO >= entradaPedido.Pedido.Data) && (entradaPedido.Pedido.Codigo == string.Empty || p.COD_PEDIDO.Contains(entradaPedido.Pedido.Codigo)) && (entradaPedido.Pedido.Responsavel.Id == Guid.Empty || p.ID_USUARIO_RESPONSAVEL == entradaPedido.Pedido.Responsavel.Id) && (entradaPedido.Pedido.Estado.Id == Guid.Empty || p.ID_ESTADO_PEDIDO == entradaPedido.Pedido.Estado.Id) select p ).OrderByDescending(p => p.DATA_PEDIDO).Skip(entradaPedido.PosicaoUltimoItem).Take(entradaPedido.CantidadeItens) .Select(p => new { o = p, e = p.T_ESTADO_PEDIDO, r = p.T_USUARIO, i = p.T_ITEM_PEDIDO }).ToList(); // Verifica se foi encontrado algum registro if (lstPedidos.Count > 0) { // Preenche o objeto de retorno retPedido.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; retPedido.Pedidos = new List<Contrato.Pedido>(); foreach (var item in lstPedidos) { retPedido.Pedidos.Add(new Contrato.Pedido() { Id = item.o.ID_PEDIDO, Codigo = item.o.COD_PEDIDO, Data = item.o.DATA_PEDIDO, ValorDesconto = item.o.NUM_DESCONTO, Estado = Negocio.EstadoPedido.BuscarPedidoEstadoPedido(item.e), Responsavel = Negocio.Usuario.BuscarUsuario(item.r), ItensPedido = Negocio.ItemPedido.ListarPedidoItem(item.i) }); } } } else { var lstPedidos = (from p in context.T_PEDIDO where (entradaPedido.EmpresaLogada.Id == Guid.Empty || p.ID_EMPRESA == entradaPedido.EmpresaLogada.Id) && (entradaPedido.Pedido.Codigo == string.Empty || p.COD_PEDIDO.Contains(entradaPedido.Pedido.Codigo)) && (entradaPedido.Pedido.Responsavel.Id == Guid.Empty || p.ID_USUARIO_RESPONSAVEL == entradaPedido.Pedido.Responsavel.Id) && (entradaPedido.Pedido.Estado.Id == Guid.Empty || p.ID_ESTADO_PEDIDO == entradaPedido.Pedido.Estado.Id) select new { p, i = p.T_ITEM_PEDIDO }).ToList(); // Verifica se foi encontrado algum registro if (lstPedidos.Count > 0) { // Preenche o objeto de retorno retPedido.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; retPedido.Pedidos = new List<Contrato.Pedido>(); foreach (var item in lstPedidos) { retPedido.Pedidos.Add(new Contrato.Pedido() { Id = item.p.ID_PEDIDO, Codigo = item.p.COD_PEDIDO, Data = item.p.DATA_PEDIDO, ValorDesconto = item.p.NUM_DESCONTO, Estado = Negocio.EstadoPedido.BuscarPedidoEstadoPedido(item.p.T_ESTADO_PEDIDO), Responsavel = Negocio.Usuario.BuscarUsuario(item.p.T_USUARIO), ItensPedido = Negocio.ItemPedido.ListarPedidoItem(item.i) }); } } } if (retPedido.Pedidos == null || retPedido.Pedidos.Count == 0) { // Preenche o objeto de retorno retPedido.Codigo = Contrato.Constantes.COD_RETORNO_VAZIO; retPedido.Mensagem = "Não existe dados para o filtro informado."; } } else { // retorna quando o usuário não está autenticado retPedido.Codigo = retSessao.Codigo; retPedido.Mensagem = retSessao.Mensagem; } // retorna os dados return retPedido; }
/// <summary> /// Método para salvar o fornecedor /// </summary> /// <param name="entradaFornecedor">Objeto com os dados do fornecedor</param> /// <returns>Contrato.RetornoFornecedor</returns> internal static Contrato.RetornoFornecedor SalvarFornecedor(Contrato.EntradaFornecedor entradaFornecedor) { // Objeto que recebe o retorno do método Contrato.RetornoFornecedor retFornecedor = new Contrato.RetornoFornecedor(); // Objeto que recebe o retorno da sessão Contrato.RetornoSessao retSessao = Negocio.Sessao.ValidarSessao(new Contrato.Sessao() { Login = entradaFornecedor.UsuarioLogado, Chave = entradaFornecedor.Chave }); // Verifica se o usuário está autenticado if (retSessao.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO) { // Verifica se as informações do fornecedor foram informadas string strValidacao = ValidarFornecedorPreenchido(entradaFornecedor.Fornecedor); // Se existe algum erro if (strValidacao.Length > 0) { retFornecedor.Codigo = Contrato.Constantes.COD_FILTRO_VAZIO; retFornecedor.Mensagem = strValidacao; } else { // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); context.ContextOptions.LazyLoadingEnabled = true; // Busca o fornecedor no banco List<Dados.FORNECEDOR> lstFornecedores = (from f in context.T_FORNECEDOR where (f.COD_FORNECEDOR == entradaFornecedor.Fornecedor.Codigo && (entradaFornecedor.Fornecedor.Cpf_Cnpj != null || f.CPF_CNJP_FORNECEDOR == entradaFornecedor.Fornecedor.Cpf_Cnpj) && (entradaFornecedor.EmpresaLogada.Id == Guid.Empty || f.ID_EMPRESA == entradaFornecedor.EmpresaLogada.Id)) || (entradaFornecedor.Novo == null && entradaFornecedor.Fornecedor.Id == f.ID_FORNECEDOR) select f).ToList(); // Verifica se foi encontrado algum registro if (lstFornecedores.Count > 0 && entradaFornecedor.Novo != null && (bool)entradaFornecedor.Novo) { // Preenche o objeto de retorno retFornecedor.Codigo = Contrato.Constantes.COD_REGISTRO_DUPLICADO; retFornecedor.Mensagem = string.Format("O fornecedor de código '{0}' já existe!", lstFornecedores.First().COD_FORNECEDOR); } else { // Se existe o fornecedor if (lstFornecedores.Count > 0) { bool atualizarProdutos = false; // Atualiza o fornecedor lstFornecedores.First().NOME_FORNECEDOR = entradaFornecedor.Fornecedor.Nome; lstFornecedores.First().BOL_PESSOA_FISICA = entradaFornecedor.Fornecedor.Tipo == Contrato.Enumeradores.Pessoa.Fisica ? true : false; lstFornecedores.First().CPF_CNJP_FORNECEDOR = entradaFornecedor.Fornecedor.Cpf_Cnpj; lstFornecedores.First().NUM_VALOR_ATACADO = entradaFornecedor.Fornecedor.ValorPercentagemAtacado; lstFornecedores.First().NUM_VALOR_VAREJO = entradaFornecedor.Fornecedor.ValorPercentagemVarejo; lstFornecedores.First().BOL_ATIVO = (bool)entradaFornecedor.Fornecedor.Ativo; lstFornecedores.First().DATA_ATUALIZACAO = DateTime.Now; lstFornecedores.First().LOGIN_USUARIO = entradaFornecedor.UsuarioLogado; // verifica se o fornecedor foi desativado atualizarProdutos = (bool)entradaFornecedor.Fornecedor.Ativo == false; // Verifica se é para atualizar os produtos if (!atualizarProdutos) // verifica se a quantidade de taxas foi alterada atualizarProdutos = (entradaFornecedor.Fornecedor.Taxas == null && lstFornecedores.First().T_FORNECEDOR_TAXA.Count > 0) || (entradaFornecedor.Fornecedor.Taxas != null && lstFornecedores.First().T_FORNECEDOR_TAXA.Count != entradaFornecedor.Fornecedor.Taxas.Count); // Verifica se é para atualizar os produtos if (entradaFornecedor.Fornecedor.Taxas != null && !atualizarProdutos) // Para cada taxa existente foreach (Contrato.Taxa t in entradaFornecedor.Fornecedor.Taxas) { // Verifica se é para atualizar os produtos if (!atualizarProdutos) // Verifica se alguma informação da taxa foi atualizada atualizarProdutos = (from ft in lstFornecedores.First().T_FORNECEDOR_TAXA where ft.ID_TAXA == t.Id && (ft.NUM_VALOR != t.Valor || ft.ORD_PRIORIDADE != t.Prioridade) select ft).Count() > 0; else break; } // Apaga todas as taxas que estão relacionadas ao fornecedor while (lstFornecedores.First().T_FORNECEDOR_TAXA.Count > 0) { context.T_FORNECEDOR_TAXA.DeleteObject(lstFornecedores.First().T_FORNECEDOR_TAXA.First()); } // Preenche as taxas do fornecedor PreencherTaxaFornecedor(entradaFornecedor, lstFornecedores.First()); // Verifica se é para atualizar os produtos if (atualizarProdutos) // Atualiza o valor das taxas nos produtos SalvarProdutosFornecedor(entradaFornecedor); } else { // Recupera o código do cliente string codigoFornecedor = string.Empty; if (entradaFornecedor.Fornecedor.Codigo != string.Empty) codigoFornecedor = entradaFornecedor.Fornecedor.Codigo; else { System.Data.Objects.ObjectParameter objCodigoFornecedor = new System.Data.Objects.ObjectParameter("P_CODIGO", typeof(global::System.Int32)); context.RETORNAR_CODIGO(Contrato.Constantes.TIPO_COD_FORNECEDOR, entradaFornecedor.EmpresaLogada.Id, objCodigoFornecedor); codigoFornecedor = Util.RecuperaCodigo((int)objCodigoFornecedor.Value, Contrato.Constantes.TIPO_COD_FORNECEDOR); } // Cria o fornecedor Dados.FORNECEDOR tFornecedor = new Dados.FORNECEDOR(); tFornecedor.ID_FORNECEDOR = Guid.NewGuid(); tFornecedor.COD_FORNECEDOR = codigoFornecedor; tFornecedor.NOME_FORNECEDOR = entradaFornecedor.Fornecedor.Nome; tFornecedor.ID_EMPRESA = entradaFornecedor.EmpresaLogada.Id; tFornecedor.BOL_PESSOA_FISICA = entradaFornecedor.Fornecedor.Tipo == Contrato.Enumeradores.Pessoa.Fisica ? true : false; tFornecedor.CPF_CNJP_FORNECEDOR = entradaFornecedor.Fornecedor.Cpf_Cnpj; tFornecedor.NUM_VALOR_ATACADO = entradaFornecedor.Fornecedor.ValorPercentagemAtacado; tFornecedor.NUM_VALOR_VAREJO = entradaFornecedor.Fornecedor.ValorPercentagemVarejo; tFornecedor.BOL_ATIVO = (bool)entradaFornecedor.Fornecedor.Ativo; tFornecedor.DATA_ATUALIZACAO = DateTime.Now; tFornecedor.LOGIN_USUARIO = entradaFornecedor.UsuarioLogado; // Preenche as taxas do fornecedor PreencherTaxaFornecedor(entradaFornecedor, tFornecedor); // Adiciona o fornecedor na tabela context.AddToT_FORNECEDOR(tFornecedor); } // Salva as alterações context.SaveChanges(); // Preenche o objeto de retorno retFornecedor.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; } } } else { // retorna quando o usuário não está autenticado retFornecedor.Codigo = retSessao.Codigo; retFornecedor.Mensagem = retSessao.Mensagem; } // retorna dos dados return retFornecedor; }
/// <summary> /// Método para logar na aplicação /// </summary> /// <param name="entradaUsuario">Objeto com os dados do usuário a Logar</param> /// <returns>Contrato.RetornoUsuario</returns> internal static Contrato.RetornoUsuario Logar(Contrato.EntradaUsuario entradaUsuario) { // Objeto que recebe o retorno do método Contrato.RetornoUsuario retUsuario = new Contrato.RetornoUsuario(); // Verifica se as informações do usuário forma informadas string strValidacao = ValidarLoginUsuarioPreenchido(entradaUsuario.Usuario); if (strValidacao.Length > 0) { retUsuario.Codigo = Contrato.Constantes.COD_FILTRO_VAZIO; retUsuario.Mensagem = strValidacao; } else { // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); context.ContextOptions.LazyLoadingEnabled = true; // Busca o usuario no banco Dados.USUARIO objUsuario = (from u in context.T_USUARIO where u.LOGIN_USUARIO == entradaUsuario.Usuario.Login && u.SENHA_USUARIO == entradaUsuario.Usuario.Senha && u.BOL_ATIVO == true select u).FirstOrDefault(); // Verifica se foi encontrado algum registro if (objUsuario != null) { retUsuario.Usuarios = new List<Contrato.Usuario>(); retUsuario.Usuarios.Add(new Contrato.Usuario() { Id = objUsuario.ID_USUARIO, Nome = objUsuario.NOME_USUARIO }); if (!entradaUsuario.PreencherListaSelecao) { retUsuario.Usuarios.Last().Login = objUsuario.LOGIN_USUARIO; retUsuario.Usuarios.Last().Senha = objUsuario.SENHA_USUARIO; retUsuario.Usuarios.Last().Ativo = objUsuario.BOL_ATIVO; retUsuario.Usuarios.Last().Empresa = Negocio.Empresa.BuscarUsuarioEmpresa(objUsuario.T_EMPRESA); retUsuario.Usuarios.Last().Perfis = Negocio.Perfil.ListarUsuarioPerfil(objUsuario.T_USUARIO_PERFIL); } Contrato.RetornoSessao retSessao = Negocio.Sessao.SalvarSessao(new Contrato.Sessao() { Login = entradaUsuario.Usuario.Login, Chave = entradaUsuario.Chave }); if (retUsuario.Usuarios.First().Empresa == null) { // Preenche o objeto de retorno retUsuario.Codigo = Contrato.Constantes.COD_EMPRESA_INEXISTENTE; retUsuario.Mensagem = string.Format("Não foi encontrado uma empresa para o usuário '{0}' informado.", retUsuario.Usuarios.First().Nome); } else if (!retUsuario.Usuarios.First().Empresa.Ativo) { // Preenche o objeto de retorno retUsuario.Codigo = Contrato.Constantes.COD_EMPRESA_DESATIVADA; retUsuario.Mensagem = string.Format("Infelizmente a empresa '{0}' não está ativa para o sistema.", retUsuario.Usuarios.First().Empresa.Nome); } else { // Preenche o objeto de retorno retUsuario.Codigo = retSessao.Codigo; retUsuario.Mensagem = retSessao.Mensagem; } } else { // Preenche o objeto de retorno retUsuario.Codigo = Contrato.Constantes.COD_RETORNO_VAZIO; retUsuario.Mensagem = "Não existe dados para o filtro informado."; } } // retorna os dados return retUsuario; }
/// <summary> /// Método para listar os fornecedores /// </summary> /// <param name="Fornecedor">Objeto com os dados do filtro</param> /// <returns>Contrato.RetornoFornecedor</returns> internal static Contrato.RetornoFornecedor ListarFornecedor(Contrato.EntradaFornecedor entradaFornecedor) { // Objeto que recebe o retorno do método Contrato.RetornoFornecedor retFornecedor = new Contrato.RetornoFornecedor(); // Objeto que recebe o retorno da sessão Contrato.RetornoSessao retSessao = Negocio.Sessao.ValidarSessao(new Contrato.Sessao() { Login = entradaFornecedor.UsuarioLogado, Chave = entradaFornecedor.Chave }); // Verifica se o usuário está autenticado if (retSessao.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO) { // Verifica se a empresa não foi informada if (string.IsNullOrWhiteSpace(entradaFornecedor.EmpresaLogada.Id.ToString())) { entradaFornecedor.EmpresaLogada.Id = Guid.Empty; } // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); context.ContextOptions.LazyLoadingEnabled = true; // Busca o fornecedor no banco var lstFornecedores = (from f in context.T_FORNECEDOR.Include("T_FORNECEDOR_TAXA.T_TAXA") where (entradaFornecedor.Fornecedor.Ativo == null || f.BOL_ATIVO == entradaFornecedor.Fornecedor.Ativo) && (entradaFornecedor.EmpresaLogada.Id == Guid.Empty || f.ID_EMPRESA == entradaFornecedor.EmpresaLogada.Id) && (entradaFornecedor.Fornecedor.Codigo == null || entradaFornecedor.Fornecedor.Codigo == string.Empty || f.COD_FORNECEDOR.Contains(entradaFornecedor.Fornecedor.Codigo)) && (entradaFornecedor.Fornecedor.Nome == null || entradaFornecedor.Fornecedor.Nome == string.Empty || f.NOME_FORNECEDOR.Contains(entradaFornecedor.Fornecedor.Nome)) && (entradaFornecedor.Fornecedor.Tipo == null || f.BOL_PESSOA_FISICA == (entradaFornecedor.Fornecedor.Tipo == Contrato.Enumeradores.Pessoa.Fisica ? true : false)) && (entradaFornecedor.Fornecedor.Cpf_Cnpj == null || entradaFornecedor.Fornecedor.Cpf_Cnpj == string.Empty || f.CPF_CNJP_FORNECEDOR != null && f.CPF_CNJP_FORNECEDOR.StartsWith(entradaFornecedor.Fornecedor.Cpf_Cnpj)) select new { f, t = f.T_FORNECEDOR_TAXA}).ToList(); // Verifica se foi encontrado algum registro if (lstFornecedores.Count > 0) { // Preenche o objeto de retorno retFornecedor.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; // Inicializa a lista de fornecedores retFornecedor.Fornecedores = new List<Contrato.Fornecedor>(); // Para cada fornecedor existente na lista foreach (var item in lstFornecedores) { retFornecedor.Fornecedores.Add(new Contrato.Fornecedor() { Id = item.f.ID_FORNECEDOR, Nome = item.f.NOME_FORNECEDOR, Codigo = item.f.COD_FORNECEDOR }); if (!entradaFornecedor.PreencherListaSelecao) { retFornecedor.Fornecedores.Last().Cpf_Cnpj = item.f.CPF_CNJP_FORNECEDOR; retFornecedor.Fornecedores.Last().ValorPercentagemAtacado = item.f.NUM_VALOR_ATACADO; retFornecedor.Fornecedores.Last().ValorPercentagemVarejo = item.f.NUM_VALOR_VAREJO; retFornecedor.Fornecedores.Last().Ativo = item.f.BOL_ATIVO; retFornecedor.Fornecedores.Last().Tipo = item.f.BOL_PESSOA_FISICA ? Contrato.Enumeradores.Pessoa.Fisica : Contrato.Enumeradores.Pessoa.Juridica; retFornecedor.Fornecedores.Last().Taxas = Negocio.Taxa.ListarFornecedorTaxa(item.t); } } } else { // Preenche o objeto de retorno retFornecedor.Codigo = Contrato.Constantes.COD_RETORNO_VAZIO; retFornecedor.Mensagem = "Não existe dados para o filtro informado."; } } else { // retorna quando o usuário não está autenticado retFornecedor.Codigo = retSessao.Codigo; retFornecedor.Mensagem = retSessao.Mensagem; } // retorna os dados return retFornecedor; }
/// <summary> /// Método para listar as unidade de medidas /// </summary> /// <param name="entradaUnidadeMedida.UnidadeMedidas">Objeto com os dados do filtro</param> /// <returns>Contrato.RetornoUnidadeMedida</returns> internal static Contrato.RetornoUnidadeMedida ListarUnidadeMedida(Contrato.EntradaUnidadeMedida entradaUnidadeMedida) { // Objeto que recebe o retorno do método Contrato.RetornoUnidadeMedida retUnidadeMedida = new Contrato.RetornoUnidadeMedida(); // Objeto que recebe o retorno da sessão Contrato.RetornoSessao retSessao = Negocio.Sessao.ValidarSessao(new Contrato.Sessao() { Login = entradaUnidadeMedida.UsuarioLogado, Chave = entradaUnidadeMedida.Chave }); // Verifica se o usuário está autenticado if (retSessao.Codigo == Contrato.Constantes.COD_RETORNO_SUCESSO) { // Verifica se a empresa não foi informada if (string.IsNullOrWhiteSpace(entradaUnidadeMedida.EmpresaLogada.Id.ToString())) { entradaUnidadeMedida.EmpresaLogada.Id = Guid.Empty; } // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); // Busca a unidade de medida no banco List<Contrato.UnidadeMedida> lstUnidadeMedidas = (from um in context.T_UNIDADE_MEDIDA where (um.BOL_ATIVO == entradaUnidadeMedida.UnidadeMedida.Ativo) && (entradaUnidadeMedida.UnidadeMedida.Codigo == null || entradaUnidadeMedida.UnidadeMedida.Codigo == string.Empty || um.COD_UNIDADE_MEDIDA.Contains(entradaUnidadeMedida.UnidadeMedida.Codigo)) && (entradaUnidadeMedida.UnidadeMedida.Nome == null || entradaUnidadeMedida.UnidadeMedida.Nome == string.Empty || um.NOME_UNIDADE_MEDIDA.Contains(entradaUnidadeMedida.UnidadeMedida.Nome)) && (entradaUnidadeMedida.EmpresaLogada.Id == Guid.Empty || um.ID_EMPRESA == entradaUnidadeMedida.EmpresaLogada.Id) select new Contrato.UnidadeMedida { Id = um.ID_UNIDADE_MEDIDA, Codigo = um.COD_UNIDADE_MEDIDA, Nome = um.NOME_UNIDADE_MEDIDA, Descricao = um.DES_UNIDADE_MEDIDA, Ativo = um.BOL_ATIVO }).ToList(); // Verifica se foi encontrado algum registro if (lstUnidadeMedidas.Count > 0) { // Preenche o objeto de retorno retUnidadeMedida.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; retUnidadeMedida.UnidadeMedidas = lstUnidadeMedidas; } else { // Preenche o objeto de retorno retUnidadeMedida.Codigo = Contrato.Constantes.COD_RETORNO_VAZIO; retUnidadeMedida.Mensagem = "Não existe dados para o filtro informado."; } } else { // retorna quando o usuário não está autenticado retUnidadeMedida.Codigo = retSessao.Codigo; retUnidadeMedida.Mensagem = retSessao.Mensagem; } // retorna os dados return retUnidadeMedida; }