public ActionResult Edit([Bind(Include = "OrdensServicosId,ProblemaIdentificado,InformacoesAdicionais")] EditarInformacoesDoServicoViewModel viewModel) { if (ModelState.IsValid) { OrdensServicos ordensServicos = db.OrdensServicos.Find(viewModel.OrdensServicosId); if (ordensServicos == null) { return(HttpNotFound()); } ordensServicos.ProblemaIdentificado = viewModel.ProblemaIdentificado; ordensServicos.InformacoesAdicionais = viewModel.InformacoesAdicionais; db.Entry(ordensServicos).State = EntityState.Modified; db.SaveChanges(); } else { StringBuilder sb = new StringBuilder(); foreach (ModelState modelState in ModelState.Values) { foreach (ModelError error in modelState.Errors) { sb.Append(error.ErrorMessage + "\n"); } } TempData["Errors"] = sb.ToString(); } return(RedirectToAction("Details", "OrdensServicos", new { id = viewModel.OrdensServicosId })); }
// GET: OrdensServicos/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } OrdensServicos ordensServicos = db.OrdensServicos.Find(id); if (ordensServicos == null) { return(HttpNotFound()); } EditarInformacoesDoServicoViewModel editarInformacoes = new EditarInformacoesDoServicoViewModel(); if (ordensServicos.InformacoesAdicionais != null) { editarInformacoes.InformacoesAdicionais = ordensServicos.InformacoesAdicionais.Trim(); } editarInformacoes.OrdensServicosId = ordensServicos.Id; if (ordensServicos.ProblemaIdentificado != null) { editarInformacoes.ProblemaIdentificado = ordensServicos.ProblemaIdentificado.Trim(); } return(View(editarInformacoes)); }
public void CalcularValorTotalServicosCompleto() { OrdensServicosController ordensServicosController = new OrdensServicosController(); OrdensServicos ordensServicos = new OrdensServicos(); List <OrdensServicosMateriais> materiais = new List <OrdensServicosMateriais>(); OrdensServicosMateriais material = new OrdensServicosMateriais(); material.PrecoTotal = 75; materiais.Add(material); material = new OrdensServicosMateriais(); material.PrecoTotal = 50; materiais.Add(material); ordensServicos.OrdensServicosMateriais = materiais; List <OrdensServicosServicos> servicos = new List <OrdensServicosServicos>(); OrdensServicosServicos servico = new OrdensServicosServicos(); servico.Valor = 135; servicos.Add(servico); servico = new OrdensServicosServicos(); servico.Valor = 420; servicos.Add(servico); ordensServicos.OrdensServicosServicos = servicos; float valor = ordensServicosController.CalcularValorTotal(ordensServicos); Assert.AreEqual(680, valor); }
// 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 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 EditarFormaPagamento([Bind(Include = "OrdensServicosId,FormaPagamento,ValorAPagar,FormaPagamento,ValorDinheiro,ValorCartao,InformacoesAdicionais")] FinalizarServicoViewModel editarForma) { if (ModelState.IsValid) { OrdensServicos ordensServicos = db.OrdensServicos.Find(editarForma.OrdensServicosId); if (ordensServicos == null) { return(HttpNotFound()); } ordensServicos.FormaPagamento = editarForma.FormaPagamento; ordensServicos.ValorAPagar = editarForma.ValorAPagar; if (editarForma.FormaPagamento == "AM") { ordensServicos.ValorDinheiro = editarForma.ValorDinheiro; } else if (editarForma.FormaPagamento == "DI") { ordensServicos.ValorDinheiro = editarForma.ValorDinheiro; } else { ordensServicos.ValorCartao = editarForma.ValorCartao; } ordensServicos.InformacoesAdicionais = editarForma.InformacoesAdicionais; db.Entry(ordensServicos).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Details", "OrdensServicos", new { id = editarForma.OrdensServicosId })); } return(View(editarForma)); }
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/Edit/5 public ActionResult EntregarServico(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } OrdensServicos ordensServicos = db.OrdensServicos.Find(id); if (ordensServicos == null) { return(HttpNotFound()); } FinalizarServicoViewModel viewModel = new FinalizarServicoViewModel(); viewModel.OrdensServicosId = ordensServicos.Id; viewModel.NomeCliente = ordensServicos.Clientes.Nome; viewModel.ModeloVeiculo = String.Format("{0} {1} Ano {2}", ordensServicos.Veiculos.MarcasCarros.Nome.Trim(), ordensServicos.Veiculos.Modelo.Trim(), ordensServicos.Veiculos.Ano); viewModel.SubTotalMateriais = String.Format("R${0}", this.CalcularValorTotalDeMateriais(ordensServicos.OrdensServicosMateriais.ToList())); viewModel.SubTotalServicos = String.Format("R${0}", this.CalcularValorTotalDeServicos(ordensServicos.OrdensServicosServicos.ToList())); viewModel.ValorTotal = String.Format("R$ {0}", ordensServicos.ValorTotal); viewModel.Materiais = ordensServicos.OrdensServicosMateriais.ToList(); viewModel.Servicos = ordensServicos.OrdensServicosServicos.ToList(); CombosGenericos combos = new CombosGenericos(); ViewBag.FormaPagamento = new SelectList(combos.ListarFormasPagamento(), "Valor", "Texto"); return(View("FinalizaServico", viewModel)); }
public ActionResult Create([Bind(Include = "ClienteId,VeiculosId,ProblemaIdentificado")] OrdensServicos viewModel) { if (ModelState.IsValid) { OrdensServicos ordensServicos = new OrdensServicos(); ordensServicos.ClienteId = viewModel.ClienteId; ordensServicos.VeiculosId = viewModel.VeiculosId; ordensServicos.CodigoOrdensServicos = this.ObterCodigoOrdemServico(); ordensServicos.FuncionarioResponsavel = Convert.ToInt32(Session["IdUser"]); ordensServicos.DataOrcamento = DateTime.Now; ordensServicos.Status = "O"; if (viewModel.ProblemaIdentificado != null) { ordensServicos.ProblemaIdentificado = viewModel.ProblemaIdentificado; } db.OrdensServicos.Add(ordensServicos); db.SaveChanges(); return(RedirectToAction("Details", new { id = ordensServicos.Id })); } var lista = new List <Models.Clientes>(); lista.AddRange(db.Clientes.ToList()); lista.Insert(0, new Clientes() { Id = -1, Nome = "--" }); ViewBag.ClienteId = new SelectList(lista, "Id", "Nome"); return(View(viewModel)); }
private String ObterCodigoOrdemServico() { string novoCodigo = String.Empty; OrdensServicos ultimaOrdem = db.OrdensServicos.OrderByDescending(x => x.Id).Take(1).FirstOrDefault(); if (ultimaOrdem == null) { novoCodigo = String.Format("{0}{1}", DateTime.Now.ToString("yyyyMM"), "0001"); } else { string ultimoMes = ultimaOrdem.CodigoOrdensServicos.Substring(0, 6); if (ultimoMes == DateTime.Now.ToString("yyyyMM")) { int contServicosMes = Convert.ToInt32(ultimaOrdem.CodigoOrdensServicos.Substring(6, 4)); contServicosMes++; novoCodigo = String.Format("{0}{1}", DateTime.Now.ToString("yyyyMM"), contServicosMes.ToString().PadLeft(4, '0')); } else { novoCodigo = String.Format("{0}{1}", DateTime.Now.ToString("yyyyMM"), "0001"); } } return(novoCodigo); }
public ActionResult DeleteConfirmed(int id) { OrdensServicos ordensServicos = db.OrdensServicos.Find(id); db.OrdensServicos.Remove(ordensServicos); db.SaveChanges(); return(RedirectToAction("Index")); }
public void CalcularValorTotalServicosSemItens() { OrdensServicosController ordensServicosController = new OrdensServicosController(); OrdensServicos ordensServicos = new OrdensServicos(); float valor = ordensServicosController.CalcularValorTotal(ordensServicos); Assert.AreEqual(0, valor); }
// GET: OrdensServicosServicos/Create public ActionResult Create(int?id) { OrdensServicos ordem = db.OrdensServicos.Find(id); ViewBag.OrdensServicosId = id; ViewBag.NomeCliente = ordem.Clientes.Nome; ViewBag.ModeloCarro = String.Format("{0} {1} Ano {2}", ordem.Veiculos.MarcasCarros.Nome.Trim(), ordem.Veiculos.Modelo.Trim(), ordem.Veiculos.Ano); return(View()); }
// GET: OrdensServicos/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } OrdensServicos ordensServicos = db.OrdensServicos.Find(id); if (ordensServicos == null) { return(HttpNotFound()); } return(View(ordensServicos)); }
// 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)); }
public void CalcularValorTotalServicosSomenteMateriais() { OrdensServicosController ordensServicosController = new OrdensServicosController(); OrdensServicos ordensServicos = new OrdensServicos(); List <OrdensServicosMateriais> materiais = new List <OrdensServicosMateriais>(); OrdensServicosMateriais material = new OrdensServicosMateriais(); material.PrecoTotal = 75; materiais.Add(material); material = new OrdensServicosMateriais(); material.PrecoTotal = 50; materiais.Add(material); ordensServicos.OrdensServicosMateriais = materiais; float valor = ordensServicosController.CalcularValorTotal(ordensServicos); Assert.AreEqual(125, valor); }
public void CalcularValorTotalServicosSomenteServicos() { OrdensServicosController ordensServicosController = new OrdensServicosController(); OrdensServicos ordensServicos = new OrdensServicos(); List <OrdensServicosServicos> servicos = new List <OrdensServicosServicos>(); OrdensServicosServicos servico = new OrdensServicosServicos(); servico.Valor = 135; servicos.Add(servico); servico = new OrdensServicosServicos(); servico.Valor = 420; servicos.Add(servico); ordensServicos.OrdensServicosServicos = servicos; float valor = ordensServicosController.CalcularValorTotal(ordensServicos); Assert.AreEqual(555, valor); }
// 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)); }
// GET: OrdensServicos/AgendarInicio/5 public ActionResult AgendarInicio(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } OrdensServicos ordensServicos = db.OrdensServicos.Find(id); if (ordensServicos == null) { return(HttpNotFound()); } AgendarServicoViewModel viewModel = new AgendarServicoViewModel(); viewModel.OrdensServicosId = ordensServicos.Id; return(View(viewModel)); }
private List <String> ValidarEnviarOrcamento(OrdensServicos ordensServicos) { List <String> errors = new List <string>(); if (ordensServicos.ProblemaIdentificado == null) { errors.Add("Para o envio do orçamento ao cliente é preciso, primeiro, informar o problema identificado!"); } if (ordensServicos.DataInicialPrevista == null) { errors.Add("Para o envio do 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 o envio do orçamento ao cliente é preciso ter, ao menos, um serviço e um materia associado à ele!"); } return(errors); }
public ActionResult Create([Bind(Include = "Id,OrdensServicosId,Descricao,Valor")] OrdensServicosServicos ordensServicosServicos) { if (ModelState.IsValid) { OrdensServicosServicos servico = new OrdensServicosServicos(); servico.Descricao = ordensServicosServicos.Descricao.Trim(); servico.Valor = ordensServicosServicos.Valor; servico.OrdensServicosId = ordensServicosServicos.OrdensServicosId; db.OrdensServicosServicos.Add(servico); db.SaveChanges(); return(RedirectToAction("Details", "OrdensServicos", new { id = servico.OrdensServicosId })); } OrdensServicos ordem = db.OrdensServicos.Find(ordensServicosServicos.OrdensServicosId); ViewBag.OrdensServicosId = ordensServicosServicos.OrdensServicosId; ViewBag.NomeCliente = ordem.Clientes.Nome; ViewBag.ModeloCarro = String.Format("{0} {1} Ano {2}", ordem.Veiculos.MarcasCarros.Nome.Trim(), ordem.Veiculos.Modelo.Trim(), ordem.Veiculos.Ano); return(View(ordensServicosServicos)); }
public float CalcularValorTotal(OrdensServicos ordensServicos) { float valorTotal = 0; if (ordensServicos.OrdensServicosMateriais != null && ordensServicos.OrdensServicosMateriais.Count > 0) { foreach (OrdensServicosMateriais materiais in ordensServicos.OrdensServicosMateriais) { valorTotal += materiais.PrecoTotal; } } if (ordensServicos.OrdensServicosServicos != null && ordensServicos.OrdensServicosServicos.Count > 0) { foreach (OrdensServicosServicos servico in ordensServicos.OrdensServicosServicos) { valorTotal += servico.Valor; } } return(valorTotal); }
public ActionResult Create([Bind(Include = "Id,OrdensServicosId,Descricao,PrecoUnitario,Quantidade")] OrdensServicosMateriais ordensServicosMateriais) { if (ModelState.IsValid) { OrdensServicosMateriais material = new OrdensServicosMateriais(); material.Descricao = ordensServicosMateriais.Descricao.Trim(); material.Quantidade = ordensServicosMateriais.Quantidade; material.PrecoUnitario = ordensServicosMateriais.PrecoUnitario; float valor = ordensServicosMateriais.PrecoUnitario * ordensServicosMateriais.Quantidade; material.PrecoTotal = valor; material.OrdensServicosId = ordensServicosMateriais.OrdensServicosId; db.OrdensServicosMateriais.Add(material); db.SaveChanges(); return(RedirectToAction("Details", "OrdensServicos", new { id = material.OrdensServicosId })); } OrdensServicos ordem = db.OrdensServicos.Find(ordensServicosMateriais.OrdensServicosId); ViewBag.OrdensServicosId = ordensServicosMateriais.OrdensServicosId; ViewBag.NomeCliente = ordem.Clientes.Nome; ViewBag.ModeloCarro = String.Format("{0} {1} Ano {2}", ordem.Veiculos.MarcasCarros.Nome.Trim(), ordem.Veiculos.Modelo.Trim(), ordem.Veiculos.Ano); return(View(ordensServicosMateriais)); }
public void GerarOrcamentoPasta(OrdensServicos ordem, String caminhoArquivo) { try { Document pdfDoc = new Document(PageSize.A4, 10, 10, 80, 80); PdfWriter pdfWriter = PdfWriter.GetInstance(pdfDoc, new FileStream(caminhoArquivo, FileMode.Create)); Image imagemLogo = Image.GetInstance(request.MapPath("~/Content/Imagens/logo.png")); Image imagemGmail = Image.GetInstance(request.MapPath("~/Content/Imagens/gmail.png")); Image imagemWhats = Image.GetInstance(request.MapPath("~/Content/Imagens/whats.png")); Image imagemMaps = Image.GetInstance(request.MapPath("~/Content/Imagens/maps.png")); pdfWriter.PageEvent = new ITextEvents() { ImagemLogo = imagemLogo, ImagemEmail = imagemGmail, ImagemWhats = imagemWhats, ImagemMaps = imagemMaps }; pdfDoc.Open(); PdfPCell celunaVazia; PdfPCell celunaConteudo; #region Cabeçalho PdfPTable tabela; PdfPCell celula; //Table tabela = new PdfPTable(1); tabela.WidthPercentage = 100; tabela.SpacingBefore = 5f; //Cell celula = new PdfPCell(new Phrase(String.Format("ORÇAMENTO {0}", ordem.CodigoOrdensServicos), new Font(Font.FontFamily.TIMES_ROMAN, 20, Font.BOLD))); celula.FixedHeight = 30.0f; celula.Border = 0; celula.BackgroundColor = new BaseColor(221, 221, 221); celula.VerticalAlignment = Element.ALIGN_TOP; tabela.AddCell(celula); pdfDoc.Add(tabela); #endregion #region Informações da ordem de serviço pdfDoc.Add(this.MontarLinhaSubtitulo("INFORMAÇÕES DA ORDEM DE SERVIÇOS", 0, true)); tabela = new PdfPTable(4); tabela.WidthPercentage = 100; float[] larguras = new float[] { 6f, 44f, 10f, 20f }; tabela.SetWidths(larguras); celula = new PdfPCell(new Phrase("Cliente:", fonteNegrito)); celula.Border = 0; celula.BorderWidthLeft = larguraBordas; tabela.AddCell(celula); celula = new PdfPCell(new Phrase(ordem.Clientes.Nome, fonteNormal)); celula.Border = 0; tabela.AddCell(celula); pdfDoc.Add(tabela); celula = new PdfPCell(new Phrase("Modelo/Ano:", fonteNegrito)); celula.Border = 0; tabela.AddCell(celula); celula = new PdfPCell(new Phrase(String.Format("{0} {1}", ordem.Veiculos.Modelo, ordem.Veiculos.Ano), fonteNormal)); celula.Border = 0; celula.BorderWidthRight = larguraBordas; tabela.AddCell(celula); pdfDoc.Add(tabela); tabela = new PdfPTable(4); tabela.WidthPercentage = 100; larguras = new float[] { 16f, 30f, 14f, 20 }; tabela.SetWidths(larguras); celula = new PdfPCell(new Phrase("Funcionário responsável:", fonteNegrito)); celula.Border = 0; celula.BorderWidthLeft = larguraBordas; tabela.AddCell(celula); celula = new PdfPCell(new Phrase("Alan", fonteNormal)); celula.Border = 0; tabela.AddCell(celula); pdfDoc.Add(tabela); celula = new PdfPCell(new Phrase("Data do orçamento:", fonteNegrito)); celula.Border = 0; tabela.AddCell(celula); celula = new PdfPCell(new Phrase(ordem.DataInicialPrevista.Value.ToString("dd/MM/yyyy"), fonteNormal)); celula.Border = 0; celula.BorderWidthRight = 1.0f; tabela.AddCell(celula); pdfDoc.Add(tabela); tabela = new PdfPTable(1); tabela.WidthPercentage = 100; celula = new PdfPCell(new Phrase("Problema identificado junto ao cliente:", fonteNegrito)); celula.Border = 0; celula.BorderWidthLeft = larguraBordas; celula.BorderWidthRight = larguraBordas; tabela.AddCell(celula); pdfDoc.Add(tabela); tabela = new PdfPTable(1); tabela.WidthPercentage = 100; celula = new PdfPCell(new Phrase(ordem.ProblemaIdentificado, new Font(Font.FontFamily.TIMES_ROMAN, 12))); celula.Border = 0; celula.BorderWidthBottom = larguraBordas; celula.BorderWidthLeft = larguraBordas; celula.BorderWidthRight = larguraBordas; celula.PaddingBottom = 8f; tabela.AddCell(celula); pdfDoc.Add(tabela); #endregion #region Serviços pdfDoc.Add(this.MontarLinhaSubtitulo("SERVIÇOS", 390.00, true)); pdfDoc.Add(this.MontarCabecalhoTabelaDeItens(TipoItens.Servicos)); tabela = new PdfPTable(4); tabela.WidthPercentage = 100; larguras = new float[] { 1f, 75f, 10f, 1f }; tabela.SetWidths(larguras); //Percorre a lista de serviços for (int i = 0; i < ordem.OrdensServicosServicos.Count; i++) { celunaVazia = new PdfPCell(); celunaVazia.FixedHeight = 15.0f; celunaVazia.Border = 0; celunaVazia.BorderWidthLeft = larguraBordas; if (i + 1 == ordem.OrdensServicosServicos.Count) { celunaVazia.BorderWidthBottom = larguraBordas; } tabela.AddCell(celunaVazia); celunaConteudo = new PdfPCell(new Phrase(ordem.OrdensServicosServicos.ToList()[i].Descricao, fonteNormal)); celunaConteudo.FixedHeight = 15.0f; celunaConteudo.Border = 0; celunaConteudo.BorderWidthBottom = larguraBordas; tabela.AddCell(celunaConteudo); celunaConteudo = new PdfPCell(new Phrase(String.Format("R${0}", ordem.OrdensServicosServicos.ToList()[i].Valor), fonteNormal)); celunaConteudo.FixedHeight = 15.0f; celunaConteudo.Border = 0; celunaConteudo.HorizontalAlignment = Element.ALIGN_RIGHT; celunaConteudo.BorderWidthBottom = larguraBordas; tabela.AddCell(celunaConteudo); celunaVazia = new PdfPCell(); celunaVazia.FixedHeight = 15.0f; celunaVazia.Border = 0; celunaVazia.BorderWidthRight = larguraBordas; if (i + 1 == ordem.OrdensServicosServicos.Count) { celunaVazia.BorderWidthBottom = larguraBordas; } tabela.AddCell(celunaVazia); } pdfDoc.Add(tabela); #endregion #region Materiais pdfDoc.Add(this.MontarLinhaSubtitulo("MATERIAIS", 900.12, true)); pdfDoc.Add(this.MontarCabecalhoTabelaDeItens(TipoItens.Materiais)); tabela = new PdfPTable(6); tabela.WidthPercentage = 100; larguras = new float[] { 1f, 45f, 15f, 15f, 10f, 1f }; tabela.SetWidths(larguras); //Percorre a lista de serviços for (int i = 0; i < ordem.OrdensServicosMateriais.Count; i++) { celunaVazia = new PdfPCell(); celunaVazia.FixedHeight = 15.0f; celunaVazia.Border = 0; celunaVazia.BorderWidthLeft = larguraBordas; if (i + 1 == ordem.OrdensServicosMateriais.Count) { celunaVazia.BorderWidthBottom = larguraBordas; } tabela.AddCell(celunaVazia); celunaConteudo = new PdfPCell(new Phrase(ordem.OrdensServicosMateriais.ToList()[i].Descricao, fonteNormal)); celunaConteudo.FixedHeight = 15.0f; celunaConteudo.Border = 0; celunaConteudo.BorderWidthBottom = larguraBordas; tabela.AddCell(celunaConteudo); celunaConteudo = new PdfPCell(new Phrase(ordem.OrdensServicosMateriais.ToList()[i].Quantidade.ToString(), fonteNormal)); celunaConteudo.FixedHeight = 15.0f; celunaConteudo.Border = 0; celunaConteudo.BorderWidthBottom = larguraBordas; tabela.AddCell(celunaConteudo); celunaConteudo = new PdfPCell(new Phrase(String.Format("R${0}", ordem.OrdensServicosMateriais.ToList()[i].PrecoUnitario), fonteNormal)); celunaConteudo.FixedHeight = 15.0f; celunaConteudo.Border = 0; celunaConteudo.BorderWidthBottom = larguraBordas; tabela.AddCell(celunaConteudo); celunaConteudo = new PdfPCell(new Phrase(String.Format("R${0}", ordem.OrdensServicosMateriais.ToList()[i].PrecoTotal), fonteNormal)); celunaConteudo.FixedHeight = 15.0f; celunaConteudo.Border = 0; celunaConteudo.HorizontalAlignment = Element.ALIGN_RIGHT; celunaConteudo.BorderWidthBottom = larguraBordas; tabela.AddCell(celunaConteudo); celunaVazia = new PdfPCell(); celunaVazia.FixedHeight = 15.0f; celunaVazia.Border = 0; celunaVazia.BorderWidthRight = larguraBordas; if (i + 1 == ordem.OrdensServicosMateriais.Count) { celunaVazia.BorderWidthBottom = larguraBordas; } tabela.AddCell(celunaVazia); } pdfDoc.Add(tabela); #endregion pdfDoc.Add(this.MontarLinhaSubtitulo("Total", 1290.12, false)); #region Informações adicionais tabela = new PdfPTable(1); tabela.WidthPercentage = 100; celula = new PdfPCell(new Phrase("Informações adicionais", fonteNegrito)); celula.Border = 0; tabela.AddCell(celula); pdfDoc.Add(tabela); tabela = new PdfPTable(1); tabela.WidthPercentage = 100; celula = new PdfPCell(new Phrase(ordem.InformacoesAdicionais, new Font(Font.FontFamily.TIMES_ROMAN, 12))); celula.Border = 0; tabela.AddCell(celula); pdfDoc.Add(tabela); #endregion #region Rodapé tabela = new PdfPTable(1); tabela.WidthPercentage = 100; tabela.SpacingBefore = 10f; celula = new PdfPCell(new Phrase(String.Format("São Leopoldo, {0}", DateTime.Now.ToString("dd/MM/yyyy"), fonteNormal))); celula.Border = 0; celula.HorizontalAlignment = Element.ALIGN_CENTER; tabela.AddCell(celula); pdfDoc.Add(tabela); tabela = new PdfPTable(1); tabela.WidthPercentage = 100; tabela.SpacingBefore = 10f; celula = new PdfPCell(new Phrase("Entre Rodas Assistência Técnica Automotiva", fonteNegrito)); celula.Border = 0; celula.HorizontalAlignment = Element.ALIGN_CENTER; tabela.AddCell(celula); pdfDoc.Add(tabela); #endregion pdfWriter.CloseStream = true; pdfDoc.Close(); } catch (Exception ex) { throw ex; } }
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); }