Ejemplo n.º 1
0
        /// <summary>
        /// Busca Lista de Documentos
        /// </summary>
        /// <param name="ord_id">Id da Ordem de Serviço selecionada</param>
        /// <param name="codDoc">Código ou Parte a se localizar</param>
        /// <returns>List(SelectListItem)</returns>
        public List <SelectListItem> PreencheCmbDocumentosLocalizados(int ord_id, string codDoc)
        {
            Usuario          paramUsuario  = (Usuario)System.Web.HttpContext.Current.Session["Usuario"];
            List <Documento> lstDocumentos = new OrdemServicoDAO().OrdemServico_DocumentosNaoAssociados_ListAll(ord_id, codDoc, paramUsuario.usu_id);

            List <SelectListItem> lstListaCmbDocumentosLocalizados = new List <SelectListItem>(); // lista de combo

            foreach (var temp in lstDocumentos)
            {
                string txt = temp.doc_codigo + "-" + temp.doc_descricao;
                lstListaCmbDocumentosLocalizados.Add(new SelectListItem()
                {
                    Text = txt, Value = temp.doc_id.ToString()
                });
            }

            int total = lstDocumentos.Count > 0 ? lstDocumentos[0].total_registros : 0;

            lstListaCmbDocumentosLocalizados.Insert(0, new SelectListItem()
            {
                Text = "total_registros", Value = total.ToString()
            });

            return(lstListaCmbDocumentosLocalizados);
        }
Ejemplo n.º 2
0
        protected void BtnSalvar_Click(object sender, EventArgs e)
        {
            OrdemServicoDAO osDao = new OrdemServicoDAO();

            string Data = txtDataSolicitacao.Text;
            int    Prazo;

            int.TryParse(txtPrazoEntrega.Text, out Prazo);
            double Total;

            double.TryParse(txtTotal.Text, out Total);
            string Status = DropDownStatus.SelectedValue;

            if ((Data.Equals("") || Prazo.Equals("") || Total.Equals("") || Status.Equals("")))
            {
                LblResultado.Text = "Dados estão inseridos de forma incorreta!!";
            }
            else
            {
                OrdemServico os = osDao.Inserir(new OrdemServico()
                {
                    DataSolicitacao = Data,
                    PrazoEntrega    = Prazo,
                    Total           = Total,
                    Status          = Status
                });

                if (os != null)
                {
                    LblResultado.Text = "Inserido";
                    //Session["cliente"] = cliente;
                    //Response.Redirect("~/vwEndereco.aspx");
                }
            }
        }
        public OrdemServicoValidator(OrdemServicoDAO ordemServicoDAO, ProdutoDAO produtoDAO, ServicoDAO servicoDAO, CondicaoPagamentoDAO condicaoPagamentoDAO)
        {
            this.ProdutoDAO           = produtoDAO ?? throw new ArgumentNullException(nameof(produtoDAO));
            this.ServicoDAO           = servicoDAO ?? throw new ArgumentNullException(nameof(servicoDAO));
            this.OrdemServicoDAO      = ordemServicoDAO ?? throw new ArgumentNullException(nameof(ordemServicoDAO));
            this.CondicaoPagamentoDAO = condicaoPagamentoDAO ?? throw new ArgumentNullException(nameof(condicaoPagamentoDAO));

            RuleFor(e => e.Id)
            .Must(ExistOrdemServico).WithMessage("Ordem de serviço não cadastrada.");

            RuleFor(e => e.CondicaoPagamentoId)
            .Must(ExistCondicaoPagamento).WithMessage("Condição de pagamento não cadastrada");

            RuleFor(e => e.DescricaoTecnico)
            .MaximumLength(255).WithMessage("Descrição não deve ter mais de 255 caracteres.");

            RuleFor(e => e.DescricaoObservacaoTecnico)
            .MaximumLength(255).WithMessage("Observações não deve ter mais de 255 caracteres.");

            RuleForEach(e => e.Produtos)
            .Must(ExistProduto).WithMessage("Produto não cadastrado.");

            RuleForEach(e => e.Servicos)
            .Must(ExistServico).WithMessage("Serviço não cadastrado.");

            RuleFor(e => e.Servicos)
            .Must(e => e.Count > 0).WithMessage("Informe os serviços.");

            RuleFor(e => e.ParcelasServico)
            .Must(e => e?.Count > 0).WithMessage("Informe as parcelas.");
        }
Ejemplo n.º 4
0
        public void PopularGrid()
        {
            OrdemServicoDAO osDao  = new OrdemServicoDAO();
            DataTable       dTable = osDao.ListarTodos();

            gdvOrdemServico.DataSource = dTable;
            gdvOrdemServico.DataBind();
        }
Ejemplo n.º 5
0
        public OrdemServico GerarOrdemServico()
        {
            OrdemServico os = new OrdemServico()
            {
                DataSolicitacao = DateTime.Now.ToString("dd/MM/yyyy"),
                Cliente         = cliente
            };
            OrdemServicoDAO osDao = new OrdemServicoDAO();

            return(osDao.Inserir(os));
        }
Ejemplo n.º 6
0
        // *************** FICHA DE NOTIFICACAO DE OCORRENCIAS  *************************************************************
        /// <summary>
        /// Busca os dados da Mensagem/Email
        /// </summary>
        /// <param name="msg_id">Id da mensagem</param>
        /// <param name="ord_id">Id da Ordem de Servico</param>
        /// <returns>Dados da Mensagem/Email</returns>
        public string OSEmail_ID(int ord_id, int msg_id)
        {
            List <OSEmail> email = new OrdemServicoDAO().OSEmail_ID(ord_id, msg_id);

            if (email.Count > 0)
            {
                return(email[0].mensagem);
            }
            else
            {
                return("");
            }
        }
 public OrdemServicoService(OrdemServicoDAO dAO, UserRequest userRequest,
                            OrdemServicoProdutoDAO ordemServicoProdutoDAO, ProdutoDAO produtoDAO,
                            OrdemServicoServicoDAO ordemServicoServicoDAO, ServicoDAO servicoDAO,
                            VendaService vendaService, VendaDAO vendaDAO, UserDAO userDAO)
 {
     this.DAO                    = dAO ?? throw new ArgumentNullException(nameof(dAO));
     this.UserDAO                = userDAO ?? throw new ArgumentNullException(nameof(userDAO));
     this.VendaDAO               = vendaDAO ?? throw new ArgumentNullException(nameof(vendaDAO));
     this.ServicoDAO             = servicoDAO ?? throw new ArgumentNullException(nameof(servicoDAO));
     this.ProdutoDAO             = produtoDAO ?? throw new ArgumentNullException(nameof(produtoDAO));
     this.UserRequest            = userRequest ?? throw new ArgumentNullException(nameof(userRequest));
     this.VendaService           = vendaService ?? throw new ArgumentNullException(nameof(vendaService));
     this.OrdemServicoServicoDAO = ordemServicoServicoDAO ?? throw new ArgumentNullException(nameof(ordemServicoServicoDAO));
     this.OrdemServicoProdutoDAO = ordemServicoProdutoDAO ?? throw new ArgumentNullException(nameof(ordemServicoProdutoDAO));
 }
Ejemplo n.º 8
0
        /// <summary>
        ///     Lista de todos os Status para preenchimento de combo
        /// </summary>
        /// <returns>Lista de SelectListItem</returns>
        public List <SelectListItem> PreencheCmbStatusOS()
        {
            List <OSStatus>       lst      = new OrdemServicoDAO().OSStatus_ListAll();
            List <SelectListItem> lstSaida = new List <SelectListItem>(); // lista de combo

            foreach (var temp in lst)
            {
                string txt = temp.sos_descricao + " (" + temp.sos_codigo + ")";
                lstSaida.Add(new SelectListItem()
                {
                    Text = txt, Value = temp.sos_id.ToString()
                });
            }

            return(lstSaida);
        }
        protected void btnRegistrar_Click(object sender, EventArgs e)
        {
            OS_Servico    oss          = new OS_Servico();
            OS_ServicoDAO ossDao       = new OS_ServicoDAO();
            ServicoDAO    servicoDao   = new ServicoDAO();
            OrdemServico  ordemServico = new OrdemServico();

            ordemServico.Servicos = new List <Servico>();
            OrdemServicoDAO osDao   = new OrdemServicoDAO();
            DataTable       table   = Session["dataServices"] as DataTable;
            Cliente         cliente = Session["client"] as Cliente;

            int hora = 0;

            for (int i = 0; i < table.Rows.Count; i++)
            {
                ordemServico.Servicos.Add(servicoDao.BuscarPorId(int.Parse(table.Rows[i]["idService"].ToString())));
                ordemServico.Total          += ordemServico.Servicos[i].Valor;
                ordemServico.DataSolicitacao = DateTime.Parse(table.Rows[i]["dateService"].ToString());
                hora += int.Parse(table.Rows[i]["timeService"].ToString());
                ordemServico.Cliente.Id   = cliente.Id;
                ordemServico.Status       = txtStatus.Text;
                ordemServico.PrazoEntrega = ordemServico.DataSolicitacao.AddHours(hora);
            }
            ordemServico = osDao.Insere(ordemServico);
            if (ordemServico != null)
            {
                lblResultado.Text = "Registros inseridos com sucesso";
                (Session["dataServices"] as DataTable).Clear();
                LoadOsTable();
            }
            else
            {
                lblResultado.Text = "Falha ao inserir";
                return;
            }
            for (int i = 0; i < table.Rows.Count; i++)
            {
                oss = ossDao.GeraOS_Servico(ordemServico, ordemServico.Servicos[i], int.Parse(table.Rows[i]["quantityService"].ToString()));
                ossDao.Insere(oss);
            }
        }
Ejemplo n.º 10
0
        /// <summary>
        ///  Envia Email de Notificacao
        /// </summary>
        /// <param name="lstDestinatarios">Lista de Destinatarios separada por ponto e virgula</param>
        /// <param name="TextoEmail">Texto do Email</param>
        /// <param name="ord_id">Id da O.S.</param>
        /// <returns>string</returns>
        public string FichaNotificacao_EnviarEmail(string lstDestinatarios, string TextoEmail, int ord_id)
        {
            ParamsEmail    pEmail = new ParametroBLL().Parametro_ListAllParamsEmail()[0];
            List <OSEmail> email  = new OrdemServicoDAO().OSEmail_ID(ord_id, 4);

            pEmail.Para    = email[0].destinatarios;
            pEmail.Assunto = email[0].assunto;
            pEmail.Texto   = email[0].mensagem.Replace("<<TEXTO_ADICIONAL>>", TextoEmail);


            // envia o email
            AlternateView av1 = null;

            if (pEmail.IsBodyHtml)
            {
                av1 = AlternateView.CreateAlternateViewFromString(pEmail.Texto, null, "text/html");
            }

            return(new Gerais().MandaEmail(av1, pEmail));
        }
        public AndamentoOrdemServicoValidator(OrdemServicoDAO ordemServicoDAO, ProdutoDAO produtoDAO, ServicoDAO servicoDAO)
        {
            this.ProdutoDAO      = produtoDAO ?? throw new ArgumentNullException(nameof(produtoDAO));
            this.ServicoDAO      = servicoDAO ?? throw new ArgumentNullException(nameof(servicoDAO));
            this.OrdemServicoDAO = ordemServicoDAO ?? throw new ArgumentNullException(nameof(ordemServicoDAO));

            RuleFor(e => e.Id)
            .Must(ExistOrdemServico).WithMessage("Ordem de serviço não cadastrada");

            RuleFor(e => e.DescricaoTecnico)
            .MaximumLength(255).WithMessage("Descrição não deve ter mais de 255 caracteres.");

            RuleFor(e => e.DescricaoObservacaoTecnico)
            .MaximumLength(255).WithMessage("Observações não deve ter mais de 255 caracteres.");

            RuleForEach(e => e.Produtos)
            .Must(ExistProduto).WithMessage("Produto não cadastrado");

            RuleForEach(e => e.Servicos)
            .Must(ExistServico).WithMessage("Serviço não cadastrado");
        }
Ejemplo n.º 12
0
        /// <summary>
        ///     Lista de todos os Status para preenchimento de combo
        /// </summary>
        /// <returns>Lista de SelectListItem</returns>
        public List <SelectListItem> preencheCmbStatus()
        {
            List <OSStatus>       lst      = new OrdemServicoDAO().OSStatus_ListAll();
            List <SelectListItem> lstSaida = new List <SelectListItem>(); // lista de combo

            foreach (var temp in lst)
            {
                string txt = temp.sos_descricao + " (" + temp.sos_codigo + ")";
                lstSaida.Add(new SelectListItem()
                {
                    Text = txt, Value = temp.sos_id.ToString()
                });
            }

            lstSaida.Sort((x, y) => x.Text.CompareTo(y.Text));

            lstSaida.Insert(0, new SelectListItem()
            {
                Text = "-- Selecione --", Value = "", Disabled = true
            });
            return(lstSaida);
        }
Ejemplo n.º 13
0
        private DataTable FillTable()
        {
            OrdemServicoDAO ordemServicoDao = new OrdemServicoDAO();

            return(ordemServicoDao.ListarTodos());
        }
Ejemplo n.º 14
0
        /// <summary>
        ///  Altera os dados da Ordem de Servico no Banco
        /// </summary>
        /// <param name="ord">Ordem de Servico</param>
        /// <returns>string</returns>
        public string OrdemServico_Salvar(OrdemServico ord)
        {
            int sos_id_anterior = new OrdemServicoDAO().StatusOS(ord.ord_id);

            Usuario paramUsuario = (Usuario)System.Web.HttpContext.Current.Session["Usuario"];
            int     retorno      = new OrdemServicoDAO().OrdemServico_Salvar(ord, paramUsuario.usu_id, paramUsuario.usu_ip);

            string         sretorno            = "";
            List <OSEmail> email               = null;
            int            email_Enviar_Emails = Convert.ToInt16(new ParametroDAO().Parametro_GetValor("email_Enviar_Emails"));

            if (sos_id_anterior != ord.sos_id)
            {
                // se O.S. Orcamento for de "Em Revisao" para "Encerrada", o sistema informa que a OAE com dados em revisão será excluída da OS de Orçamento através de mensagem na tela e no e-mail
                if ((sos_id_anterior == 18) && (ord.sos_id == 14) && (ord.tos_id == 11))
                {
                    // busca a mensagem de tela para retornar
                    email    = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 24); // id da mensagem
                    sretorno = email[0].mensagem;

                    // enviar email
                    if (retorno > 0)
                    {
                        if (email_Enviar_Emails != 0)
                        {
                            ParamsEmail pEmail       = new ParametroBLL().Parametro_ListAllParamsEmail()[0];
                            string      retornoEmail = "";
                            email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 25); // id da mensagem

                            // envia o email
                            pEmail.Para    = email[0].destinatarios;
                            pEmail.Assunto = email[0].assunto;
                            pEmail.Texto   = email[0].mensagem;

                            AlternateView av2 = null;
                            if (pEmail.IsBodyHtml)
                            {
                                av2 = AlternateView.CreateAlternateViewFromString(pEmail.Texto, null, "text/html");
                            }

                            if (pEmail.Para.Trim() != "")
                            {
                                retornoEmail = new Gerais().MandaEmail(av2, pEmail);
                            }
                        }
                    }
                }
                else
                {
                    // se retorno > 0 entao verifica se tem que mandar email
                    if (email_Enviar_Emails != 0)
                    {
                        if (retorno > 0) // salvou com sucesso
                        {
                            // checa sincronizacao OAEs e Regionais por conta dos emails das Regionais
                            List <OAE>      oaes      = new IntegracaoDAO().get_OAEs();
                            List <Regional> regionais = new IntegracaoDAO().get_Regionais();

                            ParamsEmail   pEmail       = new ParametroBLL().Parametro_ListAllParamsEmail()[0];
                            AlternateView av1          = null;
                            string        retornoEmail = "";

                            // "E" = 14 = encerrada
                            if ((ord.sos_codigo == "E") || (ord.sos_id == 14))
                            {
                                // cadastral(7), rotineira(8) : email para Regional id mensagem #1
                                if ((ord.tos_id == 7) || (ord.tos_id == 8))
                                {
                                    // verifica se tem apontamentos de serviços e quantitativos na OS
                                    int qt = new OrdemServicoDAO().OrdemServico_ChecaApontamentoServicos(ord.ord_id);

                                    // se tem, entao manda o email
                                    if (qt > 0)
                                    {
                                        email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 1); // id da mensagem = 1

                                        // envia o email
                                        pEmail.Para    = email[0].destinatarios;
                                        pEmail.Assunto = email[0].assunto;
                                        pEmail.Texto   = email[0].mensagem;

                                        AlternateView av2 = null;
                                        if (pEmail.IsBodyHtml)
                                        {
                                            av2 = AlternateView.CreateAlternateViewFromString(pEmail.Texto, null, "text/html");
                                        }

                                        if (pEmail.Para.Trim() != "")
                                        {
                                            retornoEmail = new Gerais().MandaEmail(av2, pEmail);
                                        }
                                    }
                                }

                                // cadastral(7), rotineira(8)
                                if ((ord.tos_id == 7) || (ord.tos_id == 8))
                                {
                                    // Sistema notifica a Seção de OAE da Sede  o encerramento da OS
                                    email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 2); // id mensagem #2
                                }
                                else
                                if (ord.tos_id == 9) // O.S. especial(9)
                                {
                                    // Sistema notifica a Seção de OAE da Sede  o encerramento da OS
                                    email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 8); // id mensagem #8
                                }
                                else
                                if (ord.tos_id == 11)// Orçamento (11)
                                {
                                    // Sistema notifica a Seção de OAE da Sede o encerramento da OS
                                    email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 13); // id da mensagem = 13
                                }
                                else
                                if ((ord.tos_id == 5) || (ord.tos_id == 10) ||  //  Inspeção Extraordinária, Monitoramento, Ensaios, Levantamento Cadastral, Conserva,Projeto de OAE
                                    (ord.tos_id == 16) || (ord.tos_id == 17) || (ord.tos_id == 22) || (ord.tos_id == 24))
                                {
                                    // Sistema notifica a Seção de OAE da Sede o encerramento da OS
                                    email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 3); // id da mensagem = 3
                                }
                                else
                                if (ord.tos_id == 18)          // ocorrencia (18)
                                {
                                    // enviar e-mail para a seção de OAE e para a Regional
                                    email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 5); // id da mensagem = 5
                                }
                                else
                                {
                                    int mudouNotas = new OrdemServicoDAO().MudouNotas(ord.ord_id);
                                    if ((mudouNotas == 0) && ((ord.tos_id == 14) || (ord.tos_id == 23)))
                                    {
                                        if (ord.tos_id == 14) //  Recuperação/Reparo(14)
                                        {
                                            // enviar e-mail para a seção de OAEl
                                            email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 17);
                                        }
                                        else
                                        if (ord.tos_id == 23)    // Execucao de Obra Nova
                                        {
                                            // enviar e-mail para a seção de OAE
                                            email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 18);
                                        }
                                    }
                                    else
                                    {
                                        if ((ord.tos_id == 14) || (ord.tos_id == 13))  //  Recuperação/Reparo(14) //  Projeto de Reforço(13)
                                        {
                                            // enviar e-mail para a seção de OAE e para a Regional
                                            email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 15); // id da mensagem = 15
                                        }
                                        else
                                        if (ord.tos_id == 23)     // Execucao de Obra Nova
                                        {
                                            // enviar e-mail para a seção de OAE e para a Regional
                                            email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 16); // id da mensagem = 16
                                        }
                                    }
                                }
                                // envia o email
                                if (email != null)
                                {
                                    pEmail.Para    = email[0].destinatarios;
                                    pEmail.Assunto = email[0].assunto;
                                    pEmail.Texto   = email[0].mensagem;

                                    if (pEmail.IsBodyHtml)
                                    {
                                        av1 = AlternateView.CreateAlternateViewFromString(pEmail.Texto, null, "text/html");
                                    }

                                    retornoEmail = new Gerais().MandaEmail(av1, pEmail);
                                }
                            }
                            else
                            {
                                // "EXEC = 11 = executada
                                if ((ord.sos_codigo == "EXEC") || (ord.sos_id == 11))
                                {
                                    //Recuperação / Reparo(14), Execução de Obras(23)
                                    if ((ord.tos_id == 13) || (ord.tos_id == 14) || (ord.tos_id == 23))
                                    {
                                        //Enviar e-mail para a seção de OAE
                                        if ((ord.tos_id == 14) || (ord.tos_id == 13))  //  Recuperação/Reparo(14) //  Projeto de Reforço(13)
                                        {
                                            email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 6);
                                        }
                                        else
                                        {
                                            email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 14);
                                        }

                                        pEmail.Para    = email[0].destinatarios;
                                        pEmail.Assunto = email[0].assunto;
                                        pEmail.Texto   = email[0].mensagem;

                                        // envia o email
                                        if (pEmail.IsBodyHtml)
                                        {
                                            av1 = AlternateView.CreateAlternateViewFromString(pEmail.Texto, null, "text/html");
                                        }

                                        retornoEmail = new Gerais().MandaEmail(av1, pEmail);
                                    }
                                }
                                else
                                {
                                    if ((ord.sos_codigo == "CORR") || (ord.sos_id == 13))  // Reaberta para Correção
                                    {
                                        // cadastral(7), rotineira(8), Especial(9)
                                        if ((ord.tos_id == 9) || (ord.tos_id == 7) || (ord.tos_id == 8))
                                        {
                                            int msgid = 7;
                                            if (ord.tos_id == 9) // Especial(9)
                                            {
                                                msgid = 9;
                                            }

                                            //Enviar e-mail para a seção de OAE
                                            email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, msgid); // mensagem id #7 para cadastral/rotineira; #9 para especial

                                            pEmail.Para    = email[0].destinatarios;
                                            pEmail.Assunto = email[0].assunto;
                                            pEmail.Texto   = email[0].mensagem;

                                            // envia o email
                                            if (pEmail.IsBodyHtml)
                                            {
                                                av1 = AlternateView.CreateAlternateViewFromString(pEmail.Texto, null, "text/html");
                                            }

                                            retornoEmail = new Gerais().MandaEmail(av1, pEmail);
                                        }
                                    }
                                }
                            }
                        }
                    }

                    if ((ord.tos_id == 9) && (ord.sos_id == 13)) // Especial(9) Reaberta para Correção
                    {
                        if (retorno < 0)
                        {
                            // busca a mensagem de tela para retornar
                            email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, -retorno); // id da mensagem

                            sretorno = email[0].mensagem;
                        }
                    }
                }
            }

            return(sretorno);
        }
Ejemplo n.º 15
0
 public OrdemServicoRN()
 {
     dao = new OrdemServicoDAO();
 }