protected override Colosoft.Reports.IReportDocument LoadReport(ref LocalReport report, ref List <ReportParameter> lstParam, HttpRequest PageRequest, System.Collections.Specialized.NameValueCollection Request, object[] outrosParametros, LoginUsuario login, string diretorioLogotipos) { uint idPedido = Glass.Conversoes.StrParaUint(Request["idPedido"]); TipoRelatorioPedido tipo = !String.IsNullOrEmpty(Request["tipo"]) ? (TipoRelatorioPedido)Glass.Conversoes.StrParaInt(Request["tipo"]) : TipoRelatorioPedido.Normal; Glass.Data.Model.Pedido pedido = PedidoDAO.Instance.GetForRpt(idPedido.ToString(), tipo == TipoRelatorioPedido.Pcp)[0]; ProdutosPedido[] prodPedido = ProdutosPedidoDAO.Instance.GetForRpt(idPedido, tipo == TipoRelatorioPedido.Pcp, false); var parcPedido = ParcelasPedidoDAO.Instance.GetForRpt(idPedido); PedidoReposicao pedidoRepos = PedidoReposicaoDAO.Instance.GetByPedido(idPedido); report.ReportPath = Data.Helper.Utils.CaminhoRelatorio("Relatorios/ModeloPedidoReposicao/rptPedidoReposicao{0}.rdlc"); lstParam.Add(new ReportParameter("Logotipo", Logotipo.GetReportLogo(PageRequest, pedido.IdLoja))); lstParam.Add(new ReportParameter("TipoRpt", ((int)tipo).ToString())); report.DataSources.Add(new ReportDataSource("Pedido", new Glass.Data.Model.Pedido[] { pedido })); report.DataSources.Add(new ReportDataSource("PedidoReposicao", new PedidoReposicao[] { pedidoRepos })); report.DataSources.Add(new ReportDataSource("ParcelasPedido", parcPedido)); report.DataSources.Add(new ReportDataSource("ProdutosReposicao", ProdutosReposicaoDAO.GetByProdutosPedido(prodPedido))); report.DataSources.Add(new ReportDataSource("TipoPerda", TipoPerdaDAO.Instance.GetByPedidoRepos(idPedido))); report.DataSources.Add(new ReportDataSource("TipoPerdaRepos", new TipoPerdaRepos[] { TipoPerdaReposDAO.GetByPedidoRepos(idPedido) })); return(null); }
public string ObterDadosPedido(string id) { try { StringBuilder str = new StringBuilder(); uint idPedido = Glass.Conversoes.StrParaUint(id); Glass.Data.Model.Pedido pedido = PedidoDAO.Instance.GetElement(idPedido); str.Append(pedido.IdPedido + ";"); str.Append(pedido.NomeCliente + ";"); str.Append(pedido.NomeFunc + ";"); str.Append(pedido.DescrTipoVenda + ";"); str.Append("R$" + pedido.Total + ";"); str.Append(pedido.TotM + ";"); str.Append(pedido.QtdePecas + ";"); str.Append(pedido.DataPedido.ToString("dd/MM/yyyy") + ";"); str.Append(pedido.DescrSituacaoPedido + ";"); return("ok\t" + str.ToString().Replace('\t', ' ').TrimEnd('|')); } catch (Exception ex) { return(Glass.MensagemAlerta.FormatErrorMsg("Erro\t", ex)); } }
protected void ReposicaoButtons_DataBinding(object sender, EventArgs e) { if (((Button)sender).ID == "btnFinalizar" || ((Button)sender).ID == "btnSalvar") { ((Button)sender).Visible = (Request["idPedido"] != null); ((Label)dtvPedido.FindControl("lblErro")).Visible = !((Button)sender).Visible; } else if (((Button)sender).ID == "btnRepor") { ((Button)sender).Visible = (Request["idPedido"] == null); IEnumerator select = odsPedido.Select().GetEnumerator(); select.Reset(); select.MoveNext(); Glass.Data.Model.Pedido atual = (Glass.Data.Model.Pedido)select.Current; uint?idReposicao = PedidoDAO.Instance.ObterIdPedidoAnterior(atual.IdPedido); if (atual.TipoVenda == 3 || idReposicao != null) { ((Label)dtvPedido.FindControl("lblErro")).Text = atual.TipoVenda == 3 ? "Esse pedido já é um pedido de reposição." : "Já existe um pedido de reposição para este pedido (num. reposição: " + idReposicao.Value + ")"; ((Button)sender).Enabled = true; } else { ((Label)dtvPedido.FindControl("lblErro")).Text = ""; } } }
protected void btnConfirmar_Click(object sender, EventArgs e) { Glass.Data.Model.Pedido ped = PedidoDAO.Instance.GetElementByPrimaryKey(Glass.Conversoes.StrParaUint(Request["IdPedido"])); // Concatena a observação do pedido já existente com o motivo do cancelamento string motivo = "Motivo do Cancelamento: " + txtMotivo.Text; try { if (ped.Importado) { string urlSistema = ClienteDAO.Instance.ObtemUrlSistema(ped.IdCli); if (!string.IsNullOrEmpty(urlSistema)) { var urlService = string.Format("{0}{1}", urlSistema.ToLower().Substring(0, urlSistema.ToLower().LastIndexOf("/webglass")).TrimEnd('/'), "/service/wsexportacaopedido.asmx"); object[] parametros = new object[] { LojaDAO.Instance.ObtemCnpj(UserInfo.GetUserInfo.IdLoja), 2, Glass.Conversoes.StrParaInt(ped.CodCliente) }; object retorno = WebService.ChamarWebService(urlService, "SyncService", "CancelarPedido", parametros); string[] dados = retorno as string[]; if (dados[0] == "1") { throw new Exception("Ocorreu um erro: " + dados[1] + "."); } } else { throw new Exception("Atenção: Para pedidos importados é necessário o preenchimento da URL do sistema do cliente no cadastro do mesmo."); } } PedidoDAO.Instance.CancelarPedidoComTransacao(ped.IdPedido, motivo, chkGerarCredito.Checked, false, ctrlDataEstorno.Data); } catch (Glass.Data.Exceptions.ComissaoGeradaException ex) { Page.ClientScript.RegisterClientScriptBlock(GetType(), "confirmar", "if (!confirm('" + Glass.MensagemAlerta.FormatErrorMsg(null, ex) + "')) closeWindow(); " + "else confirmarCancelamento(" + ped.IdPedido + ", " + chkGerarCredito.Checked.ToString().ToLower() + ", '" + motivo + "', '" + ctrlDataEstorno.Data + "');", true); return; } catch (Exception ex) { Glass.MensagemAlerta.ErrorMsg(null, ex, Page); return; } ClientScript.RegisterClientScriptBlock(this.GetType(), "ok", "window.opener.location.href=window.opener.location.href;closeWindow();", true); }
protected void chkSel_DataBinding(object sender, EventArgs e) { GridViewRow linha = ((CheckBox)sender).Parent.Parent as GridViewRow; Glass.Data.Model.Pedido p = linha != null ? linha.DataItem as Glass.Data.Model.Pedido : null; if (p == null) { return; } ((CheckBox)sender).Attributes.Add("ValorPagoComissao", p.ValorPagoComissao.ToString().Replace(",", ".")); ((CheckBox)sender).Attributes.Add("ValorPedido", p.Total.ToString().Replace(",", ".")); ((CheckBox)sender).Attributes.Add("IdPedido", p.IdPedido.ToString().Replace(",", ".")); }
public string VerificarDescontoPermitido(string idPedido, string tipoVenda, string tipoEntrega, string idParcela) { var isAdministrador = UserInfo.GetUserInfo.IsAdministrador; var idFuncDesc = Geral.ManterDescontoAdministrador ? PedidoDAO.Instance.ObtemIdFuncDesc(null, idPedido.StrParaUint()).GetValueOrDefault() : 0; var pedido = new Glass.Data.Model.Pedido(); pedido = PedidoDAO.Instance.GetElementByPrimaryKey(idPedido.StrParaUint()); pedido.TipoVenda = tipoVenda.StrParaInt(); pedido.TipoEntrega = idPedido.StrParaInt(); pedido.IdParcela = idPedido.StrParaUint(); return(isAdministrador && !PedidoDAO.Instance.DescontoPermitido(null, pedido) ? $"1|O funcionário {FuncionarioDAO.Instance.GetNome(idFuncDesc)} aplicou um desconto maior do que o desconto máximo configurado para esta alteração." + " Tem certeza que deseja alterar o pedido?" : "0|Deseja atualizar os dados do pedido?"); }
protected void grdPedido_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType != DataControlRowType.DataRow) { return; } Glass.Data.Model.Pedido item = e.Row.DataItem as Glass.Data.Model.Pedido; if (item == null) { return; } if (item.IdPedido == 0) { foreach (TableCell c in e.Row.Cells) { c.ForeColor = System.Drawing.Color.Red; } e.Row.Cells[7].Text = "Aberto"; } if (item.CorLinhaLista != Color.Black) { foreach (TableCell c in e.Row.Cells) { c.ForeColor = item.CorLinhaLista; // Alteração no pcp não deve ser vista pelo cliente if (c.ForeColor == Color.Red) { continue; } foreach (Control c1 in c.Controls) { if (c1 is WebControl) { ((WebControl)c1).ForeColor = c.ForeColor; } } } } }
public string GetPedido(string idPedido) { try { Glass.Data.Model.Pedido pedido = PedidoDAO.Instance.GetElementByPrimaryKey(Glass.Conversoes.StrParaUint(idPedido)); Cliente cliente = ClienteDAO.Instance.GetElementByPrimaryKey(pedido.IdCli); if (pedido.IdPedido == 0) { return("Erro\tPedido não encontrado."); } if (pedido.Situacao != Glass.Data.Model.Pedido.SituacaoPedido.EmConferencia && pedido.Situacao != Glass.Data.Model.Pedido.SituacaoPedido.AtivoConferencia) { return("Erro\tEste pedido não está em conferência."); } PedidoConferencia pedConf = PedidoConferenciaDAO.Instance.GetElementByPrimaryKey(pedido.IdPedido); if (pedConf.Situacao == (int)PedidoConferencia.SituacaoConferencia.EmAndamento) { return("Erro\tA conferência deste pedido já está em andamento."); } if (pedConf.Situacao == (int)PedidoConferencia.SituacaoConferencia.Finalizada) { return("Erro\tA conferência deste pedido já está finalizada."); } StringBuilder str = new StringBuilder(); str.Append("ok\t" + pedido.IdPedido + "\t"); str.Append(LojaDAO.Instance.GetElementByPrimaryKey(pedido.IdLoja).NomeFantasia.Replace("'", "").Replace("|", "").Replace(";", "") + "\t"); str.Append(cliente.Nome.Replace("|", "").Replace(";", "") + "\t"); str.Append(cliente.Telefone.Replace("|", "").Replace(";", "") + "\t"); str.Append(pedido.LocalizacaoObra.Replace("|", "").Replace(";", "") + "\t"); str.Append(pedido.DataEntrega != null ? pedido.DataEntrega.Value.ToString("dd/MM/yyyy") : String.Empty); return(str.ToString()); } catch (Exception ex) { return(Glass.MensagemAlerta.FormatErrorMsg("Erro\tFalha ao carregar pedidos.", ex)); } }
protected void chkSel_DataBinding(object sender, EventArgs e) { GridViewRow linha = ((CheckBox)sender).Parent.Parent as GridViewRow; Glass.Data.Model.Pedido p = linha != null ? linha.DataItem as Glass.Data.Model.Pedido : null; if (p == null) { return; } // Só habilita o checkbox se houver comissão a pagar ((CheckBox)sender).Enabled = p.ComissaoAPagar; // Salva alguns atributos ao checkbox para utilização no JavaScript ((CheckBox)sender).Attributes.Add("ValorComissao", p.ValorComissaoPagar.ToString().Replace(",", ".")); ((CheckBox)sender).Attributes.Add("ValorPedido", p.Total.ToString().Replace(",", ".")); ((CheckBox)sender).Attributes.Add("IdPedido", p.IdPedido.ToString().Replace(",", ".")); ((CheckBox)sender).Attributes.Add("ValorBaseCalcComissao", p.ValorBaseCalcComissao.ToString().Replace(",", ".")); }
public string GetDadosPedido(string idPedido) { try { if (!PedidoDAO.Instance.PedidoExists(Glass.Conversoes.StrParaUint(idPedido))) { throw new Exception("Pedido não encontrado."); } Glass.Data.Model.Pedido pedido = PedidoDAO.Instance.GetElement(Glass.Conversoes.StrParaUint(idPedido)); decimal total = !PedidoEspelhoDAO.Instance.ExisteEspelho(pedido.IdPedido) ? pedido.Total : pedido.TotalEspelho; return("Ok#" + pedido.NomeCliente + "#" + pedido.CodCliente + "#" + pedido.NomeFunc + "#" + pedido.DataEntrega.Value.ToString("dd/MM/yyyy") + "#" + total.ToString("C")); } catch (Exception ex) { return("Erro;" + Glass.MensagemAlerta.FormatErrorMsg("Falha ao recuperar dados do pedido.", ex)); } }
protected void Page_Load(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtNumPedido.Text) || !PedidoDAO.Instance.PedidoExists(Glass.Conversoes.StrParaUint(txtNumPedido.Text))) { tbInfPedido.Visible = false; tbInfAdicional.Visible = false; lnkImprimir.Visible = false; if (!string.IsNullOrEmpty(txtNumPedido.Text)) { MensagemAlerta.ShowMsg("O pedido informado não existe.", Page); } return; } if (!string.IsNullOrEmpty(txtNumPedido.Text) && Glass.Conversoes.StrParaInt(txtNumPedido.Text) > 0) { Glass.Data.Model.Pedido ped = PedidoDAO.Instance.GetElement(Glass.Conversoes.StrParaUint(txtNumPedido.Text)); if (ped == null) { return; } lblCli.Text = ped.NomeCliente; lblVend.Text = ped.NomeFunc; lblOrca.Text = ped.IdOrcamento.ToString(); lblPed.Text = ped.IdPedido.ToString(); tbInfPedido.Visible = true; tbInfAdicional.Visible = true; lnkImprimir.Visible = true; } else { tbInfPedido.Visible = false; tbInfAdicional.Visible = false; lnkImprimir.Visible = false; } }
protected override Colosoft.Reports.IReportDocument LoadReport(ref LocalReport report, ref List <ReportParameter> lstParam, HttpRequest PageRequest, System.Collections.Specialized.NameValueCollection Request, object[] outrosParametros, LoginUsuario login, string diretorioLogotipos) { // Verifica qual relatório será chamado switch (Request["rel"]) { case "imagemProjeto": report.ReportPath = NomeArquivoRelatorioImagemProjeto; // Identifica se foi selecionado para imprimir alumínios e ferragens. bool imprAlumFerr = Request["imprAlumFerr"] == "true"; uint idProjeto = !String.IsNullOrEmpty(Request["idProjeto"]) ? Glass.Conversoes.StrParaUint(Request["idProjeto"]) : 0; var projeto = idProjeto > 0 ? ProjetoDAO.Instance.GetElement(idProjeto) : new Data.Model.Projeto(); ItemProjeto[] itemProjeto = ItemProjetoDAO.Instance.GetByString(Request["idItemProjeto"]); List <PecaItemProjeto> lstPeca = new List <PecaItemProjeto>(); List <MaterialItemProjeto> lstMaterial = new List <MaterialItemProjeto>(); List <Imagem> lstImagens = new List <Imagem>(); List <MedidaItemProjeto> lstMedidas = new List <MedidaItemProjeto>(); // Busca o pedido, se houver, relacionado à este projeto projeto.IdPedido = ProjetoDAO.Instance.GetIdPedidoByProjeto(idProjeto); if (projeto.IdPedido == 0) { // Tenta buscar o pedido pelo item projeto. if (itemProjeto[0].IdPedido > 0) { projeto.IdPedido = itemProjeto[0].IdPedido.Value; } else if (itemProjeto[0].IdPedidoEspelho > 0) { projeto.IdPedido = itemProjeto[0].IdPedidoEspelho.Value; } else if (itemProjeto[0].IdOrcamento > 0) { projeto.IdPedido = PedidoDAO.Instance.GetIdPedidoByOrcamento(itemProjeto[0].IdOrcamento.Value); } } if (projeto.IdPedido > 0) { var idCliente = PedidoDAO.Instance.ObtemIdCliente(null, projeto.IdPedido); projeto.NomeCliente = ClienteDAO.Instance.GetNome(idCliente); projeto.Rota = RotaDAO.Instance.ObtemCodRota(idCliente); projeto.NomeFunc = FuncionarioDAO.Instance.GetNome(PedidoDAO.Instance.ObtemIdFunc(null, projeto.IdPedido)); projeto.DataCad = PedidoDAO.Instance.ObtemDataPedido(null, projeto.IdPedido); projeto.TipoEntrega = PedidoDAO.Instance.ObtemTipoEntrega(null, projeto.IdPedido); projeto.Obs = PedidoDAO.Instance.ObtemObs(null, projeto.IdPedido); projeto.ObsLiberacao = PedidoDAO.Instance.ObtemObsLiberacao(projeto.IdPedido); } for (int i = 0; i < itemProjeto.Length; i++) { var pcp = itemProjeto[i].IdPedidoEspelho.HasValue; ProjetoModelo modelo = ProjetoModeloDAO.Instance.GetElementByPrimaryKey(itemProjeto[i].IdProjetoModelo); lstPeca.AddRange(PecaItemProjetoDAO.Instance.GetByItemProjetoRpt(itemProjeto[i].IdItemProjeto, itemProjeto[i].IdProjetoModelo, pcp)); // Caso a imagem da peça tenha sido editada então a impressão não deve exibir se a peça possui arquivo de otimização. for (var x = 0; x < lstPeca.Count; x++) { var pecaPossuiFiguraAssociada = PecaItemProjetoDAO.Instance.PossuiFiguraAssociada(null, lstPeca[x].IdPecaItemProj); var pecaPossuiEdicaoCadProject = lstPeca[x].IdProdPed != null ? lstPeca[x].ImagemEditada && ProdutosPedidoEspelhoDAO.Instance.PossuiEdicaoCadProject((uint)lstPeca[x].IdProdPed, pcp):false; var produtoPossuiImagemEditada = pcp && ProdutosPedidoEspelhoDAO.Instance.PossuiImagemAssociada(null, (uint)lstPeca[x]?.IdProdPed.GetValueOrDefault()); if (lstPeca[x].IdArquivoMesaCorte > 0 && lstPeca[x].TipoArquivoMesaCorte > 0) { if ((produtoPossuiImagemEditada || lstPeca[x].ImagemEditada || pecaPossuiFiguraAssociada) && lstPeca[x].TipoArquivoMesaCorte != (int)TipoArquivoMesaCorte.FMLBasico && !pecaPossuiEdicaoCadProject) { lstPeca[x].IdArquivoMesaCorte = null; lstPeca[x].TipoArquivoMesaCorte = null; } } } int atual = lstMaterial.Count; lstMaterial.AddRange(MaterialItemProjetoDAO.Instance.GetForRptItemProjeto(itemProjeto[i].IdItemProjeto, false)); int numeroMateriais = lstMaterial.Count - atual; // Verifica se os materiais do itemProjeto deverão ser impressos também itemProjeto[i].MostrarMateriais = imprAlumFerr && numeroMateriais > 0; // Pega a imagem do projeto com as medidas já desenhadas e o modelo da imagem if (modelo.IdGrupoModelo != (uint)UtilsProjeto.GrupoModelo.Outros) { itemProjeto[i].ImagemProjeto = Data.Helper.Utils.GetImageFromRequest(UtilsProjeto.GetFiguraAssociadaUrl(itemProjeto[i].IdItemProjeto, modelo)); // Salva a imagem na memória, recupera os bytes e os salva na propriedade ImagemProjetoModelo. // Chamado 50315 - o nome da imagem deve ser recuperado dentro do try para não retornar erro quando o mesmo for null. try { var arquivo = System.IO.Path.Combine(Glass.Data.Helper.Utils.ModelosProjetoPath(Context), modelo.NomeFigura); if (System.IO.File.Exists(arquivo)) { using (var image = new Bitmap(arquivo)) using (var ms = new System.IO.MemoryStream()) { image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); itemProjeto[i].ImagemProjetoModelo = ms.ToArray(); } } } catch { } itemProjeto[i].ImagemProjetoModelo = Data.Helper.Utils.GetImageFromRequest("../../Handlers/LoadImage.ashx?path=" + Data.Helper.Utils.ModelosProjetoPath(Context) + modelo.NomeFigura + "&altura=" + modelo.AlturaFigura + "&largura=" + modelo.LarguraFigura); } // Copia o idPedidoEspelho para o idPedido if (itemProjeto[i].IdPedido == null) { itemProjeto[i].IdPedido = itemProjeto[i].IdPedidoEspelho; } lstImagens.AddRange(ImagemDAO.Instance.GetPecasAlteradas(itemProjeto[i].IdItemProjeto, Glass.Configuracoes.ProjetoConfig.RelatorioImagemProjeto.PercentualTamanhoImagemRelatorio)); lstMedidas.AddRange(MedidaItemProjetoDAO.Instance.GetListByItemProjeto(itemProjeto[i].IdItemProjeto)); } lstParam.Add(new ReportParameter("Pedido_PedCli", projeto.IdPedido > 0 ? PedidoDAO.Instance.ObtemPedCli(null, projeto.IdPedido) : string.Empty)); lstParam.Add(new ReportParameter("FastDelivery", PedidoDAO.Instance.IsFastDelivery(null, projeto.IdPedido).ToString())); lstParam.Add(new ReportParameter("ExibirImagemModelo", (true).ToString())); lstParam.Add(new ReportParameter("CorObs", Glass.Configuracoes.ProjetoConfig.RelatorioImagemProjeto.CorObsNoRelatorio)); lstParam.Add(new ReportParameter("TemEdicaoCadProject", "true")); lstParam.Add(new ReportParameter("ImagensPecasIndividuais", "true")); lstParam.Add(new ReportParameter("AgruparBeneficiamentos", PedidoConfig.RelatorioPedido.AgruparBenefRelatorio.ToString())); report.DataSources.Add(new ReportDataSource("Projeto", new Data.Model.Projeto[] { projeto })); report.DataSources.Add(new ReportDataSource("ItemProjeto", itemProjeto)); report.DataSources.Add(new ReportDataSource("PecaItemProjeto", lstPeca.ToArray())); report.DataSources.Add(new ReportDataSource("MaterialItemProjeto", lstMaterial.ToArray())); report.DataSources.Add(new ReportDataSource("Imagem", lstImagens.ToArray())); report.DataSources.Add(new ReportDataSource("MedidaItemProjeto", lstMedidas.ToArray())); break; case "totaisProjeto": report.ReportPath = Data.Helper.Utils.CaminhoRelatorio("Relatorios/Projeto/rptTotaisProjeto{0}.rdlc"); bool exibirCusto = UserInfo.GetUserInfo.TipoUsuario == (uint)Data.Helper.Utils.TipoFuncionario.Administrador || UserInfo.GetUserInfo.TipoUsuario == (uint)Data.Helper.Utils.TipoFuncionario.Gerente; string titulo = String.Empty; string nomeCliente = String.Empty; string tipoEntrega = String.Empty; float taxaPrazo = 0; uint idProjeto_Totais = Glass.Conversoes.StrParaUint(Request["idProjeto"]); uint idOrcamento_Totais = Glass.Conversoes.StrParaUint(Request["idOrcamento"]); uint idPedido_Totais = Glass.Conversoes.StrParaUint(Request["idPedido"]); uint idPedidoEspelho_Totais = Glass.Conversoes.StrParaUint(Request["idPedidoEspelho"]); if (idProjeto_Totais > 0) { var projeto_Totais = ProjetoDAO.Instance.GetElementByPrimaryKey(idProjeto_Totais); titulo = "Impressão Projeto N.º " + idProjeto_Totais; nomeCliente = projeto_Totais.IdCliente > 0 ? ClienteDAO.Instance.GetNome(projeto_Totais.IdCliente.Value) : projeto_Totais.NomeCliente; tipoEntrega = projeto_Totais.DescrTipoEntrega; taxaPrazo = projeto_Totais.TaxaPrazo; } else if (idOrcamento_Totais > 0) { var orcamento_Totais = OrcamentoDAO.Instance.GetElementByPrimaryKey(idOrcamento_Totais); titulo = "Impressão dos Projetos do Orçamento N.º " + idOrcamento_Totais; nomeCliente = orcamento_Totais.IdCliente > 0 ? orcamento_Totais.IdCliente + " - " + ClienteDAO.Instance.GetNome(orcamento_Totais.IdCliente.Value) : orcamento_Totais.NomeCliente; tipoEntrega = orcamento_Totais.DescrTipoEntrega; taxaPrazo = orcamento_Totais.TaxaPrazo; } else if (idPedido_Totais > 0 || idPedidoEspelho_Totais > 0) { Glass.Data.Model.Pedido pedido_Totais = PedidoDAO.Instance.GetElementByPrimaryKey(idPedido_Totais > 0 ? idPedido_Totais : idPedidoEspelho_Totais); titulo = idPedido_Totais > 0 ? "Impressão dos Projetos do Pedido N.º " + idPedido_Totais : "Impressão dos Projetos da Conferência do Pedido N.º " + idPedidoEspelho_Totais; nomeCliente = pedido_Totais.IdCli + " - " + ClienteDAO.Instance.GetNome(pedido_Totais.IdCli); tipoEntrega = pedido_Totais.DescrTipoEntrega; taxaPrazo = pedido_Totais.TaxaPrazo; } lstParam.Add(new ReportParameter("Titulo", titulo)); lstParam.Add(new ReportParameter("NomeCliente", nomeCliente)); lstParam.Add(new ReportParameter("TipoEntrega", tipoEntrega)); lstParam.Add(new ReportParameter("TaxaPrazo", taxaPrazo.ToString())); lstParam.Add(new ReportParameter("ExibirCusto", exibirCusto.ToString())); lstParam.Add(new ReportParameter("ExibirJuros", "false")); lstParam.Add(new ReportParameter("ExibirLinhaVermelhaSaida", "true")); List <MaterialItemProjeto> lstMaterial_Totais = MaterialItemProjetoDAO.Instance.GetForRptTotaisItens(idProjeto_Totais, idOrcamento_Totais, idPedido_Totais, idPedidoEspelho_Totais); report.DataSources.Add(new ReportDataSource("MaterialItemProjeto", lstMaterial_Totais.ToArray())); break; case "ImpressaoModeloProjeto": report.ReportPath = "Relatorios/Projeto/rptImpressaoModeloProjeto.rdlc"; ProjetoModelo projModelo = ProjetoModeloDAO.Instance.GetByCodigo(Request["projModeloCod"]); if (projModelo.IdGrupoModelo != (uint)UtilsProjeto.GrupoModelo.Outros) { // Salva a imagem na memória, recupera os bytes e os salva na propriedade ImagemProjetoModelo. // Chamado 50315 - o nome da imagem deve ser recuperado dentro do try para não retornar erro quando o mesmo for null. try { var arquivo = System.IO.Path.Combine(Glass.Data.Helper.Utils.ModelosProjetoPath(Context), projModelo.NomeFigura); if (System.IO.File.Exists(arquivo)) { using (var image = new Bitmap(arquivo)) using (var ms = new System.IO.MemoryStream()) { image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); projModelo.ImagemProjetoModelo = ms.ToArray(); } } } catch { } } report.DataSources.Add(new ReportDataSource("ProjetoModelo", new ProjetoModelo[] { projModelo })); PecaProjetoModelo[] pecasModelo = PecaProjetoModeloDAO.Instance.GetByModelo(projModelo.IdProjetoModelo).ToArray(); report.DataSources.Add(new ReportDataSource("PecaProjetoModelo", pecasModelo)); MaterialProjetoModelo[] materialModelo = MaterialProjetoModeloDAO.Instance.GetByProjetoModelo(projModelo.IdProjetoModelo, null).ToArray(); report.DataSources.Add(new ReportDataSource("MaterialProjetoModelo", materialModelo)); MedidaProjetoModelo[] medidaModelo = MedidaProjetoModeloDAO.Instance.GetByProjetoModelo(projModelo.IdProjetoModelo, false).ToArray(); report.DataSources.Add(new ReportDataSource("MedidaProjetoModelo", medidaModelo)); Imagem[] imagensPecasModelo = ImagemDAO.Instance.GetPecasModelo(projModelo.IdProjetoModelo); report.DataSources.Add(new ReportDataSource("Imagem", imagensPecasModelo)); break; case "LstModeloProjeto": report.ReportPath = "Relatorios/Projeto/rptLstModeloProjeto.rdlc"; Imagem[] imagensProjModelo = ImagemDAO.Instance.GetProjetosModelo(Request["cod"], Request["desc"], Glass.Conversoes.StrParaUint(Request["grupo"]), Request["situacao"].StrParaInt()); report.DataSources.Add(new ReportDataSource("Imagem", imagensProjModelo)); break; } // Atribui parâmetros ao relatório lstParam.Add(new ReportParameter("Logotipo", Logotipo.GetReportLogo(PageRequest))); lstParam.Add(new ReportParameter("TextoRodape", Geral.TextoRodapeRelatorio(login.Nome))); lstParam.Add(new ReportParameter("CorRodape", "DimGray")); return(null); }
public string GerarPedido(string idCli, string tipoPedido, string tipoEntrega, string dataEntrega, string produtos, string espessura) { Glass.Data.Model.Pedido ped = new Glass.Data.Model.Pedido(); ProdutosPedido prodPed; uint idPedido = 0; try { LoginUsuario login = UserInfo.GetUserInfo; ped.IdCli = Glass.Conversoes.StrParaUint(idCli); if (ClienteDAO.Instance.GetSituacao(ped.IdCli) != (int)SituacaoCliente.Ativo) { throw new Exception("O cliente não está ativo."); } ped.IdFunc = login.CodUser; ped.IdLoja = FuncionarioDAO.Instance.ObtemIdLoja(ped.IdFunc); ped.TipoVenda = (int)Glass.Data.Model.Pedido.TipoVendaPedido.AVista; ped.TipoPedido = Glass.Conversoes.StrParaInt(tipoPedido); ped.TipoEntrega = Glass.Conversoes.StrParaInt(tipoEntrega); ped.FromOrcamentoRapido = true; ped.DataPedido = DateTime.Now; ped.DataEntregaString = dataEntrega; idPedido = PedidoDAO.Instance.Insert(ped); // Cria o ambiente, se a empresa usar uint?idAmbientePedido = null; if (PedidoConfig.DadosPedido.AmbientePedido) { AmbientePedido ambiente = new AmbientePedido(); ambiente.IdPedido = idPedido; ambiente.Ambiente = ((Glass.Data.Model.Pedido.TipoEntregaPedido)ped.TipoEntrega).ToString(); ambiente.Descricao = ambiente.Ambiente; idAmbientePedido = AmbientePedidoDAO.Instance.Insert(ambiente); } produtos = produtos.Replace("\r\n", "\n"); string[] vetProds = produtos.TrimEnd('\n').Split('\n'); // Para cada produto do orçamento rápido foreach (string prod in vetProds) { // [0]Id do produto [1]Valor produto (sem benef.) [2]Valor total [3]Qtd [4]Altura [5]AlturaCalc [6]Largura [7]Redondo [8]Area total // [9]Descrição [10]Custo, [11]Valor tabela [12]Espessura [13]Perc. Desc. Qtde [14]ServicoInfo [15]Perc. Comissão [16]IdProcesso [17]IdAplicacao string[] dadosProd = prod.Split('\t'); prodPed = new ProdutosPedido(); prodPed.IdPedido = idPedido; prodPed.IdAmbientePedido = idAmbientePedido; prodPed.IdProd = Glass.Conversoes.StrParaUint(dadosProd[0]); prodPed.Qtde = float.Parse(dadosProd[3].Replace('.', ',')); prodPed.PercDescontoQtde = !String.IsNullOrEmpty(dadosProd[13]) ? float.Parse(dadosProd[13].Replace('.', ',')) : 0; prodPed.ValorTabelaPedido = ProdutoDAO.Instance.GetValorTabela((int)prodPed.IdProd, ped.TipoEntrega, ped.IdCli, false, false, prodPed.PercDescontoQtde, (int?)idPedido, null, null, !String.IsNullOrEmpty(dadosProd[5]) ? float.Parse(dadosProd[5]) : 0f); prodPed.ValorVendido = decimal.Parse(dadosProd[1].Replace('.', ','), System.Globalization.NumberStyles.AllowDecimalPoint); if (ProdutoDAO.Instance.IsPrecoTabela(prodPed.IdProd, prodPed.ValorVendido)) { prodPed.ValorVendido = prodPed.ValorTabelaPedido; } prodPed.AlturaReal = !String.IsNullOrEmpty(dadosProd[4]) ? float.Parse(dadosProd[4]) : 0f; prodPed.Altura = !String.IsNullOrEmpty(dadosProd[5]) ? float.Parse(dadosProd[5]) : 0f; prodPed.Largura = !String.IsNullOrEmpty(dadosProd[6]) ? Glass.Conversoes.StrParaInt(dadosProd[6]) : 0; prodPed.Redondo = dadosProd[7] == "true"; if (!String.IsNullOrEmpty(dadosProd[8]) && !dadosProd[8].Contains("(")) { prodPed.TotM = Single.Parse(dadosProd[8].Replace('.', ','), System.Globalization.NumberStyles.AllowDecimalPoint); } prodPed.Total = decimal.Parse(dadosProd[2].Replace('.', ','), System.Globalization.NumberStyles.AllowDecimalPoint); if (!String.IsNullOrEmpty(espessura)) { prodPed.Espessura = Glass.Conversoes.StrParaInt(espessura); } prodPed.CustoProd = decimal.Parse(dadosProd[10].Replace('.', ',')); prodPed.ValorTabelaOrcamento = decimal.Parse(dadosProd[11].Replace('.', ',')); prodPed.TipoCalculoUsadoOrcamento = Glass.Data.DAL.GrupoProdDAO.Instance.TipoCalculo((int)prodPed.IdProd); prodPed.TipoCalculoUsadoPedido = prodPed.TipoCalculoUsadoOrcamento; prodPed.Espessura = !String.IsNullOrEmpty(dadosProd[12]) ? Glass.Conversoes.StrParaFloat(dadosProd[12]) : 0; prodPed.IdProcesso = Glass.Conversoes.StrParaUintNullable(dadosProd[16]); prodPed.IdAplicacao = Glass.Conversoes.StrParaUintNullable(dadosProd[17]); if (!String.IsNullOrEmpty(dadosProd[14])) { GenericBenefCollection benef = new GenericBenefCollection(); benef.AddBenefFromServicosInfo(dadosProd[14]); prodPed.Beneficiamentos = benef; } prodPed.ValorComissao = prodPed.Total * (decimal)(Glass.Conversoes.StrParaFloat(dadosProd[15]) / 100); uint idProdPed = ProdutosPedidoDAO.Instance.Insert(prodPed); } // Atualiza o total do pedido PedidoDAO.Instance.UpdateTotalPedido(idPedido); return("ok\tPedido Gerado com sucesso.\t" + idPedido); } catch (Exception ex) { PedidoDAO.Instance.DeleteByPrimaryKey(idPedido); return("Erro\t" + Glass.MensagemAlerta.FormatErrorMsg("Falha ao gerar pedido.", ex)); } }
protected override Colosoft.Reports.IReportDocument LoadReport(ref LocalReport report, ref List <ReportParameter> lstParam, HttpRequest PageRequest, System.Collections.Specialized.NameValueCollection Request, object[] outrosParametros, LoginUsuario login, string diretorioLogotipos) { Glass.Data.RelModel.Recibo recibo; // Verifica qual relatório será chamado switch (Request["rel"]) { case "recibo": if (string.IsNullOrEmpty(outrosParametros[0].ToString()) || string.IsNullOrEmpty(outrosParametros[1].ToString())) { return(null); } var idOrcamento = Request["idOrcamento"] != "0" && Request["idOrcamento"] != "" ? Request["idOrcamento"].StrParaUint() : 0; var idPedido = Request["idPedido"] != "0" && Request["idPedido"] != "" ? Request["idPedido"].StrParaUint() : 0; var idLiberacao = Request["idLiberacao"] != "0" && Request["idLiberacao"] != "" ? Request["idLiberacao"].StrParaUint() : 0; var idsContaR = outrosParametros[1].ToString(); if (idsContaR == null || idsContaR == "0") { if (PedidoConfig.LiberarPedido) { var contasRec = ContasReceberDAO.Instance.GetByLiberacaoPedido(idLiberacao, true); if (contasRec != null && contasRec.Count > 0) { idsContaR = string.Join(",", contasRec.Select(f => f.IdContaR.ToString())); } } else { var contasRec = ContasReceberDAO.Instance.GetByPedido(null, idPedido, false, true); if (contasRec != null && contasRec.Count > 0) { idsContaR = string.Join(",", contasRec.Select(f => f.IdContaR.ToString())); } } } var orcamento = new Data.Model.Orcamento(); var pedido = new Data.Model.Pedido(); var liberacao = new LiberarPedido(); var nomeCliente = string.Empty; var nomeVendedor = string.Empty; var idLoja = new uint(); var total = new decimal(); #region Orçamento // Recupera os dados do orçamento. if (idOrcamento > 0) { orcamento = OrcamentoDAO.Instance.GetElementByPrimaryKey(idOrcamento); if (orcamento.IdCliente > 0) { nomeCliente = ClienteDAO.Instance.GetNome(orcamento.IdCliente.Value); } else { nomeCliente = orcamento.NomeCliente; } nomeVendedor = orcamento.IdFuncionario > 0 ? FuncionarioDAO.Instance.GetNome(orcamento.IdFuncionario.Value) : login.Nome; idLoja = orcamento.IdLoja > 0 ? orcamento.IdLoja.Value : login.IdLoja; total = orcamento.Total; idPedido = 0; idLiberacao = 0; } #endregion #region Pedido // Recupera os dados do pedido. else if (idPedido > 0) { pedido = PedidoDAO.Instance.GetElementByPrimaryKey(idPedido); nomeCliente = ClienteDAO.Instance.GetNome(pedido.IdCli); nomeVendedor = pedido.IdFunc > 0 ? FuncionarioDAO.Instance.GetNome(pedido.IdFunc) : login.Nome; idLoja = pedido.IdPedido > 0 ? pedido.IdLoja : login.IdLoja; total = pedido.Total; // Se houver pcp, usa o total do mesmo var totalEspelho = PedidoEspelhoDAO.Instance.ObtemTotal(idPedido); if (totalEspelho > 0) { total = totalEspelho; } idLiberacao = 0; } #endregion #region Liberação // Recupera os dados da liberação. else if (idLiberacao > 0) { liberacao = LiberarPedidoDAO.Instance.GetElement(idLiberacao); nomeCliente = ClienteDAO.Instance.GetNome(liberacao.IdCliente); nomeVendedor = !string.IsNullOrEmpty(liberacao.NomeFunc) ? liberacao.NomeFunc : login.Nome; idLoja = (uint)FuncionarioDAO.Instance.GetElementByPrimaryKey(liberacao.IdFunc).IdLoja; total = liberacao.Total; } #endregion recibo = new Data.RelModel.Recibo(); recibo.Tipo = Conversoes.StrParaInt(Request["referente"]); recibo.IdOrcamento = orcamento.IdOrcamento; recibo.IdPedido = pedido.IdPedido; recibo.IdLiberarPedido = liberacao.IdLiberarPedido; recibo.Cliente = nomeCliente; recibo.IdLoja = idLoja; recibo.SinalPedido = pedido.IdPedido > 0 ? pedido.ValorEntrada + pedido.ValorPagamentoAntecipado : 0; recibo.Total = total; recibo.Vendedor = nomeVendedor; recibo.Items = outrosParametros[0].ToString(); recibo.NumParcelas = idsContaR; recibo.ValorReferente = Request["valorRef"]; recibo.MotivoReferente = Request["motivoRef"]; report.ReportPath = Data.Helper.Utils.CaminhoRelatorio("Relatorios/Genericos/ModeloRecibo/rptRecibo{0}.rdlc"); if (report.ReportPath == "Relatorios/Genericos/ModeloRecibo/rptReciboVidrosEVidros.rdlc") { lstParam.Add(new ReportParameter("ImagemCabecalho", "file:///" + PageRequest.PhysicalApplicationPath.Replace('\\', '/') + "Images/cabecalhoOrcamentoVivrosEVidros.jpg")); } if (ReciboConfig.Relatorio.UsarParcelasPedido && pedido.IdPedido > 0) { report.DataSources.Add(new ReportDataSource("ParcelasPedido", pedido.NumParc > 0 ? ParcelasPedidoDAO.Instance.GetByPedido(pedido.IdPedido) : new ParcelasPedido[0])); } report.DataSources.Add(new ReportDataSource("Recibo", new Data.RelModel.Recibo[] { recibo })); break; case "reciboPgAntec": Sinal sinal = SinalDAO.Instance.GetSinalDetails(Glass.Conversoes.StrParaUint(Request["idPgAntecipado"])); Cliente clientePgto = ClienteDAO.Instance.GetElementByPrimaryKey(sinal.IdCliente); recibo = new Data.RelModel.Recibo(); recibo.Tipo = Glass.Conversoes.StrParaInt(Request["referente"]); recibo.IdSinal = sinal.IdSinal; recibo.Cliente = clientePgto.Nome; recibo.IdLoja = (uint)FuncionarioDAO.Instance.GetElementByPrimaryKey(sinal.UsuCad).IdLoja; recibo.Total = sinal.TotalSinal; recibo.Vendedor = FuncionarioDAO.Instance.GetNome(sinal.UsuCad); recibo.Items = outrosParametros[0].ToString(); recibo.NumParcelas = outrosParametros[1].ToString(); recibo.ValorReferente = Request["valorRef"]; recibo.MotivoReferente = Request["motivoRef"]; report.ReportPath = Glass.Data.Helper.Utils.CaminhoRelatorio("Relatorios/Genericos/ModeloRecibo/rptRecibo{0}.rdlc"); report.DataSources.Add(new ReportDataSource("Recibo", new Data.RelModel.Recibo[] { recibo })); break; case "reciboAcerto": uint idAcerto = Request["idAcerto"] != "0" && Request["idAcerto"] != "" ? Glass.Conversoes.StrParaUint(Request["idAcerto"]) : 0; if (idAcerto > 0 && !AcertoDAO.Instance.Exists(idAcerto)) { Response.Write("O acerto informado não existe."); return(null); } Acerto acerto = AcertoDAO.Instance.GetByCliList(Convert.ToInt32(idAcerto), 0, 0, 0, null, null, 0, 0, 0, 0, null, 0, 10)[0]; recibo = new Data.RelModel.Recibo(); recibo.Tipo = Glass.Conversoes.StrParaInt(Request["referente"]); recibo.IdAcerto = acerto.IdAcerto; recibo.Cliente = ClienteDAO.Instance.GetNome(acerto.IdCli); recibo.IdLoja = (uint)FuncionarioDAO.Instance.GetElementByPrimaryKey(acerto.UsuCad).IdLoja; recibo.Total = acerto.TotalAcerto; recibo.Vendedor = FuncionarioDAO.Instance.GetNome(acerto.UsuCad); recibo.Items = outrosParametros[0].ToString(); recibo.NumParcelas = outrosParametros[1].ToString(); recibo.ValorReferente = Request["valorRef"]; recibo.MotivoReferente = Request["motivoRef"]; report.ReportPath = Glass.Data.Helper.Utils.CaminhoRelatorio("Relatorios/Genericos/ModeloRecibo/rptRecibo{0}.rdlc"); report.DataSources.Add(new ReportDataSource("Recibo", new Data.RelModel.Recibo[] { recibo })); break; case "termoaceitacao": if (!PedidoDAO.Instance.PedidoExists(Glass.Conversoes.StrParaUint(Request["ped"]))) { Response.Write("O pedido informado não existe."); return(null); } Glass.Data.Model.Pedido pedTermo = PedidoDAO.Instance.GetElement(Glass.Conversoes.StrParaUint(Request["ped"])); if (pedTermo.IdOrcamento == null) { pedTermo.IdOrcamento = 0; } pedTermo.InfoAdicional = Request["infAdic"]?.Replace("\\n", "\n") ?? string.Empty; report.ReportPath = Data.Helper.Utils.CaminhoRelatorio("Relatorios/Genericos/rptAceitacao{0}.rdlc"); report.DataSources.Add(new ReportDataSource("PedidoRpt", PedidoRptDAL.Instance.CopiaLista(new Glass.Data.Model.Pedido[] { pedTermo }, PedidoRpt.TipoConstrutor.TermoAceitacao, false, login))); break; case "riscoquebra": // Verifica se pedido passado existe if (!PedidoDAO.Instance.PedidoExists(Glass.Conversoes.StrParaUint(Request["idPedido"]))) { Response.Write("O pedido informado não existe."); return(null); } var risco = new Data.RelModel.RiscoQuebra(); Glass.Data.Model.Pedido ped = PedidoDAO.Instance.GetElementByPrimaryKey(Glass.Conversoes.StrParaUint(Request["idPedido"])); Cliente cli = ClienteDAO.Instance.GetElementByPrimaryKey(ped.IdCli); cli.Cidade = CidadeDAO.Instance.GetNome((uint?)cli.IdCidade); risco.IdPedido = ped.IdPedido; risco.NomeLoja = LojaDAO.Instance.GetElementByPrimaryKey(ped.IdLoja).NomeFantasia; risco.CidadeData = LojaDAO.Instance.GetElement(ped.IdLoja).Cidade + " " + Formatacoes.DataExtenso(DateTime.Now); risco.Cliente = cli.Nome; risco.Endereco = !string.IsNullOrEmpty(ped.LocalizacaoObra) ? ped.LocalizacaoObra : cli.EnderecoCompleto; risco.Telefone = cli.Telefone; risco.Texto = Request["texto"]; report.ReportPath = Data.Helper.Utils.CaminhoRelatorio("Relatorios/Genericos/rptRiscoQuebra{0}.rdlc"); report.DataSources.Add(new ReportDataSource("RiscoQuebra", new Data.RelModel.RiscoQuebra[] { risco })); break; case "reciboContaPagar": { var idContaPagar = Request["idContaPagar"] != "0" && Request["idContaPagar"] != "" ? Glass.Conversoes.StrParaInt(Request["idContaPagar"]) : 0; var contaPg = ContasPagarDAO.Instance.GetPagasForRpt(idContaPagar, 0, null, 0, 0, 0, 0, null, null, null, null, null, null, null, null, 0, 0, 0, false, true, false, null, false, false, 0, 0, null, null); if (contaPg.Length == 0) { throw new Exception("A conta a pagar informada não existe ou não está paga."); } recibo = new Data.RelModel.Recibo(); recibo.IdContaPagar = idContaPagar; recibo.IdLoja = contaPg[0].IdLoja.GetValueOrDefault(0); recibo.Total = contaPg[0].ValorPago; recibo.Cliente = FornecedorDAO.Instance.GetElementByPrimaryKey(contaPg[0].IdFornec.GetValueOrDefault(0)).Nome; recibo.MotivoReferente = contaPg[0].DescrPlanoConta; report.ReportPath = Glass.Data.Helper.Utils.CaminhoRelatorio("Relatorios/Genericos/ModeloRecibo/rptRecibo{0}.rdlc"); recibo.Tipo = Glass.Conversoes.StrParaInt(Request["referente"]); report.DataSources.Add(new ReportDataSource("Recibo", new Data.RelModel.Recibo[] { recibo })); break; } } // Atribui parâmetros ao relatório lstParam.Add(new ReportParameter("Logotipo", Logotipo.GetReportLogoColor(PageRequest))); lstParam.Add(new ReportParameter("TextoRodape", Geral.TextoRodapeRelatorio(login.Nome))); lstParam.Add(new ReportParameter("CorRodape", "DimGray")); return(null); }
protected void Page_Load(object sender, EventArgs e) { Ajax.Utility.RegisterTypeForAjax(typeof(Glass.UI.Web.Cadastros.CadConfirmarPedido)); Ajax.Utility.RegisterTypeForAjax(typeof(MetodosAjax)); hdfDataTela.Value = DateTime.Now.ToString(); if (!IsPostBack && Request["idPedido"] != null) { txtNumPedido.Text = Request["idPedido"]; uint idPedido = Glass.Conversoes.StrParaUint(Request["idPedido"]); // Se o pedido não existir if (!PedidoDAO.Instance.PedidoExists(idPedido)) { grdProdutos.Visible = false; } else { // Busca o pedido Glass.Data.Model.Pedido pedido = PedidoDAO.Instance.GetElementByPrimaryKey(idPedido); // Se o pedido já tiver sido cancelado, esconde os produtos grdProdutos.Visible = pedido.Situacao != Glass.Data.Model.Pedido.SituacaoPedido.Cancelado; if (pedido.Situacao == Glass.Data.Model.Pedido.SituacaoPedido.Ativo) { lblViewConfirm.Text += "Pedido está ativo. Só é possível confirmar pedidos conferidos."; imgImprimir.Visible = false; } // Se o pedido estiver confirmado, mostra quem confirmou e quando if (pedido.Situacao == Glass.Data.Model.Pedido.SituacaoPedido.Confirmado) { lblViewConfirm.Text += "Pedido confirmado"; if (pedido.UsuConf != null) { lblViewConfirm.Text += " por " + BibliotecaTexto.GetTwoFirstNames(FuncionarioDAO.Instance.GetNome((uint)pedido.UsuConf.Value)); } lblViewConfirm.Text += pedido.DataConf != null ? " no dia " + pedido.DataConf.Value.ToString("dd/MM/yy") + ". " : ". "; imgImprimir.Visible = true; } // Vendido para funcionário if (pedido.VendidoFuncionario) { divFunc.Visible = true; divAVista.Visible = false; chkVerificarParcelas.Visible = false; chkVerificarParcelas.Checked = false; btnConfirmarPrazo.Visible = false; tbObra.Visible = false; lblNomeFuncVenda.Text += "Funcionário comprador: " + PedidoDAO.Instance.ObtemNomeFuncVenda(idPedido); } // À Prazo else if (pedido.TipoVenda == (int)Glass.Data.Model.Pedido.TipoVendaPedido.APrazo) { // Se tiver sido recebido o sinal, mostra quem recebeu if (pedido.RecebeuSinal) { CaixaDiario caixa = CaixaDiarioDAO.Instance.GetPedidoSinal(pedido.IdPedido); lblViewSinal.Text = "O sinal deste pedido no valor de " + pedido.ValorEntrada.ToString("F2") + " foi recebido por " + caixa.DescrUsuCad + " em " + caixa.DataCad.ToString("dd/MM/yy") + "."; } divAVista.Visible = false; chkVerificarParcelas.Checked = true; btnConfirmarPrazo.Visible = true; divFunc.Visible = false; tbObra.Visible = false; } // À Vista else if (pedido.TipoVenda == (int)Glass.Data.Model.Pedido.TipoVendaPedido.AVista) { decimal totalASerPago = pedido.Total; #region Crédito cliente decimal valorCredito = 0; decimal credito = ClienteDAO.Instance.GetCredito(pedido.IdCli); valorCredito = credito; hdfValorCredito.Value = credito.ToString().Replace(',', '.'); hdfIdCliente.Value = pedido.IdCli.ToString(); #endregion divAVista.Visible = true; chkVerificarParcelas.Visible = false; btnConfirmarPrazo.Visible = false; divFunc.Visible = false; tbObra.Visible = false; } else if (pedido.TipoVenda == (int)Glass.Data.Model.Pedido.TipoVendaPedido.Obra) { if (pedido.IdObra != null) { Obra obra = ObraDAO.Instance.GetElementByPrimaryKey(pedido.IdObra.Value); lblDescrObra.Text = obra.Descricao; lblSaldoObra.Text = obra.Saldo.ToString("C"); lblValorPedido.Text = pedido.Total.ToString("C"); hdfValorObra.Value = (pedido.Total - obra.Saldo).ToString(); pagtoObra.Visible = (pedido.Total - obra.Saldo) > 0; hdfIdCliente.Value = obra.IdCliente.ToString(); } divAVista.Visible = false; chkVerificarParcelas.Visible = false; btnConfirmarPrazo.Visible = false; divFunc.Visible = false; tbObra.Visible = true; } if (pedido.Situacao == Glass.Data.Model.Pedido.SituacaoPedido.Confirmado || pedido.Situacao == Glass.Data.Model.Pedido.SituacaoPedido.Ativo) { divAVista.Visible = false; grdProdutos.Visible = true; btnConfirmarPrazo.Visible = false; chkVerificarParcelas.Visible = false; divFunc.Visible = false; tbObra.Visible = false; } } } else if (!IsPostBack) { grdProdutos.Visible = false; } }