// 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)); }
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)); }
// 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)); }
// 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)); }
// 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)); }
// 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)); }
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); }