Ejemplo n.º 1
0
        public async Task <ActionResult <Contrato_plan_pagos> > Cuota_a_Pagar(int _NumeroCuotas, Int64 _ContratoId)
        {
            Contrato_plan_pagos Items = new Contrato_plan_pagos();

            try
            {
                Int32 PCuota = Int32.Parse(_context.Contrato_plan_pagos.Where(q => q.ContratoId == _ContratoId && q.Estadocuota == 0).Select(a => a.Nro_cuota).OrderBy(a => a).First().ToString());
                try
                {
                    for (int i = PCuota; i <= PCuota + (_NumeroCuotas - 1); i++)
                    {
                        Items.Valorcapital   = Items.Valorcapital + double.Parse(_context.Contrato_plan_pagos.Where(q => q.ContratoId == _ContratoId && q.Nro_cuota == i).Select(a => a.Valorcapital).ToString());
                        Items.Valorintereses = Items.Valorintereses + double.Parse(_context.Contrato_plan_pagos.Where(q => q.ContratoId == _ContratoId && q.Nro_cuota == i).Select(a => a.Valorintereses).ToString());
                    }
                }
                catch (Exception ex)
                {
                    _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                    return(BadRequest($"Ocurrio un error:{ex.Message}"));
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(await Task.Run(() => Ok(Items)));
        }
Ejemplo n.º 2
0
        public async Task <ActionResult <Contrato_plan_pagos> > Update([FromBody] Contrato_plan_pagos _Contrato_plan_pagos)
        {
            Contrato_plan_pagos _Contrato_plan_pagosq = _Contrato_plan_pagos;

            try
            {
                using (var transaction = _context.Database.BeginTransaction())
                {
                    try
                    {
                        _Contrato_plan_pagosq = await(from c in _context.Contrato_plan_pagos
                                                      .Where(q => q.Nro_cuota == _Contrato_plan_pagos.Nro_cuota)
                                                      select c
                                                      ).FirstOrDefaultAsync();

                        _context.Entry(_Contrato_plan_pagosq).CurrentValues.SetValues((_Contrato_plan_pagos));

                        //_context.Contrato_plan_pagos.Update(_Contrato_plan_pagosq);
                        await _context.SaveChangesAsync();

                        BitacoraWrite _write = new BitacoraWrite(_context, new Bitacora
                        {
                            IdOperacion  = _Contrato_plan_pagos.Nro_cuota,
                            DocType      = "Contrato_plan_pagos",
                            ClaseInicial =
                                Newtonsoft.Json.JsonConvert.SerializeObject(_Contrato_plan_pagosq, new JsonSerializerSettings {
                                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                            }),
                            ResultadoSerializado = Newtonsoft.Json.JsonConvert.SerializeObject(_Contrato_plan_pagos, new JsonSerializerSettings {
                                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                            }),
                            Accion              = "Actualizar",
                            FechaCreacion       = DateTime.Now,
                            FechaModificacion   = DateTime.Now,
                            UsuarioCreacion     = _Contrato_plan_pagos.UsuarioCreacion,
                            UsuarioModificacion = _Contrato_plan_pagos.UsuarioModificacion,
                            UsuarioEjecucion    = _Contrato_plan_pagos.UsuarioModificacion,
                        });

                        await _context.SaveChangesAsync();

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                        throw ex;
                        // return BadRequest($"Ocurrio un error:{ex.Message}");
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                return(await Task.Run(() => BadRequest($"Ocurrio un error:{ex.Message}")));
            }

            return(await Task.Run(() => Ok(_Contrato_plan_pagosq)));
        }
Ejemplo n.º 3
0
        public async Task <ActionResult <Contrato_plan_pagos> > GetContrato_plan_pagosById(Int64 Contrato_plan_pagosId)
        {
            Contrato_plan_pagos Items = new Contrato_plan_pagos();

            try
            {
                Items = await _context.Contrato_plan_pagos.Where(q => q.Nro_cuota == Contrato_plan_pagosId).FirstOrDefaultAsync();
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                return(BadRequest($"Ocurrio un error:{ex.Message}"));
            }


            return(await Task.Run(() => Ok(Items)));
        }
Ejemplo n.º 4
0
        public async Task <ActionResult <Contrato_plan_pagos> > AplicaPago(int _NumeroCuotas, Int64 _ContratoId, double _MontoPagado, string _Usuario)
        {
            Contrato_plan_pagos Items = new Contrato_plan_pagos();

            try
            {
                Int32  PCuota = Int32.Parse(_context.Contrato_plan_pagos.Where(q => q.ContratoId == _ContratoId && q.Estadocuota == 0).Select(a => a.Nro_cuota).OrderBy(a => a).First().ToString());
                double VCuota = double.Parse(_context.Contrato.Where(q => q.ContratoId == _ContratoId).Select(a => a.Valor_cuota).First().ToString());

                try
                {
                    for (int i = PCuota; i <= PCuota + (_NumeroCuotas - 1); i++)
                    {
                        Items = (from c in _context.Contrato_plan_pagos
                                 .Where(q => q.Nro_cuota == PCuota && q.ContratoId == _ContratoId)
                                 select c
                                 ).FirstOrDefault();
                        if (_MontoPagado < VCuota)
                        {
                            Items.Estadocuota = 1;
                            Items.Valorpagado = _MontoPagado;
                        }
                        else
                        {
                            Items.Estadocuota = 2;
                            Items.Valorpagado = VCuota;
                            _MontoPagado     -= VCuota;
                        }
                        Items.Fechapago           = DateTime.Now;
                        Items.UsuarioModificacion = _Usuario;
                        await Update(Items);
                    }
                }
                catch (Exception ex)
                {
                    _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                    return(await Task.Run(() => BadRequest($"Ocurrio un error:{ex.Message}")));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                return(await Task.Run(() => BadRequest($"Ocurrio un error:{ex.Message}")));
            }
            return(new EmptyResult());
        }
Ejemplo n.º 5
0
        public async Task <ActionResult <Contrato_plan_pagos> > Delete([FromBody] Contrato_plan_pagos _Contrato_plan_pagos)
        {
            Contrato_plan_pagos _Contrato_plan_pagosq = new Contrato_plan_pagos();

            try
            {
                _Contrato_plan_pagosq = _context.Contrato_plan_pagos
                                        .Where(x => x.Nro_cuota == (Int64)_Contrato_plan_pagos.Nro_cuota)
                                        .FirstOrDefault();

                _context.Contrato_plan_pagos.Remove(_Contrato_plan_pagosq);
                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                return(await Task.Run(() => BadRequest($"Ocurrio un error:{ex.Message}")));
            }

            return(await Task.Run(() => Ok(_Contrato_plan_pagosq)));
        }
Ejemplo n.º 6
0
        public async Task <IActionResult> GetContratoPendientesAndPagadosByCustomerId(Int64 CustomerId)
        {
            List <Contrato>     Items         = new List <Contrato>();
            Contrato            Item          = new Contrato();
            Contrato_plan_pagos ItemPlanPagos = new Contrato_plan_pagos();

            try
            {
                var ContratoPedientesAndPagados = "";
                ContratoPedientesAndPagados =
                    $"SELECT cont.ContratoId as IDContrato, cont.[Fecha] as Fecha, cont.[TotalContrato] as TotalContrato, cont.[ValorPrima] as ValorPrima, cont.[Plazo] as Plazo, cont.[ValorCuota] as ValorCuota," +
                    $"cont.[Fecha_de_vencimiento] as FechaVencimiento, cont.[SinFinaciar] as SinFinaciar, cont.[ValorContado] as ValorContado, cont.[SaldoCredito] as SaldoCredito, [Contrato_plan_pagos].[Fechacuota] as FechaCuota, " +
                    $"IsNull([Contrato_plan_pagos].[Contrato_movimientosId], 0) as ContratoMovimiento, cont.[NombreEstado] as Estado " +
                    $"FROM [dbo].[Contrato] as Cont INNER JOIN [dbo].[Contrato_plan_pagos] ON cont.[ContratoId] = [Contrato_plan_pagos].[ContratoId] " +
                    $"WHERE cont.[CustomerId] = '{CustomerId}' AND [Contrato_plan_pagos].[Nro_cuota] IN (SELECT TOP(1)[Contrato_plan_pagos].[Nro_cuota] AS NRO " +
                    $"																				FROM [dbo].[Contrato_plan_pagos] "+
                    $"																				WHERE [Contrato_plan_pagos].ContratoId IN (cont.[ContratoId]) "+
                    $"																				GROUP BY [Contrato_plan_pagos].[ContratoId], [Contrato_plan_pagos].[Nro_cuota], [Contrato_plan_pagos].[Fechacuota] "+
                    $"																				ORDER BY [Contrato_plan_pagos].[Fechacuota] DESC) ";

                using (var dr = await _context.Database.ExecuteSqlQueryAsync(ContratoPedientesAndPagados))
                {
                    var reader = dr.DbDataReader;
                    while (reader.Read())
                    {
                        var Index = 0;
                        for (int i = 0; i < reader.FieldCount; i++)
                        {
                            Item.FechaModificacion               = DateTime.Now;
                            Item.ContratoId                      = Convert.ToInt64(reader[Index]);
                            Item.Fecha                           = Convert.ToDateTime(reader[Index + 1]);
                            Item.TotalContrato                   = Convert.ToDouble(reader[Index + 2]);
                            Item.ValorPrima                      = Convert.ToDouble(reader[Index + 3]);
                            Item.Plazo                           = Convert.ToInt32(reader[Index + 4]);
                            Item.ValorCuota                      = Convert.ToDouble(reader[Index + 5]);
                            Item.Fecha_de_vencimiento            = Convert.ToDateTime(reader[Index + 6]);
                            Item.SinFinaciar                     = Convert.ToDouble(reader[Index + 7]);
                            Item.ValorContado                    = Convert.ToDouble(reader[Index + 8]);
                            Item.SaldoCredito                    = Convert.ToDouble(reader[Index + 9]);
                            ItemPlanPagos.ContratoId             = Convert.ToInt64(reader[Index]);
                            ItemPlanPagos.Fechacuota             = Convert.ToDateTime(reader[Index + 10]);
                            ItemPlanPagos.Contrato_movimientosId = Convert.ToInt32(reader[Index + 11]);
                            Item.NombreEstado                    = Convert.ToString(reader[Index + 12]);
                            break;
                        }
                        Items.Add(new Contrato()
                        {
                            ContratoId    = Item.ContratoId, Fecha = Item.Fecha, TotalContrato = Item.TotalContrato, Plazo = Item.Plazo, ValorPrima = Item.ValorPrima
                            , ValorCuota  = Item.ValorCuota, Fecha_de_vencimiento = Item.Fecha_de_vencimiento, FechaModificacion = Item.FechaModificacion
                            , SinFinaciar = Item.SinFinaciar, ValorContado = Item.ValorContado, SaldoCredito = Item.SaldoCredito, NombreEstado = Item.NombreEstado
                        });
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                return(BadRequest($"Ocurrio un error:{ex.Message}"));
            }
            return(await Task.Run(() => Ok(Items)));
        }
Ejemplo n.º 7
0
        public async Task <ActionResult <Contrato> > InsertConsolidado([FromBody] ContratoDTO _Contrato)
        {
            Contrato _Contratoq = new Contrato();

            try
            {
                using (var transaction = _context.Database.BeginTransaction())
                {
                    try
                    {
                        _Contratoq = _Contrato.Contrato;
                        _context.Contrato.Add(_Contratoq);
                        await _context.SaveChangesAsync();

                        BitacoraWrite _write = new BitacoraWrite(_context, new Bitacora
                        {
                            IdOperacion  = _Contratoq.ContratoId,
                            DocType      = "Contrato",
                            ClaseInicial =
                                Newtonsoft.Json.JsonConvert.SerializeObject(_Contratoq, new JsonSerializerSettings {
                                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                            }),
                            Accion              = "Insertar",
                            FechaCreacion       = DateTime.Now,
                            FechaModificacion   = DateTime.Now,
                            UsuarioCreacion     = _Contratoq.UsuarioCreacion,
                            UsuarioModificacion = _Contratoq.UsuarioModificacion,
                            UsuarioEjecucion    = _Contratoq.UsuarioModificacion,
                        });

                        await _context.SaveChangesAsync();


                        Contrato_detalle _contratodetalle = new Contrato_detalle();
                        foreach (Contrato_detalle _cd in _Contratoq.Contrato_detalle)
                        {
                            _contratodetalle          = _cd;
                            _contratodetalle.Contrato = _Contratoq;
                            _context.Contrato_detalle.Add(_contratodetalle);
                            await _context.SaveChangesAsync();

                            _write = new BitacoraWrite(_context, new Bitacora
                            {
                                IdOperacion  = _contratodetalle.Contrato_detalleId,
                                DocType      = "Contrato_detalle",
                                ClaseInicial =
                                    Newtonsoft.Json.JsonConvert.SerializeObject(_contratodetalle, new JsonSerializerSettings {
                                    ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                                }),
                                Accion              = "Insertar",
                                FechaCreacion       = DateTime.Now,
                                FechaModificacion   = DateTime.Now,
                                UsuarioCreacion     = _contratodetalle.UsuarioCreacion,
                                UsuarioModificacion = _contratodetalle.UsuarioModificacion,
                                UsuarioEjecucion    = _contratodetalle.UsuarioModificacion,
                            });

                            await _context.SaveChangesAsync();
                        }

                        Contrato_plan_pagos _Contrato_plan_pagosq = new Contrato_plan_pagos();

                        foreach (Contrato_plan_pagos _cpp in _Contratoq.Contrato_plan_pagos)
                        {
                            _Contrato_plan_pagosq          = _cpp;
                            _Contrato_plan_pagosq.Contrato = _Contratoq;
                            _context.Contrato_plan_pagos.Add(_Contrato_plan_pagosq);
                            await _context.SaveChangesAsync();

                            _write = new BitacoraWrite(_context, new Bitacora
                            {
                                IdOperacion  = _Contrato_plan_pagosq.Nro_cuota,
                                DocType      = "Contrato_plan_pagos",
                                ClaseInicial =
                                    Newtonsoft.Json.JsonConvert.SerializeObject(_Contrato_plan_pagosq, new JsonSerializerSettings {
                                    ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                                }),
                                Accion              = "Insertar",
                                FechaCreacion       = DateTime.Now,
                                FechaModificacion   = DateTime.Now,
                                UsuarioCreacion     = _Contrato_plan_pagosq.UsuarioCreacion,
                                UsuarioModificacion = _Contrato_plan_pagosq.UsuarioModificacion,
                                UsuarioEjecucion    = _Contrato_plan_pagosq.UsuarioModificacion,
                            });
                        }

                        await _context.SaveChangesAsync();

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                        throw ex;
                        // return BadRequest($"Ocurrio un error:{ex.Message}");
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                return(BadRequest($"Ocurrio un error:{ex.Message}"));
            }

            return(await Task.Run(() => Ok(_Contratoq)));
        }
Ejemplo n.º 8
0
        public async Task <ActionResult <Contrato> > Insert([FromBody] Contrato _Contrato)
        {
            Contrato _Contratoq = _Contrato;

            try
            {
                using (var transaction = _context.Database.BeginTransaction())
                {
                    try
                    {
                        _context.Contrato.Add(_Contratoq);
                        foreach (var item in _Contrato.Contrato_detalle)
                        {
                            item.ContratoId = _Contrato.ContratoId;
                            _context.Contrato_detalle.Add(item);
                        }
                        await _context.SaveChangesAsync();

                        //Para agregar plan de pago
                        var plazo = _Contratoq.Plazo;
                        if (plazo > 0)
                        {
                            for (var i = 1; i <= plazo; i++)
                            {
                                var plan = new Contrato_plan_pagos();
                                plan.ContratoId          = _Contratoq.ContratoId;
                                plan.Fechacuota          = DateTime.Now.AddMonths(i);
                                plan.Valorcapital        = 0;
                                plan.Valorintereses      = 0;
                                plan.Valorseguros        = 0;
                                plan.Interesesmoratorios = 0;
                                plan.Valorotroscargos    = 0;
                                plan.Estadocuota         = 0;
                                plan.Valorpagado         = 0;
                                plan.Fechapago           = DateTime.Now.AddMonths(i).AddDays(2);
                                plan.Recibopago          = "ninguno";
                                plan.UsuarioCreacion     = "user";
                                plan.UsuarioModificacion = "user";
                                plan.CreatedDate         = DateTime.Now;
                                plan.ModifiedDate        = DateTime.Now;
                                _context.Contrato_plan_pagos.Add(plan);
                                await _context.SaveChangesAsync();
                            }
                        }
                        BitacoraWrite _write = new BitacoraWrite(_context, new Bitacora
                        {
                            IdOperacion = _Contratoq.ContratoId,
                            DocType     = "Contrato",

                            ClaseInicial =
                                Newtonsoft.Json.JsonConvert.SerializeObject(_Contrato, new JsonSerializerSettings {
                                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                            }),
                            ResultadoSerializado = Newtonsoft.Json.JsonConvert.SerializeObject(_Contratoq, new JsonSerializerSettings {
                                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                            }),
                            Accion              = "Insertar",
                            FechaCreacion       = DateTime.Now,
                            FechaModificacion   = DateTime.Now,
                            UsuarioCreacion     = _Contratoq.UsuarioCreacion,
                            UsuarioModificacion = _Contratoq.UsuarioModificacion,
                            UsuarioEjecucion    = _Contratoq.UsuarioModificacion,
                        });
                        await _context.SaveChangesAsync();

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                return(BadRequest($"Ocurrio un error:{ex.Message}"));
            }



            return(await Task.Run(() => Ok(_Contratoq)));
        }