/// <summary> /// Deprecated Method for adding a new object to the T_PEDIDO EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> public void AddToT_PEDIDO(PEDIDO pEDIDO) { base.AddObject("T_PEDIDO", pEDIDO); }
/// <summary> /// Método para salvar o pedido /// </summary> /// <param name="entradaPedido">Objeto com os dados do pedido</param> /// <returns>Contrato.RetornoPedido</returns> internal static Contrato.RetornoPedido SalvarPedido(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 as informações do pedido foram informadas string strValidacao = ValidarPedidoPreenchido(entradaPedido.Pedido); // Se existe algum erro if (strValidacao.Length > 0) { retPedido.Codigo = Contrato.Constantes.COD_FILTRO_VAZIO; retPedido.Mensagem = strValidacao; } else { // Loga no banco de dados Dados.BRASIL_DIDATICOS context = new Dados.BRASIL_DIDATICOS(); context.ContextOptions.LazyLoadingEnabled = true; // Busca o pedido no banco List<Dados.PEDIDO> lstPedidos = (from p in context.T_PEDIDO where (p.COD_PEDIDO == entradaPedido.Pedido.Codigo && (entradaPedido.EmpresaLogada.Id == Guid.Empty || p.ID_EMPRESA == entradaPedido.EmpresaLogada.Id)) || (entradaPedido.Novo == null && entradaPedido.Pedido.Id == p.ID_PEDIDO) select p).ToList(); // Verifica se foi encontrado algum registro if (lstPedidos.Count > 0 && entradaPedido.Novo != null && (bool)entradaPedido.Novo) { // Preenche o objeto de retorno retPedido.Codigo = Contrato.Constantes.COD_REGISTRO_DUPLICADO; retPedido.Mensagem = string.Format("O pedido de código '{0}' já existe!", lstPedidos.First().COD_PEDIDO); } else { // Se existe o pedido if (lstPedidos.Count > 0) { // Atualiza o pedido lstPedidos.First().COD_PEDIDO = entradaPedido.Pedido.Codigo; lstPedidos.First().DATA_PEDIDO = entradaPedido.Pedido.Data; lstPedidos.First().ID_ESTADO_PEDIDO = entradaPedido.Pedido.Estado.Id; lstPedidos.First().ID_USUARIO_RESPONSAVEL = entradaPedido.Pedido.Responsavel.Id; lstPedidos.First().NUM_DESCONTO = entradaPedido.Pedido.ValorDesconto; lstPedidos.First().DATA_ATUALIZACAO = DateTime.Now; lstPedidos.First().LOGIN_USUARIO = entradaPedido.UsuarioLogado; // Apaga todos os itens que estão relacionados while (lstPedidos.First().T_ITEM_PEDIDO.Count > 0) { context.T_ITEM_PEDIDO.DeleteObject(lstPedidos.First().T_ITEM_PEDIDO.First()); } // Verifica se existe algum item associado ao pedido if (entradaPedido.Pedido.ItensPedido != null) { // Para cada item associado foreach (Contrato.ItemPedido item in entradaPedido.Pedido.ItensPedido) { Negocio.ItemPedido.SalvarItemPedidoPedido(lstPedidos.First(), entradaPedido.UsuarioLogado, item); } } } else { // Recupera o código do pedido string codigoPedido = string.Empty; if (entradaPedido.Pedido.Codigo != string.Empty) codigoPedido = entradaPedido.Pedido.Codigo; else { System.Data.Objects.ObjectParameter objCodigoPedido = new System.Data.Objects.ObjectParameter("P_CODIGO", typeof(global::System.Int32)); context.RETORNAR_CODIGO(Contrato.Constantes.TIPO_COD_PEDIDO, entradaPedido.EmpresaLogada.Id, objCodigoPedido); codigoPedido = Util.RecuperaCodigo((int)objCodigoPedido.Value, Contrato.Constantes.TIPO_COD_PEDIDO); } // Cria o pedido Dados.PEDIDO tPedido = new Dados.PEDIDO(); tPedido.ID_PEDIDO = Guid.NewGuid(); tPedido.COD_PEDIDO = codigoPedido; tPedido.DATA_PEDIDO = entradaPedido.Pedido.Data; tPedido.ID_EMPRESA = entradaPedido.EmpresaLogada.Id; tPedido.ID_ESTADO_PEDIDO = entradaPedido.Pedido.Estado.Id; tPedido.ID_USUARIO_RESPONSAVEL = entradaPedido.Pedido.Responsavel.Id; tPedido.NUM_DESCONTO = entradaPedido.Pedido.ValorDesconto; tPedido.DATA_ATUALIZACAO = DateTime.Now; tPedido.LOGIN_USUARIO = entradaPedido.UsuarioLogado; // Verifica se existe algum item associado ao orçamento if (entradaPedido.Pedido.ItensPedido != null) { // Para cada item associado foreach (Contrato.ItemPedido item in entradaPedido.Pedido.ItensPedido) { Negocio.ItemPedido.SalvarItemPedidoPedido(tPedido, entradaPedido.UsuarioLogado, item); } } context.AddToT_PEDIDO(tPedido); } // Salva as alterações context.SaveChanges(); // Preenche o objeto de retorno retPedido.Codigo = Contrato.Constantes.COD_RETORNO_SUCESSO; } } } else { // retorna quando o usuário não está autenticado retPedido.Codigo = retSessao.Codigo; retPedido.Mensagem = retSessao.Mensagem; } // retorna dos dados return retPedido; }
/// <summary> /// Create a new PEDIDO object. /// </summary> /// <param name="iD_PEDIDO">Initial value of the ID_PEDIDO property.</param> /// <param name="iD_EMPRESA">Initial value of the ID_EMPRESA property.</param> /// <param name="cOD_PEDIDO">Initial value of the COD_PEDIDO property.</param> /// <param name="dATA_PEDIDO">Initial value of the DATA_PEDIDO property.</param> /// <param name="iD_ESTADO_PEDIDO">Initial value of the ID_ESTADO_PEDIDO property.</param> /// <param name="iD_USUARIO_RESPONSAVEL">Initial value of the ID_USUARIO_RESPONSAVEL property.</param> /// <param name="lOGIN_USUARIO">Initial value of the LOGIN_USUARIO property.</param> /// <param name="dATA_ATUALIZACAO">Initial value of the DATA_ATUALIZACAO property.</param> public static PEDIDO CreatePEDIDO(global::System.Guid iD_PEDIDO, global::System.Guid iD_EMPRESA, global::System.String cOD_PEDIDO, global::System.DateTime dATA_PEDIDO, global::System.Guid iD_ESTADO_PEDIDO, global::System.Guid iD_USUARIO_RESPONSAVEL, global::System.String lOGIN_USUARIO, global::System.DateTime dATA_ATUALIZACAO) { PEDIDO pEDIDO = new PEDIDO(); pEDIDO.ID_PEDIDO = iD_PEDIDO; pEDIDO.ID_EMPRESA = iD_EMPRESA; pEDIDO.COD_PEDIDO = cOD_PEDIDO; pEDIDO.DATA_PEDIDO = dATA_PEDIDO; pEDIDO.ID_ESTADO_PEDIDO = iD_ESTADO_PEDIDO; pEDIDO.ID_USUARIO_RESPONSAVEL = iD_USUARIO_RESPONSAVEL; pEDIDO.LOGIN_USUARIO = lOGIN_USUARIO; pEDIDO.DATA_ATUALIZACAO = dATA_ATUALIZACAO; return pEDIDO; }