Esempio n. 1
0
        public bool InsertServico(Models.VendasOS venda)
        {
            try
            {
                var sql = string.Format("INSERT INTO tbvendas ( situacao, dtvenda, codvendedor, codcliente, codcondicao, codordemservico, modelo) VALUES ( '{0}', {1}, {2}, {3}, {4}, {5}, '{6}' ); SELECT SCOPE_IDENTITY()",
                                        "N",
                                        this.FormatDateTime(DateTime.Now),
                                        venda.Funcionario.id,
                                        venda.Cliente.id,
                                        venda.CondicaoPagamento.id,
                                        venda.codOrdemServico != null ? venda.codOrdemServico.ToString() : "null",
                                        "56"
                                        );
                string sqlServico = "INSERT INTO tbservicosvenda ( codvenda, codservico, codexecutante, qtservico, vlservico, unidade ) VALUES ( {0}, {1}, {2}, {3}, {4}, '{5}')";
                string sqlParcela = "INSERT INTO tbcontasreceber ( codvenda, codforma, nrparcela, vlparcela, dtvencimento, situacao, codcliente, juros, multa, desconto ) VALUES ({0}, {1}, {2}, {3}, {4}, '{5}', {6}, {7}, {8}, {9} )";
                using (con)
                {
                    OpenConnection();

                    SqlTransaction sqlTrans = con.BeginTransaction();
                    SqlCommand     command  = con.CreateCommand();
                    command.Transaction = sqlTrans;
                    try
                    {
                        command.CommandText = sql;
                        var codVenda = Convert.ToInt32(command.ExecuteScalar());

                        foreach (var item in venda.ServicosOS)
                        {
                            var servico = string.Format(sqlServico, codVenda, item.codServico, item.codExecutante, this.FormatDecimal(item.qtServico), this.FormatDecimal(item.vlServico), item.unidade);
                            command.CommandText = servico;
                            command.ExecuteNonQuery();
                        }
                        foreach (var item in venda.ParcelasVendaServicos)
                        {
                            var parcela = string.Format(sqlParcela, codVenda, item.idFormaPagamento, item.nrParcela, this.FormatDecimal(item.vlParcela), this.FormatDate(item.dtVencimento), "P", venda.Cliente.id, this.FormatDecimal(venda.CondicaoPagamento.txJuros), this.FormatDecimal(venda.CondicaoPagamento.multa), this.FormatDecimal(venda.CondicaoPagamento.desconto));
                            command.CommandText = parcela;
                            command.ExecuteNonQuery();
                        }

                        var updateOS = "UPDATE tbordemservicos set situacao = 'F' WHERE codordemservico = " + venda.codigo;
                        command.CommandText = updateOS;
                        command.ExecuteNonQuery();

                        sqlTrans.Commit();
                    }
                    catch (Exception ex)
                    {
                        sqlTrans.Rollback();
                        throw new Exception(ex.Message);
                    }
                    finally
                    {
                        con.Close();
                    }
                }
                return(true);
            }
            catch (Exception error)
            {
                throw new Exception(error.Message);
            }
            finally
            {
                CloseConnection();
            }
        }
Esempio n. 2
0
        public ActionResult VendaOS(int id)
        {
            var daoOS        = new DAOOrdemServico();
            var os           = daoOS.GetOrdemServico(id);
            var listServicos = new List <Models.VendasOS.ServicosVM>();
            var listProdutos = new List <Models.VendasOS.ProdutosVM>();

            var model = new Models.VendasOS
            {
                Funcionario = new Select.Funcionarios.Select
                {
                    id   = os.Funcionario.id,
                    text = os.Funcionario.text
                },
                Cliente = new Select.Clientes.Select
                {
                    id   = os.Cliente.id,
                    text = os.Cliente.text
                },
                CondicaoPagamento = new Select.CondicaoPagamento.Select
                {
                    id       = os.CondicaoPagamento.id,
                    text     = os.CondicaoPagamento.text,
                    desconto = os.CondicaoPagamento.desconto,
                    multa    = os.CondicaoPagamento.multa,
                    txJuros  = os.CondicaoPagamento.txJuros
                }
            };

            model.codOrdemServico = id;
            model.codigo          = id;
            if (os.ServicosOS != null && os.ServicosOS.Any())
            {
                foreach (var item in os.ServicosOS)
                {
                    var servico = new Models.VendasOS.ServicosVM
                    {
                        codServico     = item.codServico,
                        nomeServico    = item.nomeServico,
                        codExecutante  = item.codExecutante,
                        nomeExecutante = item.nomeExecutante,
                        qtServico      = item.qtServico,
                        unidade        = item.unidade,
                        vlServico      = item.vlServico
                    };
                    listServicos.Add(servico);
                }
                model.ServicosOS = listServicos;
            }

            if (os.ProdutosOS != null && os.ProdutosOS.Any())
            {
                foreach (var item in os.ProdutosOS)
                {
                    var produto = new Models.VendasOS.ProdutosVM
                    {
                        codProduto  = item.codProduto,
                        nomeProduto = item.nomeProduto,
                        qtProduto   = item.qtProduto.GetValueOrDefault(),
                        txDesconto  = 0,
                        unidade     = item.unidade,
                        vlTotal     = item.qtProduto.GetValueOrDefault() * item.vlProduto.GetValueOrDefault(),
                        vlVenda     = item.vlProduto.GetValueOrDefault()
                    };
                    listProdutos.Add(produto);
                }
                model.ProdutosVenda         = listProdutos;
                model.CondicaoPagamentoDois = new Select.CondicaoPagamento.Select
                {
                    id       = os.CondicaoPagamento.id,
                    text     = os.CondicaoPagamento.text,
                    desconto = os.CondicaoPagamento.desconto,
                    multa    = os.CondicaoPagamento.multa,
                    txJuros  = os.CondicaoPagamento.txJuros
                };
            }

            return(View(model));
        }