Ejemplo n.º 1
0
        public int ObtenerIdPersonaPorReferencia(EntidadCreditoBase EntidadCredito)
        {
            var resultado = from c in esquema.PLD_PERSONA
                            where c.Equivalencia == EntidadCredito.equivalencia
                            select c.idPersona;

            return(resultado.FirstOrDefault());
        }
Ejemplo n.º 2
0
        public List <ResponseEstadoCuenta> Proceso(RequestEstadoCuenta request)
        {
            List <ResponseEstadoCuenta> responseList   = new List <ResponseEstadoCuenta>();
            EntidadCreditoBase          entidadCredito = new EntidadCreditoBase();
            ResponseEstadoCuenta        Listresponse   = new ResponseEstadoCuenta();

            entidadCredito.equivalencia = request.equivalencia;

            entidadCredito.Idcliente = _consultasCredito.ObtenerIdPersonaPorReferencia(entidadCredito);

            var EstadoDecuenta = _consultasEstadoDeCuenta.ObtenerEstadoDeCuenta(entidadCredito);

            entidadCredito.Nombre   = _consultasEstadoDeCuenta.ObtenerNombreCliente(entidadCredito);
            entidadCredito.contrato = _consultasEstadoDeCuenta.ObtenerContrato(entidadCredito);

            foreach (var item in EstadoDecuenta)
            {
                InnerEstadoCuenta innerResponse = new InnerEstadoCuenta();
                innerResponse.MontonLinea       = _consultasEstadoDeCuenta.ObtenerMontoLinea(entidadCredito);
                innerResponse.SaldoalCorte      = _consultasEstadoDeCuenta.saldoalcorte(item.idCredito);
                innerResponse.CreditoDisponible = _consultasEstadoDeCuenta.CreditoDisponible(entidadCredito.Idcliente);
                innerResponse.SaldoInicial      = _consultasEstadoDeCuenta.SaldoInicialConFecha(item.idCredito, request.FechaInicio, request.FechaFin);
                innerResponse.SaldoFinal        = _consultasEstadoDeCuenta.SaldoFinalConFecha(item.idCredito, request.FechaInicio, request.FechaFin);

                Listresponse.EstadosCuentas.Add(innerResponse);
            }

            Listresponse.IdCliente     = entidadCredito.Idcliente;
            Listresponse.NombreCliente = entidadCredito.Nombre;
            Listresponse.Contrato      = entidadCredito.contrato;
            Listresponse.FechaInicio   = request.FechaInicio;
            Listresponse.FechaFin      = request.FechaFin;

            responseList.Add(Listresponse);

            entidadCredito.dtcreditos = new DataTable();
            entidadCredito.dtcreditos.Columns.Add("Monto En Linea");
            entidadCredito.dtcreditos.Columns.Add("Saldo Al Corte");
            entidadCredito.dtcreditos.Columns.Add("Credito Disponible");
            entidadCredito.dtcreditos.Columns.Add("Saldo Inicial");
            entidadCredito.dtcreditos.Columns.Add("Saldo Final");

            foreach (var item in Listresponse.EstadosCuentas)
            {
                entidadCredito.dtcreditos.Rows.Add
                (
                    item.MontonLinea,
                    item.SaldoalCorte,
                    item.CreditoDisponible,
                    item.SaldoInicial,
                    item.SaldoFinal
                );
            }

            _envioestadocuenta.EnviarEstadoCuentaPorCliente(entidadCredito);

            return(responseList);
        }
        public List <CRE_CREDITO> MinistracionesPorLinea(EntidadCreditoBase EntidadCredito)
        {
            var ListaMinistracion = from LM in esquema.CRE_CREDITO
                                    where LM.idLinea == EntidadCredito.NLinea && LM.idPersonaSolicitante == EntidadCredito.idpersona &&
                                    LM.idEstadoCredito == 7 && LM.idEstado == 1
                                    select LM;

            return(ListaMinistracion.ToList());
        }
        public string ObtenerContrato(EntidadCreditoBase EntidadCredito)
        {
            var contrato = from NL in esquema.CRE_CREDITO
                           where NL.idPersonaSolicitante == EntidadCredito.idpersona &&
                           NL.idEstadoCredito == 4 && NL.idTipoRegistro == 3 &&
                           NL.idEstado == 1
                           select NL.Contrato;

            return(contrato.FirstOrDefault());
        }
Ejemplo n.º 5
0
        public List <CRE_CREDITO> CreditosPorReferencia(EntidadCreditoBase EntidadCredito)
        {
            var idPersona = ObtenerIdPersonaPorReferencia(EntidadCredito);

            var creditos = from d in esquema.CRE_CREDITO
                           where d.idPersonaSolicitante == idPersona &&
                           (d.idTipoRegistro == 4) && (d.idEstadoCredito == 7)
                           select d;

            return(creditos.ToList());
        }
        public string ObtenerNombreCliente(EntidadCreditoBase EntidadCredito)
        {
            ConsultasCreditos consultascredito = new ConsultasCreditos();
            var idPersona = consultascredito.ObtenerIdPersonaPorReferencia(EntidadCredito);

            var nombrecliente = from c in esquema.PLD_PERSONA
                                where c.idPersona == idPersona
                                select c.Nombre_Completo;

            return(nombrecliente.FirstOrDefault());
        }
Ejemplo n.º 7
0
        public List <string> ObtenerInformacionCliente(EntidadCreditoBase entidad)
        {
            List <string> lsresultante = new List <string>();
            var           resultado    = from c in esquema.CRE_CREDITO
                                         where c.idPersonaSolicitante == entidad.idpersona &&
                                         c.idEstadoCredito == 4 && c.idTipoRegistro == 3 && c.idEstado == 1
                                         select new { c.Contrato, c.FechaVencimiento };

            lsresultante.Add(resultado.ToList()[0].Contrato);
            lsresultante.Add(resultado.ToList()[0].FechaVencimiento.ToString());

            return(lsresultante);
        }
        public decimal ObtenerMontoLinea(EntidadCreditoBase EntidadCredito)
        {
            var lineas = from l in esquema.CRE_CREDITO
                         where l.idPersonaSolicitante == EntidadCredito.idpersona && l.idEstadoCredito == 4 &&
                         l.idTipoRegistro == 3 && l.idEstado == 1
                         select l;
            decimal Monto = 0;

            foreach (var item in lineas)
            {
                Monto = item.Monto.Value;
            }

            return(Monto);
        }
Ejemplo n.º 9
0
        public decimal ConsultasCreCreditoConcepto(EntidadCreditoBase EntidadCredito)
        {
            var MontoDispuesto = (from c in esquema.CRE_CREDITO_CONCEPTO
                                  where c.IdCredito == EntidadCredito.credito
                                  select c.Saldo).Sum();

            if (MontoDispuesto.Equals(null))
            {
                return(0);
            }
            else
            {
                return(MontoDispuesto.Value);
            }
        }
Ejemplo n.º 10
0
        public int ObtenerLineas(EntidadCreditoBase EntidadCredito)
        {
            var NumeroLinea = from NL in esquema.CRE_CREDITO
                              where NL.idPersonaSolicitante == EntidadCredito.idpersona &&
                              NL.idEstadoCredito == 4 && NL.idTipoRegistro == 3 &&
                              NL.idEstado == 1
                              select NL;
            int idlinea = 0;

            foreach (var item in NumeroLinea)
            {
                idlinea = item.idLinea.Value;
            }

            return(idlinea);
        }
Ejemplo n.º 11
0
        public List <ResponseMovimientosCliente> Proceso(RequestMovimientosCliente request)
        {
            EntidadCreditoBase entidad = new EntidadCreditoBase();

            List <ResponseMovimientosCliente> responseList = new List <ResponseMovimientosCliente>();

            ResponseMovimientosCliente Listresponse = new ResponseMovimientosCliente();

            Listresponse.Movimientos = new List <InnerMovimientosCliente>();

            entidad.equivalencia = request.equivalencia;

            entidad.idpersona = _consultasCredito.ObtenerIdPersonaPorReferencia(entidad);

            entidad.NLinea = _consultasEstadoDeCuenta.ObtenerLineas(entidad);

            var ministraciones = _consultasEstadoDeCuenta.MinistracionesPorLinea(entidad);

            var listaconceptos = _consultasmovimientos.ObtenerMovimientosAbonos(ministraciones);

            foreach (var item in listaconceptos)
            {
                InnerMovimientosCliente innerResponse = new InnerMovimientosCliente();
                entidad.credito = item;

                innerResponse.idCredito   = item;
                innerResponse.Capital     = _consultasmovimientos.ObtenerDatosCrecredito(item, 2);
                innerResponse.Interes     = _consultasmovimientos.ObtenerDatosCrecredito(item, 3);
                innerResponse.Mora        = _consultasmovimientos.ObtenerDatosCrecredito(item, 4);
                innerResponse.Impuestos   = _consultasmovimientos.ObtenerDatosCrecredito(item, 7);
                innerResponse.Cargos      = _consultasmovimientos.ObtenerDatosCrecredito(item, 6);
                innerResponse.Total       = _consultassaldos.ObtenerSaldoAlVencimiento(entidad, request.FechaInicio, request.FechaFin);
                innerResponse.Divisa      = "PESOS";
                innerResponse.FechaDePago = _consultasmovimientos.ObtenerFechaPago(item);

                Listresponse.Movimientos.Add(innerResponse);
            }

            Listresponse.equivalencia = request.equivalencia;
            Listresponse.FechaInicio  = request.FechaInicio;
            Listresponse.FechaFin     = request.FechaFin;

            responseList.Add(Listresponse);

            return(responseList);
        }
Ejemplo n.º 12
0
        public InnerCliente Proceso(RequestCliente request)
        {
            EntidadCreditoBase entidad       = new EntidadCreditoBase();
            InnerCliente       innerResponse = new InnerCliente();

            entidad.equivalencia = request.equivalencia;

            innerResponse.NombreCliente = _consultasEstadoDeCuenta.ObtenerNombreCliente(entidad);
            innerResponse.IdCliente     = _consultasCredito.ObtenerIdPersonaPorReferencia(entidad);

            entidad.idpersona = _consultasCredito.ObtenerIdPersonaPorReferencia(entidad);

            var contratoyfecha = _cliente.ObtenerInformacionCliente(entidad);

            innerResponse.IdContrato       = contratoyfecha[0].ToString();
            innerResponse.FechaVencimiento = contratoyfecha[1].ToString();

            return(innerResponse);
        }
Ejemplo n.º 13
0
        public List <ResponseSaldosPorCliente> Proceso(RequestSaldosPorCliente request)
        {
            EntidadCreditoBase entidadbase = new EntidadCreditoBase();
            List <ResponseSaldosPorCliente> responseList = new List <ResponseSaldosPorCliente>();

            ResponseSaldosPorCliente Listresponse = new ResponseSaldosPorCliente();

            entidadbase.equivalencia = request.Equivalencia;

            entidadbase.idpersona = _consultasCredito.ObtenerIdPersonaPorReferencia(entidadbase);

            entidadbase.NLinea = _consultasEstadoDeCuenta.ObtenerLineas(entidadbase);

            var ministraciones = _consultasEstadoDeCuenta.MinistracionesPorLinea(entidadbase);

            Listresponse.Saldos = new List <InnerSaldosPorCliente>();

            foreach (var item in ministraciones)
            {
                InnerSaldosPorCliente innerResponse = new InnerSaldosPorCliente();
                entidadbase.credito            = item.idCredito;
                innerResponse.IdCredito        = item.idCredito;
                innerResponse.FechaDesembolso  = item.FechaDesembolso.Value;
                innerResponse.FechaVencimiento = item.FechaVencimiento.Value;
                innerResponse.MontoDispuesto   = item.Monto.Value;
                innerResponse.MontoaPagar      = _consultassaldos.ObtenerSaldoAlVencimiento(entidadbase, request.FechaInicio, request.FechaFin);
                innerResponse.SaldoalDia       = _consultasEstadoDeCuenta.saldoalcorte(item.idCredito);
                innerResponse.Divisa           = "PESOS";
                innerResponse.Estado           = _consultasEstadoDeCuenta.ObtenerEstado(item.idCredito);
                Listresponse.Saldos.Add(innerResponse);
            }

            Listresponse.Equivalencia = request.Equivalencia;
            Listresponse.FechaInicio  = request.FechaInicio;
            Listresponse.FechaFin     = request.FechaFin;

            responseList.Add(Listresponse);

            return(responseList);
        }
Ejemplo n.º 14
0
        public List <ResponseCredito> Procesar(RequestActivo request)
        {
            EntidadCreditoBase entidadCredito = new EntidadCreditoBase();

            List <ResponseCredito> responseList = new List <ResponseCredito>();

            ResponseCredito Listresponse = new ResponseCredito();

            ConsultasCreditos consultasCredito = new ConsultasCreditos();

            entidadCredito.equivalencia = request.Equivalencia;

            var listaCreditos = consultasCredito.CreditosPorReferencia(entidadCredito);

            Listresponse.Creditos = new List <InnerActivo>();

            foreach (var item in listaCreditos)
            {
                entidadCredito.credito = item.idCredito;

                InnerActivo innerResponse = new InnerActivo();
                innerResponse.Nocredito        = item.idCredito;
                innerResponse.FechaDesembolso  = item.FechaDesembolso.Value;
                innerResponse.FechaVencimiento = item.FechaVencimiento.Value;
                innerResponse.MontoDispuesto   = consultasCredito.MontoDispuesto(item.idCredito);
                innerResponse.MontoAPagar      = consultasCredito.ConsultasCreCreditoConcepto(entidadCredito);
                innerResponse.SaldoAlDia       = consultasCredito.ConsultasCreCreditoConcepto(entidadCredito);
                innerResponse.Divisa           = "Pesos";

                Listresponse.Creditos.Add(innerResponse);
            }

            Listresponse.Cliente = int.Parse(request.Equivalencia);
            responseList.Add(Listresponse);

            return(responseList);
        }
Ejemplo n.º 15
0
        public List <CRE_CREDITO> ObtenerEstadoDeCuenta(EntidadCreditoBase EntidadCredito)
        {
            ConsultasCreditos consultascredito = new ConsultasCreditos();
            var idPersona = consultascredito.ObtenerIdPersonaPorReferencia(EntidadCredito);

            EntidadCredito.idpersona = idPersona;

            //obtiene linea
            var Linea = ObtenerLineas(EntidadCredito);

            EntidadCredito.NLinea = Linea;

            //obtiene ministraciones
            var Ministraciones = MinistracionesPorLinea(EntidadCredito);

            List <decimal> saldosalcorte = new List <decimal>();

            foreach (var item in Ministraciones)
            {
                saldosalcorte.Add(saldoalcorte(item.idCredito));
            }

            return(Ministraciones);
        }
Ejemplo n.º 16
0
        public decimal ObtenerSaldoAlVencimiento(EntidadCreditoBase entidad, DateTime FechaInicio, DateTime FechaFin)
        {
            decimal saldoprincipal = 0;

            List <int> tiposConceptos = new List <int> {
                2, 3, 4, 6
            };

            foreach (var concepto in tiposConceptos)
            {
                var saldoPorConcepto = from sp in esquema.CRE_CREDITO_CONCEPTO
                                       where sp.IdCredito == entidad.credito && sp.IdConcepto == concepto &&
                                       sp.FechaFin >= FechaInicio && sp.FechaFin <= FechaFin
                                       select sp.Saldo;

                if (saldoPorConcepto.Any())
                {
                    saldoprincipal += saldoPorConcepto.Sum().Value;
                }


                if (concepto != 2)
                {
                    var saldoprincipalconcepto = from sp in esquema.CRE_CREDITO_CONCEPTO
                                                 where sp.IdCredito == entidad.credito && sp.IdConcepto == concepto &&
                                                 sp.FechaFin >= FechaInicio && sp.FechaFin <= FechaFin
                                                 select sp.Impuesto;
                    if (saldoPorConcepto.Any())
                    {
                        saldoprincipal += saldoprincipalconcepto.Sum().Value;
                    }
                }
            }

            return(saldoprincipal);
        }
Ejemplo n.º 17
0
        public void EnviarEstadoCuentaPorCliente(EntidadCreditoBase entidad)
        {
            //MailMessage Destinatario = new MailMessage();
            //SmtpClient Protocolo = new SmtpClient();

            iTextSharp.text.Font _standardFont = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 10, iTextSharp.text.Font.NORMAL, BaseColor.BLACK);
            iTextSharp.text.Font _FontHead     = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 10, iTextSharp.text.Font.NORMAL, BaseColor.WHITE);

            Document  doc    = new Document(PageSize.LETTER);
            PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(HttpContext.Current.Server.MapPath(@"~\Temp\Estadodecuenta.pdf"), FileMode.Create));

            doc.Open();

            PdfPTable tabla1       = new PdfPTable(3);
            PdfPTable tabla2       = new PdfPTable(1);
            PdfPTable tabla3       = new PdfPTable(1);
            PdfPTable tablacliente = new PdfPTable(2);

            tabla1.WidthPercentage = 100;

            iTextSharp.text.Image imagen = iTextSharp.text.Image.GetInstance(HttpContext.Current.Server.MapPath(@"~\Image\Credimon-01.jpg"));
            imagen.BorderWidth = 0;
            imagen.Alignment   = Element.ALIGN_LEFT;
            float percentage = 0.0f;

            percentage = 150 / imagen.Width;
            imagen.ScalePercent(percentage * 100);

            PdfPCell columna1 = new PdfPCell(imagen);

            columna1.Right            = Element.ALIGN_RIGHT;
            columna1.BorderWidth      = 0;
            columna1.BorderWidthTop   = 0;
            columna1.BorderWidthRight = 0;
            columna1.BorderWidthLeft  = 0;
            tabla1.AddCell(columna1);

            columna1                  = new PdfPCell(new Phrase("\nZONA INDUSTRIAL SN COL.CENTRO\nRFC:\nTEL 6391326740 CD DELICIAS, CHIH.", _standardFont));
            columna1.Right            = Element.ALIGN_CENTER;
            columna1.BorderWidth      = 0;
            columna1.BorderWidthTop   = 0;
            columna1.BorderWidthRight = 0;
            columna1.BorderWidthLeft  = 0;
            tabla1.AddCell(columna1);

            columna1                  = new PdfPCell(new Phrase("                     Estado De Cuenta\n                 No.Pagina: \n                  Fecha: ", _standardFont));
            columna1.Right            = Element.ALIGN_CENTER;
            columna1.BorderWidth      = 0;
            columna1.BorderWidthTop   = 0;
            columna1.BorderWidthRight = 0;
            columna1.BorderWidthLeft  = 0;
            tabla1.AddCell(columna1);

            doc.Add(tabla1);
            doc.Add(new Paragraph(" "));

            tabla2.WidthPercentage = 100;

            PdfPCell columnat2 = new PdfPCell(new Phrase("Datos del Cliente", _FontHead));

            columnat2.BackgroundColor = BaseColor.BLACK;
            tabla2.AddCell(columnat2);

            doc.Add(tabla2);

            tablacliente.WidthPercentage = 100;

            PdfPCell columnacliente = new PdfPCell(new Phrase("Cliente", _standardFont));

            columnacliente.Right            = Element.ALIGN_LEFT;
            columnacliente.BorderWidth      = 0;
            columnacliente.BorderWidthTop   = 0;
            columnacliente.BorderWidthRight = 0;
            columnacliente.BorderWidthLeft  = 0;
            tablacliente.AddCell(columnacliente);

            columnacliente                  = new PdfPCell(new Phrase("" + entidad.Idcliente.ToString(), _standardFont));
            columnacliente.Right            = Element.ALIGN_LEFT;
            columnacliente.BorderWidth      = 0;
            columnacliente.BorderWidthTop   = 0;
            columnacliente.BorderWidthRight = 0;
            columnacliente.BorderWidthLeft  = 0;
            tablacliente.AddCell(columnacliente);

            columnacliente                  = new PdfPCell(new Phrase("Nombre", _standardFont));
            columnacliente.Right            = Element.ALIGN_LEFT;
            columnacliente.BorderWidth      = 0;
            columnacliente.BorderWidthTop   = 0;
            columnacliente.BorderWidthRight = 0;
            columnacliente.BorderWidthLeft  = 0;
            tablacliente.AddCell(columnacliente);

            columnacliente                  = new PdfPCell(new Phrase("" + entidad.Nombre, _standardFont));
            columnacliente.Right            = Element.ALIGN_LEFT;
            columnacliente.BorderWidth      = 0;
            columnacliente.BorderWidthTop   = 0;
            columnacliente.BorderWidthRight = 0;
            columnacliente.BorderWidthLeft  = 0;
            tablacliente.AddCell(columnacliente);

            columnacliente                  = new PdfPCell(new Phrase("Identificacion", _standardFont));
            columnacliente.Right            = Element.ALIGN_LEFT;
            columnacliente.BorderWidth      = 0;
            columnacliente.BorderWidthTop   = 0;
            columnacliente.BorderWidthRight = 0;
            columnacliente.BorderWidthLeft  = 0;
            tablacliente.AddCell(columnacliente);

            columnacliente                  = new PdfPCell(new Phrase("--", _standardFont));
            columnacliente.Right            = Element.ALIGN_LEFT;
            columnacliente.BorderWidth      = 0;
            columnacliente.BorderWidthTop   = 0;
            columnacliente.BorderWidthRight = 0;
            columnacliente.BorderWidthLeft  = 0;
            tablacliente.AddCell(columnacliente);

            columnacliente                  = new PdfPCell(new Phrase("Domicilio", _standardFont));
            columnacliente.Right            = Element.ALIGN_LEFT;
            columnacliente.BorderWidth      = 0;
            columnacliente.BorderWidthTop   = 0;
            columnacliente.BorderWidthRight = 0;
            columnacliente.BorderWidthLeft  = 0;
            tablacliente.AddCell(columnacliente);

            columnacliente                  = new PdfPCell(new Phrase("--", _standardFont));
            columnacliente.Right            = Element.ALIGN_LEFT;
            columnacliente.BorderWidth      = 0;
            columnacliente.BorderWidthTop   = 0;
            columnacliente.BorderWidthRight = 0;
            columnacliente.BorderWidthLeft  = 0;
            tablacliente.AddCell(columnacliente);

            doc.Add(tablacliente);

            doc.Add(new Paragraph(" "));
            tabla3.WidthPercentage = 100;
            PdfPCell encabezadoscreditos = new PdfPCell(new Phrase("Datos de Creditos", _FontHead));

            encabezadoscreditos.BackgroundColor = BaseColor.BLACK;
            tabla3.AddCell(encabezadoscreditos);

            doc.Add(tabla3);

            PdfPTable tablacreditos = new PdfPTable(entidad.dtcreditos.Columns.Count);

            tablacreditos.WidthPercentage = 100;
            foreach (DataColumn columnas in entidad.dtcreditos.Columns)
            {
                PdfPCell cell = new PdfPCell();
                cell.AddElement(new Chunk(columnas.ColumnName.ToString(), _standardFont));
                tablacreditos.AddCell(cell);
            }
            int i = 0, j = 0;

            foreach (DataRow filas in entidad.dtcreditos.Rows)
            {
                foreach (DataColumn columnas in entidad.dtcreditos.Columns)
                {
                    tablacreditos.AddCell(entidad.dtcreditos.Rows[i][j].ToString());
                    j++;
                }
                i++;
                j = 0;
            }
            doc.Add(tablacreditos);

            doc.Close();

            //MandrillApi api = new MandrillApi("GStybO25JJ5Krbv5icpXoA");
            //var mensaje = new List<Mandrill.Messages.Recipient>();

            #region envio con credenciales
            //Destinatario.Subject = "Estado de Cuenta";

            //Destinatario.To.Add("*****@*****.**");

            //System.Net.Mail.Attachment Archivo = new System.Net.Mail.Attachment(HttpContext.Current.Server.MapPath(@"~\Temp\Estadodecuenta.pdf"));
            //Destinatario.Attachments.Add(Archivo);

            //Destinatario.From = new MailAddress("*****@*****.**");
            //Protocolo.Credentials = new NetworkCredential("*****@*****.**", "Comun1*");

            //Protocolo.Host = "pop.secureserver.net";
            //Protocolo.Host = "smtpout.secureserver.net";
            //Protocolo.Port = 465;
            //Protocolo.EnableSsl = true;

            //Protocolo.Send(Destinatario);
            #endregion
        }