示例#1
0
        // GET: OrdensServicos/Details/5
        public ActionResult ReenviarOrcamento(int?id)
        {
            OrdensServicos ordensServicos = db.OrdensServicos.Find(id);

            if (ordensServicos == null)
            {
                return(HttpNotFound());
            }
            List <String> errors = this.ValidarEnviarOrcamento(ordensServicos);

            if (errors.Count == 0)
            {
                String caminhoArquivo = String.Format("{0}\\EntreRodas_{1}_{2}.pdf", Directory.GetCurrentDirectory(),
                                                      DateTime.Now.Year, ordensServicos.CodigoOrdensServicos.Trim());
                GeradorDePDF geradorDePDF = new GeradorDePDF(Response, Request);
                geradorDePDF.GerarOrcamentoPasta(ordensServicos, caminhoArquivo);

                Email email = new Email();
                email.EnviarOrcamento(ordensServicos.Clientes.Email.Trim(), caminhoArquivo, ordensServicos.Clientes.Nome, ordensServicos.Veiculos.MarcasCarros.Nome,
                                      ordensServicos.Veiculos.Modelo, ordensServicos.Veiculos.Ano);
            }
            VisualizarServicoViewModel model = ConfigurVisualizacao(ordensServicos, errors);

            return(View("Details", model));
        }
示例#2
0
        // GET: OrdensServicos/Details/5
        public ActionResult GerarOrcamento(int?id)
        {
            OrdensServicos ordensServicos = db.OrdensServicos.Find(id);

            if (ordensServicos == null)
            {
                return(HttpNotFound());
            }
            #region Validações
            List <String> errors = new List <string>();
            if (ordensServicos.ProblemaIdentificado == null)
            {
                errors.Add("Para gerar o orçamento ao cliente é preciso, primeiro, informar o problema identificado!");
            }
            if (ordensServicos.DataInicialPrevista == null)
            {
                errors.Add("Para gerar o orçamento ao cliente é preciso, primeiro, informar a data prevista para o início do trabalho!");
            }
            if (ordensServicos.OrdensServicosServicos == null || ordensServicos.OrdensServicosServicos.Count == 0 ||
                ordensServicos.OrdensServicosMateriais == null || ordensServicos.OrdensServicosMateriais.Count == 0)
            {
                errors.Add("Para gerar o orçamento ao cliente é preciso ter, ao menos, um serviço e um materia associado à ele!");
            }
            #endregion
            if (errors.Count == 0)
            {
                GeradorDePDF geradorDePDF = new GeradorDePDF(Response, Request);
                geradorDePDF.GerarOrcamentoDownload(ordensServicos);
            }
            VisualizarServicoViewModel model = ConfigurVisualizacao(ordensServicos, errors);
            return(View("Details", model));
        }