コード例 #1
0
        public bool ActualizarDineroCuentaCliente(ClienteCuenta clienteCuenta, string IdReferencia)
        {
            bool Resultado = false;

            SqlCommand comando = new SqlCommand();

            try
            {
                comando.CommandType = System.Data.CommandType.StoredProcedure;
                comando.CommandText = "sp_ClienteCuentaActualizar";

                comando.Parameters.Add("@DcmDineroCuenta", SqlDbType.Decimal);
                comando.Parameters["@DcmDineroCuenta"].Value = clienteCuenta.DcmDineroCuenta;

                comando.Parameters.Add("@UidCliente", SqlDbType.UniqueIdentifier);
                comando.Parameters["@UidCliente"].Value = clienteCuenta.UidCliente;

                comando.Parameters.Add("@IdReferencia", SqlDbType.VarChar);
                comando.Parameters["@IdReferencia"].Value = IdReferencia;

                Resultado = this.ManipulacionDeDatos(comando);
            }
            catch (Exception)
            {
                throw;
            }
            return(Resultado);
        }
コード例 #2
0
        public async Task <IActionResult> Edit(Guid id, [Bind("Id,CuentaId,ClienteId")] ClienteCuenta clienteCuenta)
        {
            if (id != clienteCuenta.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(clienteCuenta);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ClienteCuentaExists(clienteCuenta.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ClienteId"] = new SelectList(_context.Clientes, "Id", "Apellido", clienteCuenta.ClienteId);
            ViewData["CuentaId"]  = new SelectList(_context.Cuentas, "Id", "Numero", clienteCuenta.CuentaId);
            return(View(clienteCuenta));
        }
コード例 #3
0
        public IActionResult Create(Cuenta cuenta, Guid[] clienteIds, Guid titularDeCuenta)
        {
            if (ModelState.IsValid)
            {
                cuenta.Id = Guid.NewGuid();

                foreach (Guid clienteId in clienteIds)
                {
                    var cliente = new ClienteCuenta()
                    {
                        Id        = Guid.NewGuid(),
                        ClienteId = clienteId,
                        CuentaId  = cuenta.Id,
                        EsTitular = clienteId.Equals(titularDeCuenta)
                    };

                    _context.Add(cliente);
                }

                _context.Add(cuenta);
                _context.SaveChanges();
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["MonedaId"]   = new SelectList(_context.Monedas, "Id", "Codigo", cuenta.MonedaId);
            ViewData["SucursalId"] = new SelectList(_context.Sucursales, "Id", "Nombre", cuenta.SucursalId);
            ViewData["Clientes"]   = new MultiSelectList(_context.Clientes, nameof(Cliente.Id), nameof(Cliente.Descripcion));
            return(View(cuenta));
        }
コード例 #4
0
        private void ObtenerMontoFactxBilletera(ArrayList objListaMonto, ref ClienteCuenta objCliente)
        {
            string            strMontoFacturado   = string.Empty;
            string            strMontoNoFacturado = string.Empty;
            EvaluacionNegocio objEvaluacion       = new EvaluacionNegocio();
            string            strNroDocumento     = objCliente.nroDoc;

            foreach (PlanBilletera obj in objListaMonto)
            {
                if (obj.MontoFacturado > 0)
                {
                    strMontoFacturado = String.Format("{0}|{1};{2}", strMontoFacturado, obj.idBilletera, obj.MontoFacturado);
                }
                if (obj.MontoNoFacturado > 0)
                {
                    strMontoNoFacturado = String.Format("{0}|{1};{2}", strMontoNoFacturado, obj.idBilletera, obj.MontoNoFacturado);
                }

                objCliente.montoFacturadoTotal   += obj.MontoFacturado;
                objCliente.montoNoFacturadoTotal += obj.MontoNoFacturado;
            }

            objCliente.oMontoFacturadoxBilletera   = objEvaluacion.ObtenerMontoFactxBilletera(strNroDocumento, strMontoFacturado);
            objCliente.oMontoNoFacturadoxBilletera = objEvaluacion.ObtenerMontoFactxBilletera(strNroDocumento, strMontoNoFacturado);
        }
コード例 #5
0
        public IActionResult Edit(Guid id, Cuenta cuenta, Guid[] clienteIds, Guid titularDeCuenta)
        {
            if (id != cuenta.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    // Obtengo la cuenta desde la base de datos
                    var clienteCuentas = _context.ClienteCuentas.Where(clienteCuenta => clienteCuenta.CuentaId == id);

                    _context.RemoveRange(clienteCuentas);

                    // Crea todas las relaciones con Clientes para la cuenta editada.
                    foreach (Guid clienteId in clienteIds)
                    {
                        var cliente = new ClienteCuenta()
                        {
                            Id        = Guid.NewGuid(),
                            ClienteId = clienteId,
                            CuentaId  = cuenta.Id,
                            EsTitular = clienteId.Equals(titularDeCuenta)
                        };

                        _context.Add(cliente);
                    }

                    _context.Update(cuenta);
                    _context.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!CuentaExists(cuenta.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["MonedaId"]   = new SelectList(_context.Monedas, "Id", "Codigo", cuenta.MonedaId);
            ViewData["SucursalId"] = new SelectList(_context.Sucursales, "Id", "Nombre", cuenta.SucursalId);
            ViewData["Clientes"]   = new MultiSelectList(_context.Clientes, nameof(Cliente.Id), nameof(Cliente.Dni), clienteIds);

            return(View(cuenta));
        }
コード例 #6
0
 public IActionResult Create([Bind("Id,CuentaId,ClienteId")] ClienteCuenta clienteCuenta)
 {
     if (ModelState.IsValid)
     {
         clienteCuenta.Id = Guid.NewGuid();
         _context.Add(clienteCuenta);
         _context.SaveChanges();
         return(RedirectToAction(nameof(Index)));
     }
     ViewData["ClienteId"] = new SelectList(_context.Clientes, "Id", "Apellido", clienteCuenta.ClienteId);
     ViewData["CuentaId"]  = new SelectList(_context.Cuentas, "Id", "Numero", clienteCuenta.CuentaId);
     return(View(clienteCuenta));
 }
コード例 #7
0
        public void ObtenerDineroCuentaCliente(Guid UidCliente)
        {
            clienteCuenta = new ClienteCuenta();

            SqlCommand query = new SqlCommand();

            query.CommandType = CommandType.Text;

            query.CommandText = "select cc.* from Clientes cl, ClienteCuenta cc where cl.UidCliente = cc.UidCliente and cc.UidCliente = '" + UidCliente + "'";

            DataTable dt = this.Busquedas(query);

            foreach (DataRow item in dt.Rows)
            {
                clienteCuenta.UidClienteCuenta = Guid.Parse(item["UidClienteCuenta"].ToString());
                clienteCuenta.DcmDineroCuenta  = decimal.Parse(item["DcmDineroCuenta"].ToString());
            }
        }
コード例 #8
0
        public ClienteCuenta ConsultarDatosCliente(string tipoDocumento, string nroDocumento, string strCoID)
        {
            ClienteCuenta   objCliente            = new ClienteCuenta();
            ConsumerNegocio objConsumer           = new ConsumerNegocio();
            DataTable       dtResumen             = null;
            DataTable       dtDetalle             = null;
            ArrayList       objListaMontoFactura  = null;
            ArrayList       objListaPlanesActivos = null;
            string          listaTelefono         = string.Empty;

            ArrayList objListaDocumento = (new GeneralNegocios()).ListarTipoDocumento();

            foreach (TipoDocumento obj in objListaDocumento)
            {
                if (obj.ID_SISACT == tipoDocumento)
                {
                    this.nroDocumento   = nroDocumento;
                    this.tipoDocumento  = tipoDocumento;
                    objDocumento        = new TipoDocumento();
                    objDocumento        = obj;
                    objDocumento.ID_OAC = Funciones.CheckInt(tipoDocumento).ToString();
                    break;
                }
            }

            objCliente.idCliente  = DateTime.Now.ToString("ddMMyyyyhhmmss");
            objCliente.tipoDoc    = tipoDocumento;
            objCliente.tipoDocDes = objDocumento.TDOCV_DESCRIPCION.ToString();
            objCliente.nroDoc     = nroDocumento;
            if (tipoDocumento == constCodTipoDocRUC)
            {
                objCliente.nroDocAsociado = nroDocumento.Substring(2, 8);
            }

            int intMesesPermanencia     = 0;
            int intMesesPermanenciaBSCS = 0;
            int intMesesPermanenciaSGA  = 0;

            // Lista Parametros Generales
            ArrayList objListaItem = (new GeneralNegocios()).ListarParametroGeneral("1");                    //JAZ

            int    intMeses           = Funciones.CheckInt(obtenerParametro(objListaItem, "27"));
            double dblPorcentajeDeuda = Funciones.CheckDbl(obtenerParametro(objListaItem, "26"));

            double dblUmbralDeuda = Funciones.CheckDbl(obtenerParametro(objListaItem, constCodUmbralDeuda));
            int    intUmbralPermanencia;

            if (tipoDocumento == constCodTipoDocRUC)
            {
                intUmbralPermanencia = Funciones.CheckInt(obtenerParametro2(objListaItem, constCodTiempoPermanenciaRUC));                        //JAZ
            }
            else
            {
                intUmbralPermanencia = Funciones.CheckInt(obtenerParametro2(objListaItem, constCodTiempoPermanenciaDNI)); //JAZ
            }
            objCliente.nroRangoDiasBSCS = 90;                                                                             // Funciones.CheckInt(obtenerParametro(objListaItem, constCodDiasLineasBSCS));
            // Lista Parametros Generales

            // Detalle Lineas BSCS
            DataSet dsListaBSCS = objConsumer.ListarDetalleLineaBSCS(objDocumento.ID_BSCS, nroDocumento);
            // Detalle Lineas SGA
            DataSet dsListaSGA = objConsumer.ListarDetalleLineaSGA(objDocumento.COD_SGA, nroDocumento, intMeses);

            // Comportamiento Pago
            objCliente.comportamientoPago = objConsumer.ObtenerComportamientoPago(objDocumento.ID_BSCS, nroDocumento, ref objMensaje);

            if (dsListaBSCS != null && dsListaBSCS.Tables[0].Rows.Count > 0)
            {
                dtResumen = new DataTable();
                dtResumen = dsListaBSCS.Tables[0];
                dtDetalle = new DataTable();
                dtDetalle = dsListaBSCS.Tables[1];

                if (Funciones.CheckStr(objCliente.nombres) == "" && Funciones.CheckStr(objCliente.razonSocial) == "")
                {
                    objCliente.nombres     = Funciones.CheckStr(dtResumen.Rows[0]["NOMBRES"]);
                    objCliente.apellidos   = Funciones.CheckStr(dtResumen.Rows[0]["APELLIDOS"]);
                    objCliente.razonSocial = Funciones.CheckStr(dtResumen.Rows[0]["RAZON_SOCIAL"]);
                }

                objCliente.nroPlanesActivos = Funciones.CheckInt(dtResumen.Rows[0]["PLANES"]);
                objCliente.CF_Total         = ConsultarCargoFijo(strCoID);                 //SD1052592
                objCliente.nroBloqueo       = Funciones.CheckInt(dtResumen.Rows[0]["BLOQ"]);
                objCliente.nroSuspension    = Funciones.CheckInt(dtResumen.Rows[0]["SUSP"]);

                objCliente.nroLineasBSCS       = Funciones.CheckInt(dtResumen.Rows[0]["PLANES"]);
                objCliente.nroLineaMenor7Dia   = Funciones.CheckInt(dtResumen.Rows[0]["NRO_7"]);
                objCliente.nroLineaMenor30Dia  = Funciones.CheckInt(dtResumen.Rows[0]["NRO_30"]);
                objCliente.nroLineaMenor90Dia  = Funciones.CheckInt(dtResumen.Rows[0]["NRO_90"]);
                objCliente.nroLineaMenor180Dia = Funciones.CheckInt(dtResumen.Rows[0]["NRO_180"]);
                objCliente.nroLineaMayor90Dia  = Funciones.CheckInt(dtResumen.Rows[0]["NRO_90_MAS"]);
                objCliente.nroLineaMayor180Dia = Funciones.CheckInt(dtResumen.Rows[0]["NRO_180_MAS"]);

                objCliente.LineaBSCS = dtDetalle;
                ProcesarDetalleBSCS(dtDetalle, ref objListaMontoFactura, ref objListaPlanesActivos, ref intMesesPermanenciaBSCS);
            }

            if (dsListaSGA != null && dsListaSGA.Tables[0].Rows.Count > 0)
            {
                dtResumen = new DataTable();
                dtResumen = dsListaSGA.Tables[0];
                dtDetalle = new DataTable();
                dtDetalle = dsListaSGA.Tables[1];

                if (Funciones.CheckStr(objCliente.nombres) == "" && Funciones.CheckStr(objCliente.razonSocial) == "")
                {
                    objCliente.nombres         = Funciones.CheckStr(dtResumen.Rows[0]["NOMCLI"]);
                    objCliente.apellidoPaterno = Funciones.CheckStr(dtResumen.Rows[0]["APEPAT"]);
                    objCliente.apellidoMaterno = Funciones.CheckStr(dtResumen.Rows[0]["APEMAT"]);
                    objCliente.apellidos       = Funciones.CheckStr(objCliente.apellidoPaterno + " " + objCliente.apellidoMaterno);
                    objCliente.razonSocial     = Funciones.CheckStr(dtResumen.Rows[0]["RAZON_SOCIAL"]);
                }

                objCliente.nroPlanesActivos += Funciones.CheckInt(dtResumen.Rows[0]["NUM_PLAN"]);
                objCliente.CF_Total         += Funciones.CheckDbl(dtResumen.Rows[0]["CF_SERVICIOS"]);
                objCliente.nroBloqueo       += Funciones.CheckInt(dtResumen.Rows[0]["NUM_BLOQ"]);
                objCliente.nroSuspension    += Funciones.CheckInt(dtResumen.Rows[0]["NUM_SUSP"]);
                objCliente.nroLineasSGA      = Funciones.CheckInt(dtResumen.Rows[0]["NUM_PLAN"]);

                objCliente.LineaSGA = dtDetalle;
                ProcesarDetalleSGA(dtDetalle, ref objListaMontoFactura, ref objListaPlanesActivos, ref intMesesPermanenciaSGA);
            }

            // Detalle Lineas SISACT
            DataSet dsListaSISACT = objConsumer.ListarDetalleLineaSISACT(objDocumento.ID_SISACT, nroDocumento, listaTelefono);

            if (dsListaSISACT != null && dsListaSISACT.Tables[0].Rows.Count > 0)
            {
                dtResumen = new DataTable();
                dtResumen = dsListaSISACT.Tables[0];
                dtDetalle = new DataTable();
                dtDetalle = dsListaSISACT.Tables[1];

                if (Funciones.CheckStr(objCliente.nombres) == "" && Funciones.CheckStr(objCliente.razonSocial) == "")
                {
                    objCliente.nombres         = Funciones.CheckStr(dtResumen.Rows[0]["NOMBRE"]);
                    objCliente.apellidoPaterno = Funciones.CheckStr(dtResumen.Rows[0]["APELLIDO_PAT"]);
                    objCliente.apellidoMaterno = Funciones.CheckStr(dtResumen.Rows[0]["APELLIDO_MAT"]);
                    objCliente.apellidos       = Funciones.CheckStr(objCliente.apellidoPaterno + " " + objCliente.apellidoMaterno);
                    objCliente.razonSocial     = Funciones.CheckStr(dtResumen.Rows[0]["RAZON_SOCIAL"]);
                }

                objCliente.LineaSISACT = dtDetalle;
                ProcesarDetalleSISACT(dtDetalle, ref objListaMontoFactura, ref objListaPlanesActivos);

                foreach (DataRow dr in dtDetalle.Rows)
                {
                    objCliente.nroPlanesActivos    += 1;
                    objCliente.CF_Total            += Funciones.CheckDbl(dr["CARGO_FIJO"]);
                    objCliente.CF_Menor            += Funciones.CheckDbl(dr["CARGO_FIJO"]);
                    objCliente.nroLineasBSCS       += 1;
                    objCliente.nroLineaMenor7Dia   += 1;
                    objCliente.nroLineaMenor30Dia  += 1;
                    objCliente.nroLineaMenor90Dia  += 1;
                    objCliente.nroLineaMenor180Dia += 1;
                    objCliente.nroLineasSISACT     += 1;
                }
            }

            // Calcular Monto Facturado, NO Facturado x Producto y Total Facturado
            if (objListaMontoFactura != null)
            {
                ObtenerMontoFactxBilletera(objListaMontoFactura, ref objCliente);
            }

            // Validar BlackList de Créditos / WhiteList de Flexibilización
            bool isBlackList = true, isWhiteList = true, isTop = true;

            objConsumer.ConsultaTopBlackWhiteList(tipoDocumento, nroDocumento, objCliente.nroDiasDeuda, objCliente.deudaTotal, objCliente.nroPlanesActivos, objCliente.nroBloqueo,
                                                  ref isBlackList, ref isWhiteList, ref isTop);

            // Cliente Nuevo/Cliente Claro
            intMesesPermanencia          = (intMesesPermanenciaBSCS > intMesesPermanenciaSGA) ? intMesesPermanenciaBSCS : intMesesPermanenciaSGA;
            objCliente.tiempoPermanencia = intMesesPermanencia;
            objCliente.esClienteClaro    = (intMesesPermanencia >= intUmbralPermanencia);

            string strCategoriaCliente = objCliente.esClienteClaro ? "CLIENTE CLARO" : "CLIENTE NUEVO";

            strCategoriaCliente += isTop ? " TOP" : "";

            objCliente.isBlackList = isBlackList;
            objCliente.isWhiteList = isWhiteList;
            objCliente.isTop       = isTop;
            objCliente.tipoCliente = strCategoriaCliente;
            objCliente.oPlanesActivosxBilletera = objListaPlanesActivos;

            return(objCliente);
        }