public ContratoParcela Get(int id) { var command = CreateCommand("SELECT * FROM public.ContratoParcela WHERE idContratoParcela = @id"); command.Parameters.AddWithValue("@id", id); ContratoParcela contrato = null; using (var reader = command.ExecuteReader()) { reader.Read(); if (reader.HasRows) { contrato = new ContratoParcela { Id = Convert.ToInt32(reader["idContratoParcela"]), dataVencimento = Convert.ToDateTime(reader["dataVencimento"]), valorParcela = Convert.ToDecimal(reader["valorParcela"]), numParcela = Convert.ToInt32(reader["numParcela"]), idContrato = Convert.ToInt32(reader["fk_IdContrato"]), situacao = Convert.ToInt32(reader["situacao"]), comissao = Convert.ToDecimal(reader["comissao"]) }; } else { return(null); } } contrato.pagamentos = (List <ContratoParcelaPagamento>) new ContratoParcelaPagamentoRepositorio(this._context, this._transaction).GetByContratoParcela(contrato.Id); return(contrato); }
public void Create(ContratoParcela contParc) { var query = "INSERT INTO public.ContratoParcela(numParcela, valorParcela, dataVencimento, situacao, comissao, fk_IdContrato) " + "VALUES (@numParcela, @valorParcela, @dataVencimento, @situacao, @comissao, @fk_IdContrato)"; var command = CreateCommand(query); command.Parameters.AddWithValue("@numParcela", contParc.numParcela); command.Parameters.AddWithValue("@valorParcela", contParc.valorParcela); command.Parameters.AddWithValue("@dataVencimento", contParc.dataVencimento); command.Parameters.AddWithValue("@situacao", contParc.situacao); command.Parameters.AddWithValue("@comissao", contParc.comissao); command.Parameters.AddWithValue("@fk_IdContrato", contParc.idContrato); command.ExecuteNonQuery(); query = "select currval('contratoparcela_idcontratoparcela_seq') as newId"; command = CreateCommand(query); using (var reader = command.ExecuteReader()) { reader.Read(); if (reader.HasRows) { contParc.Id = Convert.ToInt32(reader["newId"]); } } }
static void Main(string[] args) { Console.WriteLine("Entre com os dados do CONTRATO "); Console.Write("Numero: "); int numContrato = int.Parse(Console.ReadLine()); Console.Write("Data do contrato (dd/MM/yyyy): "); DateTime dtContrato = DateTime.ParseExact(Console.ReadLine(), "dd/MM/yyyy", CultureInfo.InvariantCulture); Console.Write("Valor total do contrato: "); double valContrato = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture); Console.Write("Informe a quantidade de parcelas: "); int parcela = int.Parse(Console.ReadLine()); Contrato myContrato = new Contrato(numContrato, dtContrato, valContrato); ContratoParcela contratoParcela = new ContratoParcela(new Paypal()); contratoParcela.ProcessaContrato(myContrato, parcela); Console.WriteLine("Parcelas:"); foreach (Parcela install in myContrato.Parcelas) { Console.WriteLine(install); } }
public void Update(ContratoParcela contParc) { using (var context = _unitOfWork.Create()) { context.Repositorios.ContratoParcelaRepositorio.Update(contParc); context.SaveChanges(); } }
public IActionResult CadastrarContratoParcela([FromBody] ContratoParcela contParc) { if (contParc == null) { return(BadRequest()); } _contParcService.Create(contParc); return(CreatedAtRoute("GetContratoParcela", new { id = contParc.Id }, contParc)); }
public void Update(ContratoParcela contParc) { var query = "UPDATE public.ContratoParcela SET numParcela = @numParcela, valorParcela = @valorParcela, dataVencimento = @dataVencimento, " + "situacao = @situacao, comissao = @comissao, fk_IdContrato = @fk_IdContrato WHERE idContratoParcela = @id"; var command = CreateCommand(query); command.Parameters.AddWithValue("@numParcela", contParc.numParcela); command.Parameters.AddWithValue("@valorParcela", contParc.valorParcela); command.Parameters.AddWithValue("@dataVencimento", contParc.dataVencimento); command.Parameters.AddWithValue("@situacao", contParc.situacao); command.Parameters.AddWithValue("@comissao", contParc.comissao); command.Parameters.AddWithValue("@fk_IdContrato", contParc.idContrato); command.Parameters.AddWithValue("@id", contParc.Id); command.ExecuteNonQuery(); }
public IActionResult EditarContratoParcela(int id, [FromBody] ContratoParcela contParc) { _contParcService.Update(contParc); return(new NoContentResult()); }
public void GerarParcelas(Contrato Contrato, int diaVencimentoDemais, bool isPrimeiraVigencia) { var parcelasContrato = new ContratoParcelaRepositorio(this._context, this._transaction).GetByContrato(Contrato.Id).ToList(); if (parcelasContrato.Count > 0) { foreach (var parc in parcelasContrato) { new ContratoParcelaRepositorio(this._context, this._transaction).Remove(parc.Id); } } var servicos = (List <ContratoServico>) new ContratoServicoRepositorio(this._context, this._transaction).GetByContrato(Contrato.Id); if (servicos == null || servicos.Count == 0) { return; } else if (Contrato.numParcelas == 0) { throw new AppError("É necessário informar o número de parcelas"); } DateTime dataPrimeira = DateTime.Today; DateTime dataSegunda = DateTime.Today; decimal valorParc = servicos.Sum(s => s.valorTotal) / Contrato.numParcelas; if (valorParc == 0) { throw new AppError("Os serviços prestados a esse contrato não possuem valor"); } valorParc = Math.Round(valorParc, 2); if (diaVencimentoDemais == 0) { dataPrimeira = Contrato.dataInicio; } else { if (isPrimeiraVigencia) { dataPrimeira = Contrato.dataInicio; if (diaVencimentoDemais != 0) { if (diaVencimentoDemais < Contrato.dataInicio.Day) { //Mês seguinte var dataFinal = Contrato.dataInicio.AddMonths(1); dataSegunda = Convert.ToDateTime($"{diaVencimentoDemais}/{dataFinal.Month}/{dataFinal.Year}"); } else { dataSegunda = Convert.ToDateTime($"{diaVencimentoDemais}/{Contrato.dataInicio.Month}/{Contrato.dataInicio.Year}"); } } } else { if (diaVencimentoDemais < Contrato.dataInicio.Day) { //Mês seguinte var dataFinal = Contrato.dataInicio.AddMonths(1); dataPrimeira = Convert.ToDateTime($"{diaVencimentoDemais}/{dataFinal.Month}/{dataFinal.Year}"); dataSegunda = dataPrimeira; } else { dataPrimeira = Convert.ToDateTime($"{diaVencimentoDemais}/{Contrato.dataInicio.Month}/{Contrato.dataInicio.Year}"); dataSegunda = dataPrimeira; } } } List <ContratoParcela> parcelas = new List <ContratoParcela>(); for (int i = 0; i < Contrato.numParcelas; i++) { ContratoParcela parc = new ContratoParcela(); parc.idContrato = Contrato.Id; parc.numParcela = i + 1; parc.valorParcela = valorParc; parc.dataVencimento = (i == 0) ? dataPrimeira : (diaVencimentoDemais == 0) ? dataPrimeira.AddMonths(i) : dataSegunda.AddMonths(i); parc.situacao = 1; //parc.comissao = valorParc * (Contrato.vendedor.percComis / 100); parc.comissao = 0; parcelas.Add(parc); } var soma = parcelas.Sum(p => p.valorParcela); decimal dif = 0; dif = servicos.Sum(s => s.valorTotal) - soma; if (dif > 0) { parcelas.Last().valorParcela = parcelas.Last().valorParcela + dif; } foreach (var parc in parcelas) { new ContratoParcelaRepositorio(this._context, this._transaction).Create(parc); } }