public async Task <ActionResult> Edit(OSSB ossb) { if (ModelState.IsValid) { _db.Configuration.ValidateOnSaveEnabled = false; ossb.OCORRENCIA = ossb.OCORRENCIA?.ToUpper() ?? ""; ossb.PRAZO_EXECUCAO = String.IsNullOrWhiteSpace(ossb.PRAZO_EXECUCAO) ? null : ossb.PRAZO_EXECUCAO; ossb.PRAZO_PAGAMENTO = String.IsNullOrWhiteSpace(ossb.PRAZO_PAGAMENTO) ? null : ossb.PRAZO_PAGAMENTO; var entry = _db.Entry(ossb); _db.OSSB.Attach(ossb); entry.Property(pp => pp.PROJETO).IsModified = true; entry.Property(pp => pp.CLIENTE).IsModified = true; entry.Property(pp => pp.CONTRATO).IsModified = true; entry.Property(pp => pp.LOJA).IsModified = true; entry.Property(pp => pp.RESPONSAVEL).IsModified = true; entry.Property(pp => pp.OCORRENCIA).IsModified = true; entry.Property(pp => pp.PORTE).IsModified = true; entry.Property(pp => pp.AMBIENTE).IsModified = true; entry.Property(pp => pp.TIPO).IsModified = true; entry.Property(pp => pp.OBSERVACAO).IsModified = true; entry.Property(pp => pp.PRAZO_EXECUCAO).IsModified = true; entry.Property(pp => pp.PRAZO_PAGAMENTO).IsModified = true; _db.SaveChanges(); return(RedirectToAction("Index", new { num = ossb.ID })); } ViewBag.PROJETO = new SelectList(await _db.PROJETO.ToArrayAsync(), "ID", "DESCRICAO", ossb.PROJETO); ViewBag.CLIENTE = new SelectList(await _db.PESSOA.Where(p => p.CLIENTE == 1) .Where(p => p.SITUACAO == "A").ToArrayAsync(), "ID", "NOME_COMPLETO", ossb.CLIENTE); ViewBag.RESPONSAVEL = new SelectList(await _db.PESSOA.Where(p => p.RESPONSAVEL == 1) .Where(p => p.SITUACAO == "A").ToArrayAsync(), "ID", "NOME_COMPLETO", ossb.RESPONSAVEL); ViewBag.ORCAMENTISTA = new SelectList(await _db.PESSOA.Where(p => p.FUNCIONARIO == 1) .Where(p => p.SITUACAO == "A").ToArrayAsync(), "ID", "NOME_COMPLETO", ossb.ORCAMENTISTA); ViewBag.CONTRATO = new SelectList(await _db.CONTRATO.Where(c => c.SITUACAO == "A") .Where(c => c.CLIENTE == ossb.CLIENTE).ToArrayAsync(), "ID", "DESCRICAO", ossb.CONTRATO); ViewBag.LOJA = new SelectList(await _db.LOJA.Where(l => l.SITUACAO == "A") .Where(l => l.CLIENTE == ossb.CLIENTE).ToArrayAsync(), "ID", "APELIDO", ossb.LOJA); return(View(ossb)); }
public async Task <ActionResult> Create(OSSB ossb) { if (ModelState.IsValid) { ossb.OCORRENCIA = ossb.OCORRENCIA?.ToUpper() ?? ""; ossb.PRAZO_EXECUCAO = String.IsNullOrWhiteSpace(ossb.PRAZO_EXECUCAO) ? null : ossb.PRAZO_EXECUCAO; ossb.PRAZO_PAGAMENTO = String.IsNullOrWhiteSpace(ossb.PRAZO_PAGAMENTO) ? null : ossb.PRAZO_PAGAMENTO; var returnCode = new SqlParameter("@ReturnCode", System.Data.SqlDbType.Int) { Direction = System.Data.ParameterDirection.Output }; var id = await _db.Database.ExecuteSqlCommandAsync("EXEC @ReturnCode = [saobento_sistema].CREATE_ORDEM_SERVICO @RESPONSAVEL, @SUPERVISOR, @CONTRATO, @PROJETO, @CLIENTE, @LOJA, @OCORRENCIA, @PORTE, @AMBIENTE, @TIPO, @SITUACAO, @OBSERVACAO, @ORCAMENTISTA, @PRAZO_PAGAMENTO, @PRAZO_EXECUCAO", returnCode, new SqlParameter("@RESPONSAVEL", (object)ossb.RESPONSAVEL ?? (object)DBNull.Value), new SqlParameter("@SUPERVISOR", (object)ossb.SUPERVISOR ?? (object)DBNull.Value), new SqlParameter("@CONTRATO", (object)ossb.CONTRATO ?? (object)DBNull.Value), new SqlParameter("@PROJETO", (object)ossb.PROJETO ?? (object)DBNull.Value), new SqlParameter("@CLIENTE", (object)ossb.CLIENTE ?? (object)DBNull.Value), new SqlParameter("@LOJA", (object)ossb.LOJA ?? (object)DBNull.Value), new SqlParameter("@OCORRENCIA", (object)ossb.OCORRENCIA ?? (object)DBNull.Value), new SqlParameter("@PORTE", (object)ossb.PORTE ?? (object)DBNull.Value), new SqlParameter("@AMBIENTE", (object)ossb.AMBIENTE ?? (object)DBNull.Value), new SqlParameter("@TIPO", (object)ossb.TIPO ?? (object)DBNull.Value), new SqlParameter("@SITUACAO", (object)ossb.SITUACAO ?? (object)DBNull.Value), new SqlParameter("@OBSERVACAO", (object)ossb.OBSERVACAO ?? (object)DBNull.Value), new SqlParameter("@ORCAMENTISTA", (object)ossb.ORCAMENTISTA ?? (object)DBNull.Value), new SqlParameter("@PRAZO_PAGAMENTO", (object)ossb.PRAZO_PAGAMENTO ?? (object)DBNull.Value), new SqlParameter("@PRAZO_EXECUCAO", (object)ossb.PRAZO_EXECUCAO ?? (object)DBNull.Value) ); await _db.SaveChangesAsync(); return(RedirectToAction("Index", new { num = returnCode.Value })); } ViewBag.PROJETO = new SelectList(await _db.PROJETO.ToArrayAsync(), "ID", "DESCRICAO", ossb.PROJETO); ViewBag.CLIENTE = new SelectList(await _db.PESSOA.Where(p => p.CLIENTE == 1) .Where(p => p.SITUACAO == "A").ToArrayAsync(), "ID", "NOME_COMPLETO", ossb.CLIENTE); ViewBag.RESPONSAVEL = new SelectList(await _db.PESSOA.Where(p => p.RESPONSAVEL == 1) .Where(p => p.SITUACAO == "A").ToArrayAsync(), "ID", "NOME_COMPLETO", ossb.RESPONSAVEL); ViewBag.CONTRATO = new SelectList(await _db.CONTRATO.Where(c => c.SITUACAO == "A") .Where(c => c.CLIENTE == ossb.CLIENTE).ToArrayAsync(), "ID", "DESCRICAO", ossb.CONTRATO); ViewBag.LOJA = new SelectList(await _db.LOJA.Where(l => l.SITUACAO == "A") .Where(l => l.CLIENTE == ossb.CLIENTE).ToArrayAsync(), "ID", "APELIDO", ossb.LOJA); return(View(ossb)); }
public async Task <ActionResult> Edit(OSSB ossb) { if (Session.IsFuncionario()) { if (ModelState.IsValid) { _db.Entry(ossb).State = EntityState.Modified; try { await _db.SaveChangesAsync(); } catch (DbEntityValidationException e) { StringBuilder sb = new StringBuilder(); foreach (var eve in e.EntityValidationErrors) { sb.AppendFormat("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); sb.AppendLine(); foreach (var ve in eve.ValidationErrors) { sb.AppendFormat("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); sb.AppendLine(); } } throw new Exception(sb.ToString()); } return(RedirectToAction("Index", "VisitaInicial")); } ViewBag.ORCAMENTISTA = new SelectList(await _db.PESSOA.Where(p => p.FORNECEDOR == 1 || p.TERCEIRO == 1) .Where(p => p.SITUACAO == "A").ToArrayAsync(), "ID", "RAZAO", ossb.ORCAMENTISTA); return(View(ossb)); } else { return(RedirectToAction("", "")); } }
public async Task <ActionResult> Edit(OSSB ossb) { if (ModelState.IsValid) { _db.Entry(ossb).State = EntityState.Modified; try { await _db.SaveChangesAsync(); } catch (DbEntityValidationException e) { StringBuilder sb = new StringBuilder(); foreach (var eve in e.EntityValidationErrors) { sb.AppendFormat("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); sb.AppendLine(); foreach (var ve in eve.ValidationErrors) { sb.AppendFormat("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); sb.AppendLine(); } } throw new Exception(sb.ToString()); } return(RedirectToAction("Index", "VisitaInicial")); } return(View(ossb)); }
public FileContentResult GetRelatorioPDF(int id = 0) { if (Session.IsFuncionario()) { OSSB ossb = _db.OSSB .Include(o => o.PESSOA) .Include(o => o.PROJETO1) .Include(o => o.CONTRATO1) .FirstOrDefault(o => o.ID == id); if (ossb != null) { try { var fs = new MemoryStream(); Document doc = new Document(PageSize.A4, 25, 25, 30, 65); PdfWriter writer = PdfWriter.GetInstance(doc, fs); var capturarBytes = System.IO.File.ReadAllBytes(Server.MapPath(@"~/Images/Capturar.PNG")); var backgroundBytes = System.IO.File.ReadAllBytes(Server.MapPath(@"~/Images/background.png")); writer.PageEvent = new PageEventHandler(this); var albuns = _db.OSSB_ALBUM .Include(ab => ab.OSSB_IMAGEM) .Include(ab => ab.OSSB_IMAGEM.Select(im => im.ANEXO1)) .Where(ab => ab.OSSB == id) .ToArray(); doc.Open(); { var normalFont = FontFactory.GetFont(FontFactory.TIMES, 10); var normalDesc = FontFactory.GetFont(FontFactory.TIMES, 9); var boldFont = FontFactory.GetFont(FontFactory.TIMES_BOLD, 10); var titleBold = FontFactory.GetFont(FontFactory.TIMES_BOLD, 12); { { Image img = Image.GetInstance(capturarBytes, true); img.Alignment = iTextSharp.text.Image.ALIGN_CENTER; doc.Add(img); } doc.Add(new LineSeparator() { LineColor = new BaseColor(98, 36, 35) }); { var cb = writer.DirectContentUnder; cb.SaveState(); var img = Image.GetInstance(backgroundBytes, true); Rectangle r = new Rectangle(doc.PageSize); img.SetAbsolutePosition(doc.PageSize.GetRight(doc.RightMargin) - img.Right, doc.PageSize.GetBottom(doc.BottomMargin) - img.Bottom); cb.AddImage(img); cb.RestoreState(); } doc.Add(new Paragraph(new Chunk("São Paulo SP, " + System.DateTime.Today.ToLongDateString(), normalFont))); doc.Add(new Paragraph(Environment.NewLine)); doc.Add(new Paragraph(Environment.NewLine)); doc.Add(new Paragraph(new Chunk(ossb.PESSOA.RAZAO, normalFont))); if (ossb.LOJA1 != null) { doc.Add(new Paragraph(new Chunk(ossb.LOJA1.APELIDO, normalFont))); doc.Add(new Paragraph(new Chunk(ossb.LOJA1.ENDERECO + (String.IsNullOrEmpty(ossb.LOJA1.COMPLEMENTO) ? "" : (", " + ossb.LOJA1.COMPLEMENTO)), normalFont))); } doc.Add(new Paragraph(new Chunk("OS: " + ossb.ID, normalFont))); doc.Add(new Paragraph(new Chunk("STATUS: " + ossb.TEXTO_SITUACAO, normalFont))); doc.Add(new Paragraph(Environment.NewLine)); var phrase = new Phrase(); phrase.Add(new Chunk("Estamos apresentando nosso ", normalFont)); phrase.Add(new Chunk("RELATORIO FOTOGRAFICO", boldFont)); phrase.Add(new Chunk(" referente à execução dos serviços em pauta.", normalFont)); doc.Add(phrase); doc.Add(new Paragraph(Environment.NewLine)); doc.Add(new Paragraph(ossb.OCORRENCIA, normalFont)); doc.Add(new Paragraph(Environment.NewLine)); phrase = new Phrase(); phrase.Add(new Chunk("A nossa atuação será desenvolvida com base nos preceitos estabelecidos na ", normalFont)); phrase.Add(new Chunk("POLÍTICA DA QUALIDADE da SÃO BENTO ENGENHARIA", boldFont)); phrase.Add(new Chunk(" e as atividades de manutenção serão executadas em conformidade com os Procedimentos de Engenharia e Manutenção, desenvolvidos pela ", normalFont)); phrase.Add(new Chunk("SÃO BENTO ENGENHARIA", boldFont)); phrase.Add(new Chunk(", ao longo de anos de atuação no mercado.", normalFont)); doc.Add(phrase); doc.Add(new Paragraph(Environment.NewLine)); doc.Add(new Paragraph(new Chunk("Colocamo-nos à disposição para quaisquer esclarecimentos necessários.", normalFont)) { Alignment = Element.ALIGN_CENTER }); } foreach (var album in albuns) { foreach (var imageSplit in TakeChunks(album.OSSB_IMAGEM, 4)) { doc.NewPage(); { Image img = Image.GetInstance(capturarBytes, true); img.Alignment = iTextSharp.text.Image.ALIGN_CENTER; doc.Add(img); doc.Add(new LineSeparator() { LineColor = new BaseColor(98, 36, 35) }); } PdfPTable table; if (imageSplit.Count() == 1) { table = new PdfPTable(imageSplit.Count()); } else { table = new PdfPTable(2); } table.WidthPercentage = 100; foreach (var image in imageSplit) { var cell = new PdfPCell() { BorderWidth = 1, Padding = 3 }; Image img = Image.GetInstance(image.ANEXO1.BUFFER, true); img.ScaleToFit(250, 200); img.Alignment = iTextSharp.text.Image.ALIGN_CENTER; cell.AddElement(img); var p = new Paragraph(new Chunk(image.DESCRICAO, normalDesc)); p.Alignment = Element.ALIGN_CENTER; cell.AddElement(p); cell.FixedHeight = 300; table.AddCell(cell); } if (imageSplit.Count() % 2 == 1 && imageSplit.Count() > 1) { table.AddCell(new PdfPCell()); } doc.Add(table); } if (!String.IsNullOrWhiteSpace(album.DESCRICAO)) { doc.NewPage(); { Image img = Image.GetInstance(capturarBytes, true); img.Alignment = iTextSharp.text.Image.ALIGN_CENTER; doc.Add(img); doc.Add(new LineSeparator() { LineColor = new BaseColor(98, 36, 35) }); } doc.Add(new Paragraph(new Chunk("CONCLUSÃO", titleBold)) { Alignment = Element.ALIGN_CENTER }); doc.Add(new Paragraph(new Chunk(album.DESCRICAO, normalDesc)) { Alignment = Element.ALIGN_CENTER }); } } } doc.Close(); writer.Close(); Response.AppendHeader("Content-Disposition", "inline; filename=orcamento.pdf;"); return(new FileContentResult(fs.ToArray(), System.Net.Mime.MediaTypeNames.Application.Pdf)); } catch (Exception ex) { } } return(null); } else { return(null); } }
public async Task <ActionResult> Create(RecorrenciaViewModel viewModel) { if (ModelState.IsValid) { try { OSSB ossb = null; var contrato = await _db.CONTRATO.FirstOrDefaultAsync(ct => ct.ID == viewModel.CONTRATO); foreach (var item in viewModel.RECORRENCIA.OrderBy(r => r)) { if (ossb == null || new DateTime(item.Year, item.Month, 1) != new DateTime(ossb.DATA_CADASTRO.Year, ossb.DATA_CADASTRO.Month, 1)) { ossb = new OSSB() { SITUACAO = "E", CLIENTE = viewModel.CLIENTE, CONTRATO = viewModel.CONTRATO, LOJA = viewModel.LOJA, OBSERVACAO = "", OCORRENCIA = "", PORTE = "G", AMBIENTE = "I", TIPO = "P", PROJETO = viewModel.PROJETO, DATA_CADASTRO = item.Date, }; ossb.OSSB_SERVICO.Add(new OSSB_SERVICO() { DESCRICAO = contrato.DESCRICAO, SUBDIVISAO = "", OSSB = ossb.ID, QUANTIDADE = 1, UNIDADE = viewModel.UNIDADE, VALOR_MO = Convert.ToDecimal(viewModel.VALOR), VALOR_MA = 0, }); _db.OSSB.Add(ossb); await _db.SaveChangesAsync(); } ossb.OSSB_CHECK_LIST.Add(new OSSB_CHECK_LIST() { OSSB = ossb.ID, AGENDADO = item.Add(TimeSpan.Parse(viewModel.DE)) }); await _db.SaveChangesAsync(); } return(RedirectToAction("Index", "Loja", new { id = viewModel.CLIENTE })); } /* * foreach (var item in viewModel.RECORRENCIA) * { * var ossb = new OSSB() * { * SITUACAO = "I", * CLIENTE = viewModel.CLIENTE, * CONTRATO = viewModel.CONTRATO, * LOJA = viewModel.LOJA, * OBSERVACAO = "", * OCORRENCIA = "", * PORTE = "G", * AMBIENTE = "I", * TIPO = "C", * PROJETO = viewModel.PROJETO, * DATA_CADASTRO = DateTime.Parse(item.DATA), * }; * * _db.OSSB.Add(ossb); * * await _db.SaveChangesAsync(); * * var servico = new OSSB_SERVICO() * { * OSSB = ossb.ID, * SERVICO = int.Parse(item.SERVICO), * VALOR_MO = decimal.Parse(viewModel.VALOR), * QUANTIDADE = decimal.Parse(viewModel.QUANTIDADE), * AREA_MANUTENCAO = int.Parse(item.AREA_MANUTENCAO), * UNIDADE = viewModel.UNIDADE, * }; * * _db.OSSB_SERVICO.Add(servico); * * await _db.SaveChangesAsync(); * } * } */ catch (DbEntityValidationException e) { StringBuilder sb = new StringBuilder(); foreach (var eve in e.EntityValidationErrors) { sb.AppendFormat("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); sb.AppendLine(); foreach (var ve in eve.ValidationErrors) { sb.AppendFormat("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); sb.AppendLine(); } } throw new Exception(sb.ToString()); } } ViewBag.PROJETO = new SelectList(await _db .PROJETO .ToArrayAsync(), "ID", "DESCRICAO", viewModel.PROJETO); ViewBag.CONTRATO = new SelectList(await _db .CONTRATO.Where(l => l.SITUACAO == "A" && l.CLIENTE == viewModel.CLIENTE) .ToArrayAsync(), "ID", "DESCRICAO", viewModel.CONTRATO); ViewBag.UNIDADE = new SelectList(await _db. UNIDADE.ToArrayAsync(), "ID", "SIGLA", viewModel.UNIDADE); return(View(viewModel)); }