public ActionResult Editar(int cod, FormCollection form) { if (cod > 0 && form.HasKeys()) { Cliente cliente = Cliente.ObterPorCodigo(cod); /* Dados Pessoais */ cliente.Pessoa.Tipo = form["txtTipo"] ?? "N"; cliente.Pessoa.Nome = form["txtNome"]; cliente.Pessoa.Telefone.Clear(); int n = 1; while (!String.IsNullOrWhiteSpace(form[$"txtTelefone{n}"])) { cliente.Pessoa.Telefone.Add(new Telefone { NumTelefone = form[$"txtTelefone{n}"].SomenteNumeros() }); n++; } switch (cliente.Pessoa.Tipo) { case "F": cliente.Pessoa.CPF = form["txtCPFOuCNPJ"].SomenteNumeros() ?? null; cliente.Pessoa.CNPJ = null; break; case "J": cliente.Pessoa.CNPJ = form["txtCPFOuCNPJ"].SomenteNumeros() ?? null; cliente.Pessoa.CPF = null; break; default: break; } cliente.Pessoa.Email = form["txtEmail"] ?? null; /* Endereço */ if (!String.IsNullOrWhiteSpace(form["txtLogradouro"])) { if (cliente.Pessoa.Endereco == null) cliente.Pessoa.Endereco = new Endereco(); cliente.Pessoa.Endereco.Logradouro = form["txtLogradouro"]; cliente.Pessoa.Endereco.Numero = form["txtNumero"]; cliente.Pessoa.Endereco.Complemento = form["txtComplemento"] ?? null; cliente.Pessoa.Endereco.Bairro = form["txtBairro"]; cliente.Pessoa.Endereco.Cidade = form["txtCidade"]; cliente.Pessoa.Endereco.Estado = form["txtEstado"]; cliente.Pessoa.Endereco.CEP = form["txtCEP"].SomenteNumeros(); } else { if (cliente.Pessoa.Endereco != null) Contexto.Current.Endereco.Remove(cliente.Pessoa.Endereco); cliente.Pessoa.Endereco = null; } Cliente.Editar(cliente); return PartialView("_Lista", Cliente.Listar()); } return Json(false); }
public ActionResult Editar(int cod, FormCollection form) { if (cod > 0 && form.HasKeys()) { Produto produto = Produto.ObterPorCodigo(cod); produto.Descricao = form["txtDescricao"]; Produto.Editar(produto); return PartialView("_Lista", Produto.Listar()); } return Json(false); }
public ActionResult Incluir(FormCollection form) { if (form.HasKeys()) { Produto produto = new Produto(); produto.Descricao = form["txtDescricao"]; Produto.Incluir(produto); return PartialView("_Lista", Produto.Listar()); } return Json(false); }
public ActionResult Incluir(FormCollection form) { if (form.HasKeys()) { Cliente cliente = new Cliente(); /* Dados Pessoais */ cliente.Pessoa = new Pessoa(); cliente.Pessoa.Tipo = form["txtTipo"] ?? "N"; cliente.Pessoa.Nome = form["txtNome"]; int n = 1; while (!String.IsNullOrWhiteSpace(form[$"txtTelefone{n}"])) { string numTelefone = form[$"txtTelefone{n}"].SomenteNumeros(); if (numTelefone.Length == 11 || numTelefone.Length == 10) { cliente.Pessoa.Telefone.Add(new Telefone { NumTelefone = numTelefone}); } n++; } switch (cliente.Pessoa.Tipo) { case "F": cliente.Pessoa.CPF = form["txtCPFOuCNPJ"].SomenteNumeros() ?? null; break; case "J": cliente.Pessoa.CNPJ = form["txtCPFOuCNPJ"].SomenteNumeros() ?? null; break; default: break; } cliente.Pessoa.Email = form["txtEmail"] ?? null; /* Endereço */ if (!String.IsNullOrWhiteSpace(form["txtLogradouro"])) { cliente.Pessoa.Endereco = new Endereco(); cliente.Pessoa.Endereco.Logradouro = form["txtLogradouro"]; cliente.Pessoa.Endereco.Numero = form["txtNumero"]; cliente.Pessoa.Endereco.Complemento = form["txtComplemento"]; cliente.Pessoa.Endereco.Bairro = form["txtBairro"]; cliente.Pessoa.Endereco.Cidade = form["txtCidade"]; cliente.Pessoa.Endereco.Estado = form["txtEstado"]; cliente.Pessoa.Endereco.CEP = form["txtCEP"].SomenteNumeros(); } Cliente.Incluir(cliente); return PartialView("_Lista", Cliente.Listar()); } return Json(false); }
public ActionResult Editar(int cod, FormCollection form) { if (cod > 0 && form.HasKeys()) { Fornecedor fornecedor = Fornecedor.ObterPorCodigo(cod); /* Dados Pessoais */ fornecedor.Pessoa.Tipo = form["txtTipo"] ?? "N"; fornecedor.Pessoa.Nome = form["txtNome"]; fornecedor.Pessoa.Telefone.Clear(); int n = 1; while (!String.IsNullOrWhiteSpace(form[$"txtTelefone{n}"])) { fornecedor.Pessoa.Telefone.Add(new Telefone { NumTelefone = form[$"txtTelefone{n}"].SomenteNumeros() }); n++; } switch (fornecedor.Pessoa.Tipo) { case "F": fornecedor.Pessoa.CPF = form["txtCPFOuCNPJ"].SomenteNumeros() ?? null; fornecedor.Pessoa.CNPJ = null; break; case "J": fornecedor.Pessoa.CNPJ = form["txtCPFOuCNPJ"].SomenteNumeros() ?? null; fornecedor.Pessoa.CPF = null; break; default: break; } fornecedor.Pessoa.Email = form["txtEmail"] ?? null; /* Endereço */ if (!String.IsNullOrWhiteSpace(form["txtLogradouro"])) { fornecedor.Pessoa.Endereco = new Endereco(); fornecedor.Pessoa.Endereco.Logradouro = form["txtLogradouro"]; fornecedor.Pessoa.Endereco.Numero = form["txtNumero"]; fornecedor.Pessoa.Endereco.Complemento = form["txtComplemento"]; fornecedor.Pessoa.Endereco.Bairro = form["txtBairro"]; fornecedor.Pessoa.Endereco.Cidade = form["txtCidade"]; fornecedor.Pessoa.Endereco.Estado = form["txtEstado"]; fornecedor.Pessoa.Endereco.CEP = form["txtCEP"].SomenteNumeros(); } Fornecedor.Editar(fornecedor); return PartialView("_Lista", Fornecedor.Listar()); } return Json(false); }
public ActionResult Incluir(FormCollection form) { if (form.HasKeys()) { Venda venda = new Venda(); venda.CodCliente = int.Parse(form["txtCliente"]); venda.DtVenda = DateTime.Parse(form["txtData"]); venda.Desconto = Decimal.Parse(form["txtDesconto"], new CultureInfo("pt-BR")); int n = 1; while (!StringExt.IsNullOrEmpty(form[$"txtProduto{n}"], form[$"txtUnidade{n}"], form[$"txtQuantidade{n}"], form[$"txtPrecoUnitario{n}"])) { int produto = int.Parse(form[$"txtProduto{n}"]); string unidade = form[$"txtUnidade{n}"]; double quantidade = Double.Parse(form[$"txtQuantidade{n}"], new CultureInfo("pt-BR")); decimal precoUnitario = Decimal.Parse(form[$"txtPrecoUnitario{n}"], new CultureInfo("pt-BR")); if (produto > 0 && !String.IsNullOrWhiteSpace(unidade) && quantidade > 0 && precoUnitario > 0) { venda.VendaProduto.Add(new VendaProduto { CodProduto = produto, Unidade = unidade, Quantidade = quantidade, PrecoUnitario = precoUnitario }); } n++; } if (venda.VendaProduto.Count > 0) { Venda.Incluir(venda); } return PartialView("_Lista", Venda.Listar()); } return Json(false); }
public ActionResult Incluir(FormCollection form) { if (form.HasKeys()) { Funcionario funcionario = new Funcionario(); /* Dados Pessoais */ funcionario.Pessoa = new Pessoa(); funcionario.Pessoa.Tipo = "F"; funcionario.Pessoa.Nome = form["txtNome"]; int n = 1; while (!String.IsNullOrWhiteSpace(form[$"txtTelefone{n}"])) { string numTelefone = form[$"txtTelefone{n}"].SomenteNumeros(); if (numTelefone.Length == 11 || numTelefone.Length == 10) { funcionario.Pessoa.Telefone.Add(new Telefone { NumTelefone = numTelefone }); } n++; } /* Funcionario */ funcionario.NumIdentidade = form["txtIdentidade"].SomenteNumeros(); funcionario.NumCarteiraTrabalho = form["txtCarteiraTrabalho"].SomenteNumeros(); funcionario.Salario = Decimal.Parse(form["txtSalario"], new CultureInfo("pt-BR")); funcionario.Categoria = form["txtCategoria"]; funcionario.Observacao = form["txtObservacao"]; Funcionario.Incluir(funcionario); return PartialView("_Lista", Funcionario.Listar()); } return Json(false); }
public ActionResult ClearTablesHandler(FormCollection collection) { string entityConnectionString = HydroServerToolsUtils.BuildConnectionStringForUserName(HttpContext.User.Identity.Name.ToString()); //var entityConnectionString = HydroServerToolsUtils.GetDBEntityConnectionStringByName(connectionName); //"Sites", "Variables", "OffsetTypes", "ISOMetadata", "Sources", "Methods", "LabMethods", "Samples", "Qualifiers", "QualityControlLevels", "DataValues", "GroupDescriptions", "Groups", "DerivedFrom", "Categories"}; //Sites try { if (collection.HasKeys()) { //do in this order to remove foreign keys in order if (collection.AllKeys.Contains("categories")) { var repo = new CategoriesRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("derivedfrom")) { var repo = new DerivedFromRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("groups")) { var repo = new GroupsRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("groupdescriptions")) { var repo = new GroupDescriptionsRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("datavalues")) { var repo = new DataValuesRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("qualitycontrollevels")) { var repo = new QualityControlLevelsRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("qualifiers")) { var repo = new QualifiersRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("samples")) { var repo = new SamplesRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("labmethods")) { var repo = new LabMethodsRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("methods")) { var repo = new MethodsRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("sources")) { var repo = new SourcesRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("offsettypes")) { var repo = new OffsetTypesRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("variables")) { var repo = new VariablesRepository(); repo.deleteAll(entityConnectionString); } if (collection.AllKeys.Contains("sites")) { var repo = new SitesRepository(); repo.deleteAll(entityConnectionString); } } } catch (DbUpdateException ex) { //HttpContext.Response.ContentType = "text/plain"; Response.StatusCode = (int)HttpStatusCode.BadRequest; return Json(new { success = false }); } // Now we need to wire up a response so that the calling script understands what happened HttpContext.Response.ContentType = "text/plain"; HttpContext.Response.StatusCode = 200; // For compatibility with IE's "done" event we need to return a result as well as setting the context.response return Json(new { success = true }); }
// GET: Spectacles public ActionResult Index(FormCollection collection,string trieSpectacle) { List<Spectacle> listeSpectacles = unitOfWork.SpectacleRepository.ObtenirSpectacles().ToList(); ViewBag.TypeSpectacles = new SelectList(unitOfWork.TypeSpectacleRepository.ObtenirTypeSpectacles(), "Nom", "Nom", string.Empty); if (collection.HasKeys()) { string type = collection[0]; string nom = collection[1]; string musicien = collection[2]; List<Spectacle> colSpectacle = unitOfWork.SpectacleRepository.ObtenirSpectacles().ToList(); List<Spectacle> colSpectacleApresrechecheType = colSpectacle.Where(s => s.TypeSpectacle.Nom.Contains(type)).ToList(); List<Spectacle> colSpectacleApresRechercheNomSpectacle = colSpectacleApresrechecheType.Where(s => s.Nom.Contains(nom)).ToList(); //A changer une fois les rôles implenté List<Spectacle> colConferenceApresRechercheConferencier = colSpectacleApresRechercheNomConference; return View(colSpectacleApresRechercheNomSpectacle); } if (trieSpectacle != null) { listeSpectacles = unitOfWork.SpectacleRepository.ObtenirSpectacles().OrderBy(x => x.TypeSpectacle.Nom).ToList(); } else { trieSpectacle = ""; } return View(listeSpectacles); }
public ActionResult Vendas(FormCollection form) { if (form.HasKeys()) { int cliente = int.Parse(form["txtCliente"]); int produto = int.Parse(form["txtProduto"]); List<Venda> vendas = Venda.Listar(); if (cliente > 0) { vendas = vendas.Where(v => v.CodCliente == cliente).ToList(); } if (produto > 0) { vendas = vendas.Where(v => v.VendaProduto.FirstOrDefault(vp => vp.CodProduto == produto) != null).ToList(); } if (!String.IsNullOrWhiteSpace(form["txtDataInicio"])) { DateTime data = DateTime.Parse(form["txtDataInicio"], new CultureInfo("pt-BR")); vendas = vendas.Where(v => v.DtVenda >= data).ToList(); } if (!String.IsNullOrWhiteSpace(form["txtDataTermino"])) { DateTime data = DateTime.Parse(form["txtDataTermino"] + " 23:59:59", new CultureInfo("pt-BR")); vendas = vendas.Where(v => v.DtVenda <= data).ToList(); } if (vendas.Count == 0) { TempData["Erro"] = "Não há vendas no filtro especificado"; return RedirectToAction("Vendas"); } vendas = vendas.OrderBy(v => v.DtVenda).ToList(); // PDF MemoryStream memStream = new MemoryStream(); Document document = new Document(PageSize.A4.Rotate(), 36, 36, 54, 36); PdfWriter writer = PdfWriter.GetInstance(document, memStream); writer.CloseStream = false; writer.PageEvent = new PaginacaoPdfPageEventHelper(); document.Open(); Paragraph titulo = new Paragraph("Relatório de Vendas"); titulo.Font.Size = 18; titulo.Font.SetStyle(Font.BOLD); document.Add(titulo); document.Add(Chunk.NEWLINE); if (!String.IsNullOrWhiteSpace(form["txtDataInicio"]) || !String.IsNullOrWhiteSpace(form["txtDataTermino"])) { string periodo = ""; if (!String.IsNullOrWhiteSpace(form["txtDataInicio"]) && !String.IsNullOrWhiteSpace(form["txtDataTermino"])) { periodo = $"de {form["txtDataInicio"]} até {form["txtDataTermino"]}"; } else if (!String.IsNullOrWhiteSpace(form["txtDataInicio"])) { periodo = $"de {form["txtDataInicio"]} até {DateTime.Today.ToString("dd/MM/yyyy")}"; } else if (!String.IsNullOrWhiteSpace(form["txtDataTermino"])) { periodo = $"até {form["txtDataTermino"]}"; } Paragraph filtroPeriodo = new Paragraph($"Período: {periodo}"); filtroPeriodo.Font.SetStyle(Font.BOLD); document.Add(filtroPeriodo); } string descricao = "Todos"; if (produto > 0) { descricao = Produto.ObterPorCodigo(produto).Descricao; } Paragraph filtroProduto = new Paragraph($"Produto: {descricao}"); filtroProduto.Font.SetStyle(Font.BOLD); document.Add(filtroProduto); string nome = "Todos"; if (cliente > 0) { nome = Cliente.ObterPorCodigo(cliente).Pessoa.Nome; } Paragraph filtroCliente = new Paragraph($"Cliente: {nome}"); filtroCliente.Font.SetStyle(Font.BOLD); document.Add(filtroCliente); document.Add(Chunk.NEWLINE); PdfPTable tabela = new PdfPTable(6); tabela.SetWidths(new float[] { 1, 1, 1, 1, 1, 1 }); tabela.TotalWidth = document.PageSize.Width - document.RightMargin - document.LeftMargin; tabela.LockedWidth = true; tabela.DefaultCell.MinimumHeight = 20; tabela.DefaultCell.Border = Rectangle.BOTTOM_BORDER | Rectangle.TOP_BORDER; tabela.DefaultCell.BorderWidthBottom = 2; Font fontBold = new Font(); fontBold.SetStyle(Font.BOLD); tabela.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER; tabela.AddCell(new Phrase("Data", fontBold)); tabela.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT; tabela.AddCell(new Phrase("Cliente", fontBold)); tabela.AddCell(new Phrase("Produto", fontBold)); tabela.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT; tabela.AddCell(new Phrase("Quantidade", fontBold)); tabela.AddCell(new Phrase("Preço Unitário", fontBold)); tabela.AddCell(new Phrase("Valor Total", fontBold)); tabela.DefaultCell.Border = Rectangle.BOTTOM_BORDER; tabela.DefaultCell.BorderWidthBottom = 1; foreach (Venda venda in vendas) { foreach (VendaProduto vendaProduto in venda.VendaProduto) { if (produto > 0 && vendaProduto.CodProduto != produto) { continue; } tabela.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER; tabela.AddCell(venda.DtVenda.ToString("dd/MM/yyyy")); tabela.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT; tabela.AddCell(venda.Cliente.Pessoa.Nome); tabela.AddCell(vendaProduto.Produto.Descricao); tabela.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT; tabela.AddCell(vendaProduto.QuantidadeUnidade); tabela.AddCell(vendaProduto.PrecoUnitario.ToString("C", new System.Globalization.CultureInfo("pt-BR"))); tabela.AddCell(vendaProduto.Valor.ToString("C", new System.Globalization.CultureInfo("pt-BR"))); } } document.Add(tabela); document.Add(Chunk.NEWLINE); PdfPTable tabelaTotais = new PdfPTable(2); tabelaTotais.SetWidths(new float[] { 1, 1 }); tabelaTotais.TotalWidth = document.PageSize.Width - document.RightMargin - document.LeftMargin; tabelaTotais.LockedWidth = true; tabelaTotais.DefaultCell.Border = Rectangle.BOTTOM_BORDER; tabelaTotais.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT; PdfPCell totais = new PdfPCell(new Phrase("TOTAIS", fontBold)); totais.Colspan = 2; totais.Border = Rectangle.BOTTOM_BORDER; totais.HorizontalAlignment = Element.ALIGN_CENTER; tabelaTotais.AddCell(totais); tabelaTotais.AddCell(new Phrase("Quantidades", fontBold)); tabelaTotais.AddCell(new Phrase("Valores", fontBold)); PdfPTable tabelaQuantidades = new PdfPTable(1); tabelaQuantidades.SetWidths(new float[] { 1 }); tabelaQuantidades.TotalWidth = (document.PageSize.Width - document.RightMargin - document.LeftMargin) / 2; tabelaQuantidades.LockedWidth = true; tabelaQuantidades.DefaultCell.Border = Rectangle.NO_BORDER; tabelaQuantidades.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT; Dictionary<string, double> totaisQuantidadePorUnidade = new Dictionary<string, double>(); foreach (Venda venda in vendas) { foreach (string unidade in venda.QuantidadePorUnidade.Keys) { if (totaisQuantidadePorUnidade.ContainsKey(unidade)) { totaisQuantidadePorUnidade[unidade] += venda.QuantidadePorUnidade[unidade]; } else { totaisQuantidadePorUnidade[unidade] = venda.QuantidadePorUnidade[unidade]; } } } foreach (string unidade in totaisQuantidadePorUnidade.Keys) { tabelaQuantidades.AddCell($"{totaisQuantidadePorUnidade[unidade]} {unidade}\n"); } tabelaTotais.AddCell(tabelaQuantidades); PdfPTable tabelaValores = new PdfPTable(2); tabelaValores.SetWidths(new float[] { 3, 1 }); tabelaValores.TotalWidth = (document.PageSize.Width - document.RightMargin - document.LeftMargin) / 2; tabelaValores.LockedWidth = true; tabelaValores.DefaultCell.Border = Rectangle.NO_BORDER; tabelaValores.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT; tabelaValores.AddCell(new Phrase("Desconto Total:", fontBold)); tabelaValores.AddCell(new Phrase(vendas.Sum(v => v.Desconto)?.ToString("C", new System.Globalization.CultureInfo("pt-BR")) ?? "R$ 0,00")); tabelaValores.AddCell(new Phrase("Valor Total (com desconto):", fontBold)); tabelaValores.AddCell(new Phrase(vendas.Sum(v => v.ValorTotal).ToString("C", new System.Globalization.CultureInfo("pt-BR")))); tabelaValores.AddCell(new Phrase("Valor Total (sem desconto):", fontBold)); tabelaValores.AddCell(new Phrase(vendas.Sum(v => v.ValorTotalSemDesconto).ToString("C", new System.Globalization.CultureInfo("pt-BR")))); tabelaTotais.AddCell(tabelaValores); document.Add(tabelaTotais); document.Close(); Response.AddHeader("Content-Disposition", "attachment; filename=\"relatorio-vendas-" + DateTime.Today.ToString("dd-MM-yyyy") + ".pdf\""); byte[] buf = new byte[memStream.Position]; memStream.Position = 0; memStream.Read(buf, 0, buf.Length); return new BinaryContentResult(buf, "application/pdf"); } return RedirectToAction("Vendas"); }
public ActionResult Editar(int cod, FormCollection form) { if (cod > 0 && form.HasKeys()) { Compra compra = Compra.ObterPorCodigo(cod); compra.CodFornecedor = int.Parse(form["txtFornecedor"]); compra.DtCompra = DateTime.Parse(form["txtData"]); compra.Desconto = Decimal.Parse(form["txtDesconto"], new CultureInfo("pt-BR")); int n = 1; compra.CompraProduto.Clear(); while (!StringExt.IsNullOrEmpty(form[$"txtProduto{n}"], form[$"txtUnidade{n}"], form[$"txtQuantidade{n}"], form[$"txtPrecoUnitario{n}"])) { int produto = int.Parse(form[$"txtProduto{n}"]); string unidade = form[$"txtUnidade{n}"]; double quantidade = Double.Parse(form[$"txtQuantidade{n}"], new CultureInfo("pt-BR")); decimal precoUnitario = Decimal.Parse(form[$"txtPrecoUnitario{n}"], new CultureInfo("pt-BR")); if (produto > 0 && !String.IsNullOrWhiteSpace(unidade) && quantidade > 0 && precoUnitario > 0) { compra.CompraProduto.Add(new CompraProduto { CodProduto = produto, Unidade = unidade, Quantidade = quantidade, PrecoUnitario = precoUnitario }); } n++; } Compra.Editar(compra); return PartialView("_Lista", Compra.Listar()); } return Json(false); }