public int GerarAtendimento(string GRV, Model.Atendimento.Atendimento Atendimento) { #region VERIFICAR SE JÁ EXISTE ATENDIMENTO Atendimento.id_atendimento = Funcoes .DataBase .GetInt(Business.Atendimento.Atendimento.Consultar(Convert.ToInt32(GRV)), "id_atendimento"); if (Atendimento.id_atendimento != 0) { return(Atendimento.id_atendimento); } #endregion #region DECLARAÇÃO DE VARIÁVEIS Business.Sistema.Configuracoes.id_usuario = 1; var modelClientesDepositos = new Model.Clientes.ClientesDepositosModel(); var modelAtendimentoFotosResponsaveis = new Model.Atendimento.AtendimentoFotosResponsaveis(); var modelGRV = new Model.GRV.GRV(); var modelFaturamento = new Model.Faturamento.Faturamento(); var modelCalculoFaturamento = new Model.Faturamento.CalculoFaturamento(); var modelCalculoDiarias = new Model.GRV.CalculoDiarias(); var modelParametrosCalculoFaturamento = new Model.Faturamento.CalcularFaturamentoParametros(); //var Atendimento = new Model.Atendimento.Atendimento(); #endregion DECLARAÇÃO DE VARIÁVEIS #region PREENCHIMENTO DA GRV modelGRV.id_grv = Convert.ToInt32(GRV); var dtGRV = Business.GRV.GRV.ConsultarRelacionado(modelGRV, null, null, Business.Sistema.Configuracoes.id_usuario); modelGRV.id_status_operacao = Funcoes.DataBase.GetString(dtGRV, "id_status_operacao"); modelGRV.id_cliente = Funcoes.DataBase.GetInt(dtGRV, "id_cliente"); modelGRV.id_deposito = Funcoes.DataBase.GetInt(dtGRV, "id_deposito"); modelGRV.data_hora_guarda = Funcoes.DataBase.GetString(dtGRV, "data_hora_guarda"); modelGRV.numero_formulario_grv = Funcoes.DataBase.GetString(dtGRV, "numero_formulario_grv"); #endregion if (modelGRV.id_status_operacao.Equals("G")) { #region PREENCHIMENTO DO ATENDIMENTO Atendimento.id_grv = Convert.ToInt32(GRV); Atendimento.id_usuario_cadastro = 1; Atendimento.id_qualificacao_responsavel = 1; //PRÓPRIO Atendimento.id_usuario_cadastro = Business.Sistema.Configuracoes.id_usuario; //ROOT Atendimento.responsavel_bairro = Atendimento.nota_fiscal_bairro; Atendimento.responsavel_cep = Atendimento.nota_fiscal_cep; Atendimento.responsavel_complemento = Atendimento.nota_fiscal_complemento; Atendimento.responsavel_ddd = Atendimento.nota_fiscal_ddd; Atendimento.responsavel_documento = Atendimento.nota_fiscal_cpf; Atendimento.responsavel_endereco = Atendimento.nota_fiscal_endereco; Atendimento.responsavel_municipio = Atendimento.nota_fiscal_municipio; Atendimento.responsavel_nome = Atendimento.nota_fiscal_nome; Atendimento.responsavel_numero = Atendimento.nota_fiscal_numero; Atendimento.responsavel_telefone = Atendimento.nota_fiscal_telefone; Atendimento.responsavel_uf = Atendimento.nota_fiscal_uf; Atendimento.proprietario_bairro = Atendimento.nota_fiscal_bairro; Atendimento.proprietario_cep = Atendimento.nota_fiscal_cep; Atendimento.proprietario_complemento = Atendimento.nota_fiscal_complemento; Atendimento.proprietario_ddd = Atendimento.nota_fiscal_ddd; Atendimento.proprietario_documento = Atendimento.nota_fiscal_cpf; Atendimento.proprietario_endereco = Atendimento.nota_fiscal_endereco; Atendimento.proprietario_municipio = Atendimento.nota_fiscal_municipio; Atendimento.proprietario_nome = Atendimento.nota_fiscal_nome; Atendimento.proprietario_numero = Atendimento.nota_fiscal_numero; Atendimento.proprietario_telefone = Atendimento.nota_fiscal_telefone; Atendimento.proprietario_uf = Atendimento.nota_fiscal_uf; //Atendimento.data_alteracao = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); //Atendimento.data_cadastro = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); //Atendimento.data_impressao = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); //Atendimento.data_hora_inicio_atendimento = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); Atendimento.data_alteracao = DateTime.Now.ToString();; Atendimento.data_cadastro = DateTime.Now.ToString();; Atendimento.data_impressao = DateTime.Now.ToString();; Atendimento.data_hora_inicio_atendimento = DateTime.Now.ToString(); Atendimento.total_impressoes++; #endregion #region PREENCHIMENTO DO CALCULO DE DIARIAS modelCalculoDiarias.data_hora_guarda = Funcoes.DataBase.GetDatetime(dtGRV, "data_hora_guarda"); #endregion #region TRATAMENTO DO SAP try { modelClientesDepositos = new Model.Clientes.ClientesDepositosModel() { id_cliente = modelGRV.id_cliente, id_deposito = modelGRV.id_deposito }; using (DataTable subConsulta = Business.Clientes.ClientesDepositosController.Consultar(modelClientesDepositos)) { if (subConsulta == null) { ViewBag.Erro = "O CLIENTE ASSOCIADO AO GRV NÃO POSSUI DEPÓSITO ASSOCIADO."; } modelClientesDepositos.id_cliente = modelGRV.id_cliente; modelClientesDepositos.id_deposito = modelGRV.id_deposito; modelClientesDepositos.codigo_sap = Funcoes.DataBase.GetString(subConsulta, "codigo_sap"); modelClientesDepositos.codigo_sap_ordem_vendas = Funcoes.DataBase.GetString(subConsulta, "codigo_sap_ordem_vendas"); } } catch (Exception ex) { ViewBag.Erro = "OCORREU UM ERRO AO SELECIONAR OS DADOS DA ASSOCIAÇÃO ENTRE CLIENTE E DEPÓSITO." + ex.Message; return(-1); } // N = NÃO POSSUI CADASTRO SAP, // P = PENDENTE DE CADASTRO, // S = SOLICITAÇÃO DE CADASTRO ENVIADA, // F = CADASTRADO FINALIZADO var modelClientes = Business.Clientes.ClientesController.Consultar(modelGRV.id_cliente); if (string.IsNullOrWhiteSpace(modelClientesDepositos.codigo_sap)) { Atendimento.status_cadastro_sap = 'N'; Atendimento.status_cadastro_ordens_venda_sap = 'N'; } else if (modelClientes.flag_emissao_nota_fiscal_sap == 'S') { Atendimento.status_cadastro_sap = 'P'; Atendimento.status_cadastro_ordens_venda_sap = 'P'; } else { Atendimento.status_cadastro_sap = 'N'; Atendimento.status_cadastro_ordens_venda_sap = 'N'; } #endregion SAP #region INICIAR TRANSAÇÃO try { Business.Sistema.GlobalDataBase.BeginTransaction(); } catch (Exception ex) { ViewBag.Erro = "OCORREU UM ERRO AO INICIAR A TRANSAÇÃO COM O BANCO DE DADOS." + ex.Message; return(-1); } #endregion INICIAR TRANSAÇÃO #region CADASTRAR ATENDIMENTO try { Atendimento.id_atendimento = Business.Atendimento.Atendimento.Cadastrar(Atendimento); } catch (Exception ex) { Business.Sistema.GlobalDataBase.RollbackTransaction(); ViewBag.Erro = "OCORREU UM ERRO AO CADASTRAR O ATENDIMENTO." + ex.Message; return(-1); } #endregion CADASTRAR ATENDIMENTO #region CADASTRAR FATURAMENTO //try //{ // modelFaturamento.id_tipo_meio_cobranca = Funcoes.DataBase.GetInt(dtGRV, "id_tipo_meio_cobranca"); // modelParametrosCalculoFaturamento.id_grv = modelGRV.id_grv; // modelParametrosCalculoFaturamento.id_tipo_meio_cobranca = modelFaturamento.id_tipo_meio_cobranca; // modelParametrosCalculoFaturamento.id_usuario = Business.Sistema.Configuracoes.id_usuario; // modelParametrosCalculoFaturamento.origemTipoComposicao = 'P'; // P = PÁTIO, L = LEILÃO // modelParametrosCalculoFaturamento.flag_cadastrar_faturamento = true; // modelParametrosCalculoFaturamento.dataHoraGuarda = Funcoes.DateTimeClass.SetSecond(modelCalculoDiarias.data_hora_guarda, 0); // modelParametrosCalculoFaturamento.dataLiberacao = Funcoes.DateTimeClass.SetSecond(modelParametrosCalculoFaturamento.dataLiberacao, 0); // modelParametrosCalculoFaturamento.listFaturamentoDesconto = new List<Model.Faturamento.FaturamentoDesconto>(); // modelCalculoFaturamento = Business.Faturamento.CalcularFaturamento.Calcular(modelParametrosCalculoFaturamento); // modelFaturamento = modelCalculoFaturamento.modelFaturamento; //} //catch (Exception ex) //{ // Business.Sistema.GlobalDataBase.RollbackTransaction(); // ViewBag.Erro = "OCORREU UM ERRO AO CADASTRAR O FATURAMENTO." + ex.Message; // return -1; //} #endregion #region ATUALIZAR RENAVAM try { modelGRV.id_grv = Atendimento.id_grv; //TODO: BUSCAR RENAVAM //modelGRV.renavam = txtProprietarioRenavam.Text; Business.GRV.GRV.AtualizarRenavam(modelGRV.id_grv, modelGRV.renavam, Business.Sistema.Configuracoes.id_usuario); } catch (Exception ex) { Business.Sistema.GlobalDataBase.RollbackTransaction(); ViewBag.Erro = "OCORREU UM ERRO AO ATUALIZAR O RENAVAM." + ex.Message; return(-1); } #endregion #region ATUALIZAR O STATUS DO GRV PARA AGUARDANDO PAGAMENTO try { modelGRV.id_grv = Atendimento.id_grv; modelGRV.id_status_operacao = "L"; Business.GRV.GRV.AtualizarStatusOperacao(modelGRV.id_grv, modelGRV.id_status_operacao, 1); } catch (Exception ex) { Business.Sistema.GlobalDataBase.RollbackTransaction(); ViewBag.Erro = "OCORREU UM ERRO AO ATUALIZAR O STATUS DA OPERAÇÃO." + ex.Message; return(-1); } #endregion ATUALIZAR O STATUS DO GRV PARA AGUARDANDO PAGAMENTO #region FINALIZAR TRANSAÇÃO try { Business.Sistema.GlobalDataBase.CommitTransaction(); } catch (Exception ex) { Business.Sistema.GlobalDataBase.RollbackTransaction(); ViewBag.Erro = "OCORREU UM ERRO AO FINALIZAR A TRANSAÇÃO COM O BANCO DE DADOS." + ex.Message; return(-1); } #endregion FINALIZAR TRANSAÇÃO } try { return(Atendimento.id_atendimento); } catch (Exception ex) { ViewBag.Erro = "OCORREU UM ERRO AO GERAR O ATENDIMENTO." + ex.Message; return(-1); } }
private int GerarFaturamento(string IdGRV) { #region DECLARAÇÃO DE VARIÁVEIS var modelGRV = new Model.GRV.GRV(); var modelParametrosCalculoFaturamento = new Model.Faturamento.CalcularFaturamentoParametros(); var modelFaturamento = new Model.Faturamento.Faturamento(); var modelCalculoFaturamento = new Model.Faturamento.CalculoFaturamento(); Business.Sistema.Configuracoes.id_usuario = 1; #endregion #region CONSULTAR GRV modelGRV.id_grv = Convert.ToInt32(IdGRV); var dtGRV = Business.GRV.GRV.ConsultarRelacionado(modelGRV, null, null, Business.Sistema.Configuracoes.id_usuario); #endregion #region INICIAR TRANSAÇÃO try { Business.Sistema.GlobalDataBase.BeginTransaction(); } catch (Exception ex) { throw new Exception("Ocorreu um erro ao iniciar a transação com o Banco de Dados." + ex.Message); } #endregion INICIAR TRANSAÇÃO #region CADASTRAR FATURAMENTO try { modelParametrosCalculoFaturamento.id_grv = Convert.ToInt32(IdGRV); modelParametrosCalculoFaturamento.id_tipo_meio_cobranca = Funcoes.DataBase.GetInt(dtGRV, "id_tipo_meio_cobranca"); modelParametrosCalculoFaturamento.id_usuario = Business.Sistema.Configuracoes.id_usuario; modelParametrosCalculoFaturamento.origemTipoComposicao = 'P'; // P = PÁTIO, L = LEILÃO modelParametrosCalculoFaturamento.flag_cadastrar_faturamento = true; modelParametrosCalculoFaturamento.dataHoraGuarda = Funcoes.DateTimeClass.SetSecond(Funcoes.DataBase.GetDatetime(dtGRV, "data_hora_guarda"), 0); //modelParametrosCalculoFaturamento.dataHoraGuarda = Funcoes.DataBase.GetDatetime(dtGRV, "data_hora_guarda"); modelParametrosCalculoFaturamento.dataLiberacao = Funcoes.DateTimeClass.SetSecond(modelParametrosCalculoFaturamento.dataLiberacao, 0); //modelParametrosCalculoFaturamento.dataLiberacao = modelParametrosCalculoFaturamento.dataLiberacao; modelParametrosCalculoFaturamento.dataLiberacao = DateTime.Now; modelParametrosCalculoFaturamento.listFaturamentoDesconto = new List <Model.Faturamento.FaturamentoDesconto>(); //modelCalculoFaturamento = Business.Faturamento.CalcularFaturamento.Calcular(modelParametrosCalculoFaturamento); modelCalculoFaturamento = Business.Calculos.Faturamento.Calcular(modelParametrosCalculoFaturamento); modelFaturamento = modelCalculoFaturamento.modelFaturamento; } catch (Exception ex) { Business.Sistema.GlobalDataBase.RollbackTransaction(); throw new Exception("Ocorreu um erro ao cadastrar o Faturamento." + ex.Message); } #endregion #region FINALIZAR TRANSAÇÃO try { Business.Sistema.GlobalDataBase.CommitTransaction(); } catch (Exception ex) { Business.Sistema.GlobalDataBase.RollbackTransaction(); throw new Exception("Ocorreu um erro ao finalizar a transação com o Banco de Dados." + ex.Message); } #endregion FINALIZAR TRANSAÇÃO return(modelFaturamento.id_faturamento); }