Exemplo n.º 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));
        }
Exemplo n.º 2
0
        public ActionResult AgendarInicio([Bind(Include = "DataInicial,OrdensServicosId")] AgendarServicoViewModel viewModel)
        {
            OrdensServicos ordensServicos = db.OrdensServicos.Find(viewModel.OrdensServicosId);
            List <String>  errors         = new List <string>();

            if (ordensServicos == null)
            {
                return(HttpNotFound());
            }
            if (ModelState.IsValid)
            {
                ordensServicos.DataInicialPrevista = viewModel.DataInicial;
                db.Entry(ordensServicos).State     = EntityState.Modified;
                db.SaveChanges();
                ordensServicos = db.OrdensServicos.Find(viewModel.OrdensServicosId);
            }
            else
            {
                foreach (ModelState modelState in ModelState.Values)
                {
                    foreach (ModelError error in modelState.Errors)
                    {
                        errors.Add(error.ErrorMessage);
                    }
                }
            }
            VisualizarServicoViewModel model = ConfigurVisualizacao(ordensServicos, errors);

            return(View("Details", model));
        }
Exemplo n.º 3
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));
        }
Exemplo n.º 4
0
        // GET: OrdensServicos/Details/5
        public ActionResult ChegouPeca(int?id)
        {
            OrdensServicos ordensServicos = db.OrdensServicos.Find(id);

            if (ordensServicos == null)
            {
                return(HttpNotFound());
            }
            ordensServicos.Status          = "EE";
            db.Entry(ordensServicos).State = EntityState.Modified;
            db.SaveChanges();

            VisualizarServicoViewModel model = ConfigurVisualizacao(ordensServicos, null);

            return(View("Details", model));
        }
Exemplo n.º 5
0
        // GET: OrdensServicos/Details/5
        public ActionResult FinalizaServico(int?id)
        {
            OrdensServicos ordensServicos = db.OrdensServicos.Find(id);

            if (ordensServicos == null)
            {
                return(HttpNotFound());
            }
            ordensServicos.ValorTotal      = this.CalcularValorTotal(ordensServicos);
            ordensServicos.Status          = "PT";
            db.Entry(ordensServicos).State = EntityState.Modified;
            db.SaveChanges();

            VisualizarServicoViewModel model = ConfigurVisualizacao(ordensServicos, null);

            return(View("Details", model));
        }
Exemplo n.º 6
0
        // GET: OrdensServicos/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            OrdensServicos ordensServicos = db.OrdensServicos.Find(id);

            if (ordensServicos == null)
            {
                return(HttpNotFound());
            }

            VisualizarServicoViewModel model = ConfigurVisualizacao(ordensServicos, null);

            return(View(model));
        }
Exemplo n.º 7
0
        private VisualizarServicoViewModel ConfigurVisualizacao(OrdensServicos ordensServicos, List <String> errors)
        {
            VisualizarServicoViewModel model = new VisualizarServicoViewModel();

            #region Dados do serviço
            model.Id = ordensServicos.Id;
            model.CodigoOrdemServico = ordensServicos.CodigoOrdensServicos;
            if (ordensServicos.DataOrcamento != null)
            {
                model.DataOrcamento = ordensServicos.DataOrcamento.ToString("dd/MM/yyyy");
            }
            else
            {
                model.DataOrcamento = "--";
            }
            model.Status = ordensServicos.Status;
            if (model.Status == "F")
            {
                model.AprovacaoCliente = ordensServicos.AprovacaoCliente;
            }
            if (ordensServicos.ProblemaIdentificado != null)
            {
                model.ProblemaIdentificado = ordensServicos.ProblemaIdentificado;
            }
            else
            {
                model.ProblemaIdentificado = "--";
            }
            AspNetUsers funcionario = db.AspNetUsers.Find(ordensServicos.FuncionarioResponsavel);
            if (funcionario != null)
            {
                model.NomeFuncionarioResponsavel = funcionario.Nome;
            }
            else
            {
                model.NomeFuncionarioResponsavel = "--";
            }
            if (ordensServicos.DataFinal != null)
            {
                model.DataFinal = ordensServicos.DataFinal.Value.ToString("dd/MM/yyyy");
            }
            if (ordensServicos.DataInicial != null)
            {
                model.DataInicial = ordensServicos.DataInicial.Value.ToString("dd/MM/yyyy");
            }
            if (ordensServicos.DataInicialPrevista != null)
            {
                model.DataInicialPrevista = ordensServicos.DataInicialPrevista.Value.ToString("dd/MM/yyyy");
            }
            else
            {
                model.DataInicialPrevista = "--";
            }
            model.Materiais = ordensServicos.OrdensServicosMateriais.ToList();
            model.Servicos  = ordensServicos.OrdensServicosServicos.ToList();
            if (ordensServicos.ValorTotal == null)
            {
                model.ValorTotal = String.Format("R${0}", this.CalcularValorTotal(ordensServicos));
            }
            else
            {
                model.ValorTotal = String.Format("R${0}", ordensServicos.ValorTotal);
            }
            if (ordensServicos.FormaPagamento == null)
            {
                model.FormaPagamento = "--";
            }
            else
            {
                if (ordensServicos.FormaPagamento.Trim() == "DI")
                {
                    model.FormaPagamento = "Dinheiro";
                }
                else if (ordensServicos.FormaPagamento.Trim() == "CQ")
                {
                    model.FormaPagamento = "Cheque";
                }
                else if (ordensServicos.FormaPagamento.Trim() == "CA")
                {
                    model.FormaPagamento = "Cartão de crédito";
                }
                else if (ordensServicos.FormaPagamento.Trim() == "TD")
                {
                    model.FormaPagamento = "Todos";
                }
            }
            if (ordensServicos.ValorAPagar == null)
            {
                model.ValorAPagar = "--";
            }
            else
            {
                model.ValorAPagar = String.Format("R${0}", ordensServicos.ValorAPagar);
            }
            if (ordensServicos.ValorCartao == null)
            {
                model.ValorCartao = "--";
            }
            else
            {
                model.ValorCartao = String.Format("R${0}", ordensServicos.ValorCartao);
            }
            if (ordensServicos.ValorDinheiro == null)
            {
                model.ValorDinheiro = "--";
            }
            else
            {
                model.ValorDinheiro = String.Format("R${0}", ordensServicos.ValorDinheiro);
            }
            model.InformacoesAdicionais = ordensServicos.InformacoesAdicionais;
            model.SubTotalMateriais     = String.Format("R${0}", this.CalcularValorTotalDeMateriais(ordensServicos.OrdensServicosMateriais.ToList()));
            model.SubTotalServicos      = String.Format("R${0}", this.CalcularValorTotalDeServicos(ordensServicos.OrdensServicosServicos.ToList()));
            #endregion
            #region Dados do cliente
            model.ClienteId    = ordensServicos.ClienteId;
            model.NomeCliente  = ordensServicos.Clientes.Nome.Trim();
            model.EmailCliente = ordensServicos.Clientes.Email.Trim();
            if (ordensServicos.Clientes.Telefone != null)
            {
                model.FonesCliente = String.Format("{0}/{1}", ordensServicos.Clientes.Telefone.Trim(), ordensServicos.Clientes.Celular.Trim());
            }
            else
            {
                model.FonesCliente = ordensServicos.Clientes.Celular.Trim();
            }
            model.VeiculoId     = ordensServicos.VeiculosId;
            model.ModeloVeiculo = ordensServicos.Veiculos.Modelo.Trim();
            model.PlacaVeiculo  = ordensServicos.Veiculos.Placa.Trim();
            model.AnoVeiculo    = ordensServicos.Veiculos.Ano;
            #endregion
            #region Erros
            if (errors != null)
            {
                if (errors.Count > 0)
                {
                    model.Erros = errors;
                }
            }
            #endregion
            return(model);
        }