コード例 #1
0
        // Add Command
        public async Task <ValidationResult> Handle(AddOrdemServicoCommand request, CancellationToken cancellationToken)
        {
            if (!request.IsValid())
            {
                return(request.ValidationResult);
            }

            var OrdemServico = new Models.OrdemServico(
                id: Guid.NewGuid(),
                numero: request.Numero,
                data: request.DataOrdem,
                pacienteId: request.PacienteId,
                convenioId: request.ConvenioId,
                postoId: request.PostoColetaId,
                medicoId: request.MedicoId);

            if (await _ordemServicoRepository.GetByNumber(request.Numero) != null)
            {
                AddError("Já existe ordem de serviço com esse número");
                return(ValidationResult);
            }

            OrdemServico.AddDomainEvent(new OrdemServicoAddedEvent(
                                            id: OrdemServico.Id,
                                            numero: OrdemServico.Numero,
                                            data: OrdemServico.DataOrdem,
                                            pacienteId: OrdemServico.PacienteId,
                                            convenioId: OrdemServico.ConvenioId,
                                            postoId: OrdemServico.PostoColetaId,
                                            medicoId: OrdemServico.MedicoId));

            _ordemServicoRepository.Add(OrdemServico);

            return(await Commit(_ordemServicoRepository.UnitOfWork));
        }
コード例 #2
0
 public ActionResult Edit(int id, Models.OrdemServico model)
 {
     if (model.dtValidade == null)
     {
         ModelState.AddModelError("dtValidade", "Informe a data de validade");
     }
     //if (model.dtValidade != null && model.dtValidade < DateTime.Now.AddDays(-1))
     //{
     //    ModelState.AddModelError("dtValidade", "A data de validade não pode ser menor que o dia de hoje");
     //}
     if (model.dtExecucao == null)
     {
         ModelState.AddModelError("dtExecucao", "Informe a data de execução");
     }
     if (model.dtValidade != null && model.dtExecucao != null)
     {
         if (model.dtExecucao < model.dtValidade)
         {
             ModelState.AddModelError("dtExecucao", "A data de execução não pode ser menor a data de validade ");
         }
     }
     if (model.Cliente.id == null)
     {
         ModelState.AddModelError("Cliente.id", "Informe o cliente");
     }
     if (model.Funcionario.id == null)
     {
         ModelState.AddModelError("Funcionario.id", "Informe o funcionário");
     }
     if (ModelState.IsValid)
     {
         try
         {
             var daoOS = new DAOOrdemServico();
             if (model.situacao != "F")
             {
                 daoOS.Update(model);
             }
             else
             {
                 return(RedirectToAction("VendaOS", "Vendas", new { id = id }));
             }
             this.AddFlashMessage(Util.AlertMessage.EDIT_SUCESS);
             return(RedirectToAction("Index"));
         }
         catch (Exception ex)
         {
             this.AddFlashMessage(ex.Message, FlashMessage.ERROR);
             return(View(model));
         }
     }
     else
     {
         return(View(model));
     }
 }
コード例 #3
0
ファイル: DAOOrdemServico.cs プロジェクト: heliossj/Sistema
        public bool Insert(Models.OrdemServico OS)
        {
            try
            {
                var sql = string.Format("INSERT INTO tbordemservicos ( situacao, dtabertura, dtvalidade, codcliente, codcondpagamento, observacao, codfuncionario, dtultalteracao, dtexecucao ) VALUES ('{0}', {1}, {2}, {3}, {4}, '{5}', {6}, {7}, {8} ); SELECT SCOPE_IDENTITY()",
                                        OS.situacao,
                                        this.FormatDateTime(DateTime.Now),
                                        this.FormatDate(OS.dtValidade),
                                        OS.Cliente.id,
                                        OS.CondicaoPagamento.id,
                                        this.FormatString(OS.observacao),
                                        OS.Funcionario.id,
                                        this.FormatDate(DateTime.Now),
                                        this.FormatDate(OS.dtExecucao)
                                        );
                string sqlServico = "INSERT INTO tbservicosos ( codordemservico, codservico, unidade, qtservico, vlservico, codexecutante) VALUES ({0}, {1}, '{2}', {3}, {4}, {5})";
                string sqlProduto = "INSERT INTO tbprodutosos ( codordemservico, codproduto, unidade, qtproduto, vlproduto) VALUES ({0}, {1}, '{2}', {3}, {4})";
                string sqlParcela = "INSERT INTO tbcontasreceber (codfornecedor, codforma, nrparcela, vlparcela, dtvencimento, situacao, codcompra) VALUES ({0}, {1}, {2}, {3}, {4}, '{5}', {6} )";
                using (con)
                {
                    OpenConnection();

                    SqlTransaction sqlTrans = con.BeginTransaction();
                    SqlCommand     command  = con.CreateCommand();
                    command.Transaction = sqlTrans;
                    try
                    {
                        command.CommandText = sql;
                        var codOS = Convert.ToInt32(command.ExecuteScalar());
                        foreach (var item in OS.ServicosOS)
                        {
                            var Servico = string.Format(sqlServico, codOS, item.codServico, this.FormatString(item.unidade), this.FormatDecimal(item.qtServico), this.FormatDecimal(item.vlServico), item.codExecutante);
                            command.CommandText = Servico;
                            command.ExecuteNonQuery();
                        }

                        foreach (var item in OS.ProdutosOS)
                        {
                            var produto = string.Format(sqlProduto, codOS, item.codProduto, this.FormatString(item.unidade), this.FormatDecimal(item.qtProduto), this.FormatDecimal(item.vlProduto));
                            command.CommandText = produto;
                            command.ExecuteNonQuery();
                        }

                        //if (OS.situacao == "T")
                        //se a situação for autorizada, aí gera as vendas e insere...
                        //if (OS.situacao == "T")

                        //foreach (var item in OS.ParcelasOS)
                        //{
                        //    var parcela = string.Format(sqlParcela, compra.Fornecedor.id, item.idFormaPagamento, item.nrParcela, this.FormatDecimal(item.vlParcela), this.FormatDate(item.dtVencimento), "P", codCompra);
                        //    command.CommandText = parcela;
                        //    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();
            }
        }
コード例 #4
0
ファイル: DAOOrdemServico.cs プロジェクト: heliossj/Sistema
        public OrdemServico GetOrdemServico(int codOrdemServico)
        {
            try
            {
                var model = new Models.OrdemServico();
                OpenConnection();
                var sql         = this.Search(codOrdemServico, null);
                var sqlServicos = this.SearchServicos(codOrdemServico);
                var sqlProdutos = this.SearchProdutos(codOrdemServico);
                var sqlParcelas = this.SearchParcelas(codOrdemServico);
                //var sqlParcelas = this.SearchParcelas(codOrdemServico);
                var listServicos = new List <OrdemServico.ServicosVM>();
                var listProdutos = new List <OrdemServico.ProdutosVM>();
                var listParcelas = new List <Shared.ParcelasVM>();

                //SqlQuery = new SqlCommand(sql + sqlProdutos + sqlParcelas, con);
                SqlQuery = new SqlCommand(sql + sqlServicos + sqlProdutos, con);
                reader   = SqlQuery.ExecuteReader();
                while (reader.Read())
                {
                    model.codigo         = Convert.ToInt32(reader["OrdemServico_ID"]);
                    model.situacao       = Convert.ToString(reader["OrdemServico_Situacao"]);
                    model.dtAbertura     = Convert.ToDateTime(reader["OrdemServico_DataAbertura"]);
                    model.dtValidade     = Convert.ToDateTime(reader["OrdemServico_DataValidade"]);
                    model.observacao     = Convert.ToString(reader["OrdemServco_Observacao"]);
                    model.dtUltAlteracao = Convert.ToDateTime(reader["OrdemServico_DataUltAlteracao"]);
                    model.dtExecucao     = Convert.ToDateTime(reader["OrdemServico_DataExecucao"]);
                    model.Cliente        = new Select.Clientes.Select
                    {
                        id   = Convert.ToInt32(reader["Cliente_ID"]),
                        text = Convert.ToString(reader["Cliente_Nome"])
                    };
                    model.Funcionario = new Select.Funcionarios.Select
                    {
                        id   = Convert.ToInt32(reader["Funcionario_ID"]),
                        text = Convert.ToString(reader["Funcionario_Nome"])
                    };
                    model.CondicaoPagamento = new Select.CondicaoPagamento.Select
                    {
                        id       = Convert.ToInt32(reader["CondicaoPagamento_ID"]),
                        text     = Convert.ToString(reader["CondicaoPagamento_Nome"]),
                        desconto = Convert.ToDecimal(reader["CondicaoPagamento_Desconto"]),
                        multa    = Convert.ToDecimal(reader["CondicaoPagamento_Multa"]),
                        txJuros  = Convert.ToDecimal(reader["CondicaoPagamento_Juros"])
                    };
                }
                ;

                if (reader.NextResult())
                {
                    while (reader.Read())
                    {
                        var servico = new OrdemServico.ServicosVM
                        {
                            codServico     = Convert.ToInt32(reader["Servico_ID"]),
                            nomeServico    = Convert.ToString(reader["Servico_Nome"]),
                            unidade        = Convert.ToString(reader["Servico_Unidade"]),
                            qtServico      = Convert.ToDecimal(reader["Servico_Quantidade"]),
                            vlServico      = Convert.ToDecimal(reader["Servico_Valor"]),
                            codExecutante  = Convert.ToInt32(reader["Servico_Executante_ID"]),
                            nomeExecutante = Convert.ToString(reader["Servico_Executante_Nome"])
                        };
                        listServicos.Add(servico);
                    }
                }

                if (reader.NextResult())
                {
                    while (reader.Read())
                    {
                        var produto = new OrdemServico.ProdutosVM
                        {
                            codProduto  = Convert.ToInt32(reader["Produto_ID"]),
                            nomeProduto = Convert.ToString(reader["Produto_Nome"]),
                            unidade     = Convert.ToString(reader["Produto_Unidade"]),
                            qtProduto   = Convert.ToDecimal(reader["Produto_Quantidade"]),
                            vlProduto   = Convert.ToDecimal(reader["Produto_Valor"])
                        };
                        listProdutos.Add(produto);
                    }
                }

                //if (reader.NextResult())
                //{
                //    while (reader.Read())
                //    {
                //        var parcela = new Shared.ParcelasVM
                //        {
                //            idFormaPagamento = Convert.ToInt32(reader["FormaPagamento_ID"]),
                //            nmFormaPagamento = Convert.ToString(reader["FormaPagamento_Nome"]),
                //            nrParcela = Convert.ToDouble(reader["ContaPagar_NrParcela"]),
                //            vlParcela = Convert.ToDecimal(reader["ContaPagar_VlParcela"]),
                //            dtVencimento = Convert.ToDateTime(reader["ContaPagar_DataVencimento"]),
                //            situacao = Util.FormatFlag.Situacao(Convert.ToString(reader["ContaPagar_Situacao"]))
                //        };
                //        listParcelas.Add(parcela);
                //    }
                //}

                model.ServicosOS = listServicos;
                model.ProdutosOS = listProdutos;
                //model.ParcelasOS = listParcelas;
                return(model);
            }
            catch (Exception error)
            {
                throw new Exception(error.Message);
            }
            finally
            {
                CloseConnection();
            }
        }
コード例 #5
0
ファイル: DAOOrdemServico.cs プロジェクト: heliossj/Sistema
        public bool Update(Models.OrdemServico OS)
        {
            try
            {
                var sql = "UPDATE tbordemservicos set situacao = '" + this.FormatString(OS.situacao) + "', " +
                          "observacao = '" + this.FormatString(OS.observacao) + "', " +
                          "dtultalteracao = " + this.FormatDate(DateTime.Now) + ", " +
                          "codcondpagamento = " + OS.CondicaoPagamento.id +

                          " WHERE codordemservico = " + OS.codigo;
                ;
                string sqlServico = "INSERT INTO tbservicosos ( codordemservico, codservico, unidade, qtservico, vlservico, codexecutante) VALUES ({0}, {1}, '{2}', {3}, {4}, {5})";
                string sqlProduto = "INSERT INTO tbprodutosos ( codordemservico, codproduto, unidade, qtproduto, vlproduto) VALUES ({0}, {1}, '{2}', {3}, {4})";
                //aqui não vai existir venda
                string sqlParcela = "INSERT INTO tbcontasreceber (codfornecedor, codforma, nrparcela, vlparcela, dtvencimento, situacao, codcompra) VALUES ({0}, {1}, {2}, {3}, {4}, '{5}', {6} )";
                using (con)
                {
                    OpenConnection();

                    SqlTransaction sqlTrans = con.BeginTransaction();
                    SqlCommand     command  = con.CreateCommand();
                    command.Transaction = sqlTrans;
                    try
                    {
                        command.CommandText = sql;
                        command.ExecuteNonQuery();

                        var removeServicos = "DELETE FROM tbservicosos WHERE codordemservico = " + OS.codigo;
                        command.CommandText = removeServicos;
                        command.ExecuteNonQuery();
                        foreach (var item in OS.ServicosOS)
                        {
                            var Servico = string.Format(sqlServico, OS.codigo, item.codServico, this.FormatString(item.unidade), this.FormatDecimal(item.qtServico), this.FormatDecimal(item.vlServico), item.codExecutante);
                            command.CommandText = Servico;
                            command.ExecuteNonQuery();
                        }

                        var removeProdutos = "DELETE FROM tbprodutosos WHERE codordemservico = " + OS.codigo;
                        command.CommandText = removeProdutos;
                        command.ExecuteNonQuery();
                        foreach (var item in OS.ProdutosOS)
                        {
                            var produto = string.Format(sqlProduto, OS.codigo, item.codProduto, this.FormatString(item.unidade), this.FormatDecimal(item.qtProduto), this.FormatDecimal(item.vlProduto));
                            command.CommandText = produto;
                            command.ExecuteNonQuery();
                        }

                        //if (OS.situacao == "T")
                        //se a situação for autorizada, aí gera as vendas e insere...
                        //if (OS.situacao == "T")

                        //foreach (var item in OS.ParcelasOS)
                        //{
                        //    var parcela = string.Format(sqlParcela, compra.Fornecedor.id, item.idFormaPagamento, item.nrParcela, this.FormatDecimal(item.vlParcela), this.FormatDate(item.dtVencimento), "P", codCompra);
                        //    command.CommandText = parcela;
                        //    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();
            }
        }