public Boolean ActualizacionMOVDIA_DBF_NG(string rutDeudor, string demandante, string codSucursal, string codCajero, string tipoPago, string numOpe,
                                                  string numCuota, string banco, string numDocumento, string plaza, double mtoDoc, double correlativo,
                                                  string folio, DateTime fechaPago, string hora, string esta_liqui, string num_caja)
        {
            bool           transacction = false;
            PagoAutomatico ObjPA        = new PagoAutomatico();

            try
            {
                if (ObjPA.ActualizacionMOVDIA_DBF_DAL(rutDeudor, demandante, codSucursal, codCajero, tipoPago, numOpe, numCuota, banco, numDocumento, plaza,
                                                      mtoDoc, correlativo, folio, fechaPago, hora, esta_liqui, num_caja) == true)
                {
                    transacction = true;
                }
            }
            catch (Exception ex)
            {
                objParam.GrabarErrores(FechaSis.Date, Environment.MachineName, Environment.MachineName, ParametrosPagoAutoData.P_int_codigo_modulo, "Error SqlException : " + ex.ToString(), false,
                                       ParametrosPagoAutoData.P_int_codigo_error_Sql_exceptions,
                                       ParametrosPagoAutoData.P_str_codigo_moduloServicio + "/Negocio/ActualizacionMOVDIA_DBF_NG");
                transacction = false;
            }

            return(transacction);
        }
        public Boolean ActualizacionTab_Prov_DBF_NG(string rutcliente, string demandante, string correlat, string cod_cajero, DateTime fec_caja, string estado, string hor_caja, DateTime fechaPago)
        {
            bool           transacction = true;
            PagoAutomatico ObjPA        = new PagoAutomatico();

            try
            {
                if (ObjPA.ActualizacionTab_Prov_DBF_DAL(rutcliente, demandante, correlat, cod_cajero, fec_caja, estado, hor_caja, fechaPago) == true)
                {
                    transacction = true;
                }
            }
            catch (Exception ex)
            {
                objParam.GrabarErrores(FechaSis.Date, Environment.MachineName, Environment.MachineName, ParametrosPagoAutoData.P_int_codigo_modulo, "Error SqlException : " + ex.ToString(), false,
                                       ParametrosPagoAutoData.P_int_codigo_error_Sql_exceptions,
                                       ParametrosPagoAutoData.P_str_codigo_moduloServicio + "/Negocio/ActualizacionTab_Prov_DBF_NG");
                transacction = false;
            }

            return(transacction);
        }
        public Boolean InsertTabNexo_DBF_NG(string correlat, string folioLi, string folioNc, string folioNd, string folioRe, string cdEstado, string codSuc)
        {
            bool transacction = false;

            PagoAutomatico ObjPA = new PagoAutomatico();

            try
            {
                if (ObjPA.InsertTabNexo_DBF_DAL(correlat, folioLi, folioNc, folioNd, folioRe, cdEstado, codSuc) == true)
                {
                    transacction = true;
                }
            }
            catch (Exception ex)
            {
                objParam.GrabarErrores(FechaSis.Date, Environment.MachineName, Environment.MachineName, ParametrosPagoAutoData.P_int_codigo_modulo, "Error SqlException : " + ex.ToString(), false,
                                       ParametrosPagoAutoData.P_int_codigo_error_Sql_exceptions,
                                       ParametrosPagoAutoData.P_str_codigo_moduloServicio + "/Negocio/InsertarMovTos_DBF_NG");
                transacction = false;
            }

            return(transacction);
        }
        public Boolean InsertarMovTos_DBF_NG(string correlat, string rutDeudor, string codCajero, string tipoMov, string tip_liq
                                             , string tip_pag_tos, string cod_cli, double mto_oper, DateTime fec_oper, string hor_oper, DateTime fec_dia, string cod_suc)
        {
            bool transacction = true;

            PagoAutomatico ObjPA = new PagoAutomatico();

            try
            {
                if (ObjPA.InsertarMovTos_DBF_DAL(correlat, rutDeudor, codCajero, tipoMov, tip_liq, tip_pag_tos, cod_cli, mto_oper, fec_oper, hor_oper, fec_dia, cod_suc) == true)
                {
                    transacction = true;
                }
            }
            catch (Exception ex)
            {
                objParam.GrabarErrores(FechaSis.Date, Environment.MachineName, Environment.MachineName, ParametrosPagoAutoData.P_int_codigo_modulo, "Error SqlException : " + ex.ToString(), false,
                                       ParametrosPagoAutoData.P_int_codigo_error_Sql_exceptions,
                                       ParametrosPagoAutoData.P_str_codigo_moduloServicio + "/Negocio/InsertarMovTos_DBF_NG");
                transacction = false;
            }

            return(transacction);
        }
        //[WebMethod]
        public int PagoAutomaticoCaja(string str_rut_cli, string str_cod_demandante, string str_login_usrs)
        {
            //Proceso de transaccion de caja
            MDL_Funciones objFuncion = new MDL_Funciones();

            //DateTime d_fechaactual = new DateTime(); // solo pruebas ya que se necesita fecha servidor
            DataSet     ds_Movdia          = new DataSet();
            DataSet     ds_Movdia_tempo    = new DataSet();
            DataSet     ds_tb_prov         = new DataSet();
            DataSet     ds_fechas_servidor = new DataSet();
            DataSet     ds_Movdia_tabnexo  = new DataSet();
            DataSet     ds_tb_prov_tabnexo = new DataSet();
            ParamsDates ObjDates1          = new ParamsDates();
            DateTime    date = new DateTime();
            //Util ObjUtil = new Util();
            ParamsErrores      ObjError   = new ParamsErrores();
            MDL_Funciones      objfunc    = new MDL_Funciones();
            MDL_PagoAutomatico ObjPagosMd = new MDL_PagoAutomatico();

            ds_fechas_servidor = ObjDates1.getFechasServidor();
            date           = Convert.ToDateTime(ds_fechas_servidor.Tables[0].Rows[0]["fechahoramin"].ToString());
            str_login_user = str_login_usrs;
            str_time_hora  = formatoHora(Convert.ToString(date.Hour)) + ":" + formatoMinuto(Convert.ToString(date.Minute)) + ":" + formatoSegundo(Convert.ToString(date.Second));
            str_fecha_hoy  = Convert.ToString(date);
            DateTime FechaHoy = new DateTime();

            FechaHoy = Convert.ToDateTime(str_fecha_hoy);

            string str_hora = Convert.ToString(FechaHoy.Hour) + ":" + Convert.ToString(FechaHoy.Minute) + ":" + Convert.ToString(FechaHoy.Second);

            int_estadoProcesosInternos = -2;

            int filasAfectadas = -1;

            // busca disponibilidad de proceso segun dia habil de BD
            if (objFuncion.DisponibilidadWSFinDeMes(str_cod_demandante) == true)
            {
                try
                {
                    // se realiza la operacion de caja
                    PagoAutomatico ObjPagoAuto = new PagoAutomatico();

                    // se obtiene datos desde base datos y se llenan datasets
                    ds_Movdia  = ObjPagoAuto.ObtieneMovDiaPorParametros(str_rut_cli, str_cod_demandante, EstadosPagosAutomaticos.P_str_mov_pendiente_de_pago);
                    ds_tb_prov = ObjPagoAuto.ObtieneTab_prov_Por_Parametros(str_rut_cli, str_cod_demandante, EstadosPagosAutomaticos.P_str_prov_pendiente_de_pago, EstadosPagosAutomaticos.P_str_prov_nota_debito);

                    //se obtienen montos de Movdia
                    if (ds_Movdia.Tables[0].Rows.Count > 0)
                    {
                        decimal sumamontos = 0;

                        foreach (DataRow dataRow in ds_Movdia.Tables[0].Rows)
                        {
                            int_descinte     = Convert.ToInt32(dataRow["descinte"]);
                            str_cod_sucursal = Convert.ToString(dataRow["cod_suc"]);
                            str_numOpe       = Convert.ToString(dataRow["num_ope"]);
                            str_numCuota     = Convert.ToString(dataRow["num_cuo"]);
                            sumamontos       = sumamontos + Convert.ToDecimal(dataRow["mto_total"]);
                        }
                        monto_total_mov = sumamontos;
                    }
                    else
                    {
                        monto_total_mov = 0;
                        //return filasAfectadas;
                    }

                    //se obtienen montos de tb_pro y se compara con monto movdia
                    if (ds_Movdia.Tables[0].Rows.Count > 0)
                    {
                        // Validar int_descinte > 0 , si no sale del ciclo completo
                        //if (int_descinte > 0)
                        //{
                        // string str_fecha_pago_tempo = objfunc.checkDiaDePago(FechaHoy.AddDays(1), str_hora, "", "", FechaHoy, str_cod_sucursal);

                        if (ds_tb_prov.Tables[0].Rows.Count > 0)
                        {
                            foreach (DataRow dataRow in ds_tb_prov.Tables[0].Rows)
                            {
                                str_folio_Deb = dataRow["folio"].ToString();
                            }
                        }

                        // llama funcion de marca ingreso reajuste
                        // objFuncion.MarcaIngresoReaj(str_cod_demandante, str_rut_cli, int_descinte, str_fecha_pago_tempo, Convert.ToInt32(str_folio_Deb));

                        //inicia proceso Pago Automatico
                        if (ds_tb_prov.Tables[0].Rows.Count > 0)
                        {
                            // busca montos de tab_prov
                            decimal d_sumamontos_prov = 0;
                            foreach (DataRow dataRow in ds_tb_prov.Tables[0].Rows)
                            {
                                str_folio_Deb     = dataRow["folio"].ToString();
                                d_sumamontos_prov = d_sumamontos_prov + Convert.ToDecimal(dataRow["monto"].ToString());
                            }

                            monto_total_prov = d_sumamontos_prov;

                            //se compara Montos de movdia y tab_prov , en caso iguales se procesa , si no se sale del ciclo
                            if (monto_total_mov == monto_total_prov)
                            {
                                str_rut_cliente = str_rut_cli;
                                str_fecha_pago  = objfunc.checkDiaDePago(FechaHoy.AddDays(1), str_hora, "", "", FechaHoy, str_cod_sucursal);
                                // str_fecha_pago = Convert.ToString(date);

                                int_correlativo   = objfunc.Busca_Correlativo();
                                str_cod_cajero    = EstadosPagosAutomaticos.P_str_CM_codigo_cajero + Convert.ToString(Convert.ToInt32(str_cod_sucursal));
                                str_Tip_pag_movto = EstadosPagosAutomaticos.P_str_prov_nota_debito;

                                //valida campos necesarios
                                if (ValidaCamposTransations() == true)
                                {
                                    // valida cuenta corrientes
                                    if (ObjPagosMd.ValidaSaldoCuentaCorriente(MgsDescripcionesProcesos.P_str_moduloServicio, str_rut_cliente, str_cod_demandante, monto_total_prov) == true)
                                    {
                                        // realiza proceso de pago automatico
                                        if (ObjPagosMd.ActualizarMovDiaNG(
                                                str_rut_cliente,
                                                str_cod_demandante,
                                                Convert.ToString(int_correlativo),
                                                str_cod_cajero,
                                                Convert.ToDateTime(str_fecha_pago),
                                                EstadosPagosAutomaticos.P_str_prov_estado_liq,
                                                EstadosPagosAutomaticos.P_str_mov_Num_caja,
                                                EstadosPagosAutomaticos.P_str_mov_tipo_pago,
                                                EstadosPagosAutomaticos.P_str_prov_estado_liq,
                                                EstadosPagosAutomaticos.P_str_mov_tipo_movtos,
                                                EstadosPagosAutomaticos.P_str_mov_tipo_liq_movtos,
                                                EstadosPagosAutomaticos.P_str_mov_tipo_Pag_movtos,
                                                str_cod_demandante,
                                                monto_total_prov,
                                                "",
                                                "",
                                                Convert.ToDateTime(str_fecha_pago),
                                                str_time_hora,
                                                Convert.ToDateTime(str_fecha_pago),
                                                str_cod_sucursal,
                                                str_login_user,
                                                str_folio_Deb) == true)
                                        {
                                            ds_Movdia_tempo = ObjPagoAuto.ObtieneMovDiaPorParametros(str_rut_cli, str_cod_demandante, EstadosPagosAutomaticos.P_str_mov_cancelado_de_pago);
                                            if (ds_Movdia_tempo.Tables[0].Rows.Count > 0)
                                            {
                                                foreach (DataRow dataRow in ds_Movdia_tempo.Tables[0].Rows)
                                                {
                                                    int_descinte = Convert.ToInt32(dataRow["descinte"]);
                                                }
                                            }
                                            if (int_descinte > 0)
                                            {
                                                objFuncion.MarcaIngresoReaj(str_cod_demandante, str_rut_cli, int_descinte, str_fecha_pago, Convert.ToInt32(str_folio_Deb));
                                            }

                                            // Actualiza DBF MOVDIA , TAB_PROV y MOVTOS

                                            string str_hora_pago_DBF = "";

                                            str_hora_pago_DBF = formatoHora(Convert.ToString(date.Hour)) + ":" + formatoMinuto(Convert.ToString(date.Minute)) + ":" + formatoSegundo(Convert.ToString(date.Second));

                                            if (ObjPagosMd.ActualizacionMOVDIA_DBF_NG(str_rut_cliente, str_cod_demandante, str_cod_sucursal, str_cod_cajero, EstadosPagosAutomaticos.P_str_mov_tipo_pago, str_numOpe, str_numCuota, "", "", "",
                                                                                      Convert.ToDouble(monto_total_prov), Convert.ToDouble(int_correlativo), str_folio_Deb, Convert.ToDateTime(str_fecha_pago), str_hora_pago_DBF, EstadosPagosAutomaticos.P_str_prov_estado_liq, EstadosPagosAutomaticos.P_str_mov_Num_caja) == true)
                                            {
                                            }
                                            else
                                            {
                                                ObjError.GrabarErrores(Convert.ToDateTime(str_fecha_hoy), Environment.MachineName, str_login_usrs, 0,
                                                                       MgsDescripcionesProcesos.P_str_Error_Actualiza_MovDia_DBF, false,
                                                                       EnumEstadosProcesosPagos.codigo_estado_procesos_internos,
                                                                       MgsDescripcionesProcesos.P_str_moduloServicio);

                                                filasAfectadas             = EnumEstadosProcesosPagos.codigo_estado_transaccion_monto;
                                                str_descripcion_err_valida = MgsDescripcionesProcesos.P_str_Error_actualizar_movdia_DBF;
                                                int_estadoProcesosInternos = EnumEstadosProcesosPagos.codigo_estado_Error_update_movdia_DBF;
                                                return(filasAfectadas);
                                            }

                                            if (ObjPagosMd.ActualizacionTab_Prov_DBF_NG(str_rut_cliente, str_cod_demandante, Convert.ToString(int_correlativo), str_cod_cajero, Convert.ToDateTime(str_fecha_pago), EstadosPagosAutomaticos.P_str_prov_estado_liq, str_hora_pago_DBF, Convert.ToDateTime(str_fecha_pago)) == true)
                                            {
                                            }
                                            else
                                            {
                                                ObjError.GrabarErrores(Convert.ToDateTime(str_fecha_hoy), Environment.MachineName, str_login_usrs, 0,
                                                                       MgsDescripcionesProcesos.P_str_Error_Actualiza_tab_prov_DBF, false,
                                                                       EnumEstadosProcesosPagos.codigo_estado_procesos_internos,
                                                                       MgsDescripcionesProcesos.P_str_moduloServicio);

                                                filasAfectadas             = EnumEstadosProcesosPagos.codigo_estado_transaccion_monto;
                                                str_descripcion_err_valida = MgsDescripcionesProcesos.P_str_Error_Actualiza_tab_prov_DBF;
                                                int_estadoProcesosInternos = EnumEstadosProcesosPagos.codigo_estado_Error_update_tab_prov_DBF;
                                                return(filasAfectadas);
                                            }

                                            if (ObjPagosMd.InsertarMovTos_DBF_NG(Convert.ToString(int_correlativo),
                                                                                 str_rut_cliente,
                                                                                 str_cod_cajero,
                                                                                 EstadosPagosAutomaticos.P_str_mov_tipo_movtos,
                                                                                 EstadosPagosAutomaticos.P_str_mov_tipo_liq_movtos,
                                                                                 EstadosPagosAutomaticos.P_str_mov_tipo_Pag_movtos,
                                                                                 str_cod_demandante,
                                                                                 Convert.ToDouble(monto_total_prov),
                                                                                 Convert.ToDateTime(str_fecha_pago),
                                                                                 str_hora_pago_DBF,
                                                                                 Convert.ToDateTime(str_fecha_pago),
                                                                                 str_cod_sucursal) == true)
                                            {
                                            }
                                            else
                                            {
                                                ObjError.GrabarErrores(Convert.ToDateTime(str_fecha_hoy), Environment.MachineName, str_login_usrs, 0,
                                                                       MgsDescripcionesProcesos.P_str_Error_Actualiza_mov_tos_DBF, false,
                                                                       EnumEstadosProcesosPagos.codigo_estado_procesos_internos,
                                                                       MgsDescripcionesProcesos.P_str_moduloServicio);

                                                filasAfectadas             = EnumEstadosProcesosPagos.codigo_estado_transaccion_monto;
                                                str_descripcion_err_valida = MgsDescripcionesProcesos.P_str_Error_insert_MovTos_DBF;
                                                int_estadoProcesosInternos = EnumEstadosProcesosPagos.codigo_estado_Error_insert_movtos_DBF;
                                                return(filasAfectadas);
                                            }

                                            string str_folioLi = "";
                                            string str_folioNc = "";
                                            string str_folioRe = "";

                                            ds_Movdia_tabnexo  = ObjPagoAuto.ObtieneMovDiaPorParametrosTab_nexo_data(str_rut_cli, str_cod_demandante, EstadosPagosAutomaticos.P_str_mov_cancelado_de_pago, Convert.ToString(int_correlativo));
                                            ds_tb_prov_tabnexo = ObjPagoAuto.ObtieneTab_prov_Por_Parametros_tab_nexo_data(str_rut_cli, str_cod_demandante, EstadosPagosAutomaticos.P_str_prov_estado_liq, EstadosPagosAutomaticos.P_str_prov_nota_debito, Convert.ToString(int_correlativo));

                                            if (ds_Movdia_tabnexo.Tables[0].Rows.Count > 0 && ds_Movdia_tabnexo != null)
                                            {
                                                foreach (DataRow dataRow in ds_Movdia_tabnexo.Tables[0].Rows)
                                                {
                                                    string str_folio_movdia = dataRow["folio"].ToString();

                                                    if (ObjPagosMd.InsertTabNexo_DBF_NG(Convert.ToString(int_correlativo), str_folio_movdia.ToString(), str_folioNc, "", str_folioRe, EstadosPagosAutomaticos.P_str_cdEstadoTabNexo, str_cod_sucursal.ToString()) == false)
                                                    {
                                                        ObjError.GrabarErrores(Convert.ToDateTime(str_fecha_hoy), Environment.MachineName, str_login_usrs, 0,
                                                                               MgsDescripcionesProcesos.P_str_Error_insert_tabNexo_DBF, false,
                                                                               EnumEstadosProcesosPagos.codigo_estado_procesos_internos,
                                                                               MgsDescripcionesProcesos.P_str_moduloServicio);

                                                        filasAfectadas             = EnumEstadosProcesosPagos.codigo_estado_transaccion_monto;
                                                        str_descripcion_err_valida = MgsDescripcionesProcesos.P_str_Error_insert_tabNexo_DBF;
                                                        int_estadoProcesosInternos = EnumEstadosProcesosPagos.codigo_estado_Error_insert_tabNexo_DBF;
                                                        return(filasAfectadas);
                                                    }
                                                }
                                            }
                                            else
                                            {
                                                ObjError.GrabarErrores(Convert.ToDateTime(str_fecha_hoy), Environment.MachineName, str_login_usrs, 0,
                                                                       MgsDescripcionesProcesos.P_str_Error_insert_tabNexo_DBF, false,
                                                                       EnumEstadosProcesosPagos.codigo_estado_procesos_internos,
                                                                       MgsDescripcionesProcesos.P_str_moduloServicio);

                                                filasAfectadas             = EnumEstadosProcesosPagos.codigo_estado_transaccion_monto;
                                                str_descripcion_err_valida = MgsDescripcionesProcesos.P_str_Error_insert_tabNexo_DBF + " " + MgsDescripcionesProcesos.P_str_Error_Datos_vacios_MovDia;
                                                int_estadoProcesosInternos = EnumEstadosProcesosPagos.codigo_estado_Error_insert_tabNexo_DBF;
                                                return(filasAfectadas);
                                            }

                                            if (ds_tb_prov_tabnexo.Tables[0].Rows.Count > 0 && ds_tb_prov_tabnexo != null)
                                            {
                                                foreach (DataRow dataRow in ds_tb_prov_tabnexo.Tables[0].Rows)
                                                {
                                                    string str_folio_tab_prov = dataRow["folio"].ToString();

                                                    if (ObjPagosMd.InsertTabNexo_DBF_NG(Convert.ToString(int_correlativo), str_folioLi, str_folioNc, str_folio_tab_prov.ToString(), str_folioRe, EstadosPagosAutomaticos.P_str_cdEstadoTabNexo, str_cod_sucursal.ToString()) == false)
                                                    {
                                                        ObjError.GrabarErrores(Convert.ToDateTime(str_fecha_hoy), Environment.MachineName, str_login_usrs, 0,
                                                                               MgsDescripcionesProcesos.P_str_Error_insert_tabNexo_DBF, false,
                                                                               EnumEstadosProcesosPagos.codigo_estado_procesos_internos,
                                                                               MgsDescripcionesProcesos.P_str_moduloServicio);

                                                        filasAfectadas             = EnumEstadosProcesosPagos.codigo_estado_transaccion_monto;
                                                        str_descripcion_err_valida = MgsDescripcionesProcesos.P_str_Error_insert_tabNexo_DBF;
                                                        int_estadoProcesosInternos = EnumEstadosProcesosPagos.codigo_estado_Error_insert_tabNexo_DBF;
                                                        return(filasAfectadas);
                                                    }
                                                }
                                            }
                                            else
                                            {
                                                ObjError.GrabarErrores(Convert.ToDateTime(str_fecha_hoy), Environment.MachineName, str_login_usrs, 0,
                                                                       MgsDescripcionesProcesos.P_str_Error_insert_tabNexo_DBF, false,
                                                                       EnumEstadosProcesosPagos.codigo_estado_procesos_internos,
                                                                       MgsDescripcionesProcesos.P_str_moduloServicio);

                                                filasAfectadas             = EnumEstadosProcesosPagos.codigo_estado_transaccion_monto;
                                                str_descripcion_err_valida = MgsDescripcionesProcesos.P_str_Error_insert_tabNexo_DBF + " " + MgsDescripcionesProcesos.P_str_Error_Datos_vacios_Tabprov;
                                                int_estadoProcesosInternos = EnumEstadosProcesosPagos.codigo_estado_Error_insert_tabNexo_DBF;
                                                return(filasAfectadas);
                                            }

                                            filasAfectadas             = EnumEstadosProcesosPagos.codigo_estado_transaccion_monto;
                                            int_estadoProcesosInternos = EnumEstadosProcesosPagos.codigo_estado_procesos_internos;
                                            return(filasAfectadas);
                                        }
                                        else
                                        {
                                            ObjError.GrabarErrores(Convert.ToDateTime(str_fecha_hoy), Environment.MachineName, str_login_usrs, 0,
                                                                   MgsDescripcionesProcesos.P_str_Error_Actualiza_MovDia, false,
                                                                   EnumEstadosProcesosPagos.codigo_estado_procesos_internos,
                                                                   MgsDescripcionesProcesos.P_str_moduloServicio);

                                            filasAfectadas             = EnumEstadosProcesosPagos.codigo_estado_error_procesos_internos;
                                            int_estadoProcesosInternos = EnumEstadosProcesosPagos.codigo_estado_error_procesos_internos;
                                            return(filasAfectadas);
                                        }
                                    }
                                    else
                                    {
                                        ObjError.GrabarErrores(Convert.ToDateTime(str_fecha_hoy), Environment.MachineName, str_login_usrs, 0,
                                                               MgsDescripcionesProcesos.P_str_Error_saldos_cuentacorrientes, false,
                                                               EnumEstadosProcesosPagos.codigo_estado_Error_saldo_cuenta_corriente,
                                                               MgsDescripcionesProcesos.P_str_moduloServicio);

                                        filasAfectadas             = EnumEstadosProcesosPagos.codigo_estado_error_procesos_internos;
                                        str_descripcion_err_valida = MgsDescripcionesProcesos.P_str_Error_saldos_cuentacorrientes;
                                        int_estadoProcesosInternos = EnumEstadosProcesosPagos.codigo_estado_Error_saldo_cuenta_corriente;
                                        return(filasAfectadas);
                                    }
                                }
                                else
                                {
                                    ObjError.GrabarErrores(Convert.ToDateTime(str_fecha_hoy), Environment.MachineName, str_login_usrs, 0,
                                                           MgsDescripcionesProcesos.P_str_Error_error_validacion_campos + " " + str_descripcion_err_valida, false,
                                                           EnumEstadosProcesosPagos.codigo_estado_procesos_internos,
                                                           MgsDescripcionesProcesos.P_str_moduloServicio);

                                    filasAfectadas             = EnumEstadosProcesosPagos.codigo_estado_error_procesos_internos;
                                    int_estadoProcesosInternos = EnumEstadosProcesosPagos.codigo_estado_Error_validacion_campos;
                                    return(filasAfectadas);
                                }
                            }
                            else
                            {
                                ObjError.GrabarErrores(Convert.ToDateTime(str_fecha_hoy), Environment.MachineName, str_login_usrs, 9,
                                                       MgsDescripcionesProcesos.P_str_estado_error_transaccion_no_monto, false,
                                                       EnumEstadosProcesosPagos.codigo_estado_error_trans_no_monto,
                                                       MgsDescripcionesProcesos.P_str_moduloServicio);

                                filasAfectadas             = EnumEstadosProcesosPagos.codigo_estado_error_trans_no_monto;
                                str_descripcion_err_valida = MgsDescripcionesProcesos.P_str_Error_str_monto_mov_prov;
                                return(filasAfectadas);
                            }
                        }
                        else
                        {
                            filasAfectadas             = EnumEstadosProcesosPagos.codigo_estado_transaccion_proceso_no_data;
                            int_estadoProcesosInternos = EnumEstadosProcesosPagos.codigo_estado_error_procesos_internos;
                        }


                        //}else {
                        //    // Validar int_descinte = 0

                        //    filasAfectadas = EnumEstadosProcesosPagos.codigo_estado_error_procesos_internos;
                        //    int_estadoProcesosInternos = EnumEstadosProcesosPagos.codigo_estado_Error_desc_int;
                        //    str_descripcion_err_valida = MgsDescripcionesProcesos.P_str_Error_error_validacion_descint;

                        //}
                    }
                    else
                    {
                        filasAfectadas             = EnumEstadosProcesosPagos.codigo_estado_transaccion_proceso_no_data;
                        int_estadoProcesosInternos = EnumEstadosProcesosPagos.codigo_estado_error_procesos_internos;
                        str_descripcion_err_valida = MgsDescripcionesProcesos.P_str_estado_transaccion_proceso_no_data;
                    }
                }
                catch (Exception ex)
                {
                    filasAfectadas = EnumEstadosProcesosPagos.codigo_estado_transaccion_proceso_no_data_exception;
                    str_descripcionErrores_exceptions = "Error al realizar la operacion de datos ." + ex;
                    //GrabaError(ex, "Error al realizar la operacion de datos .");
                    // objFuncion.GrabaErrores(ex, ErrorDescripPagoAutomaticoCaja.ErrorDescripTransPagoAutomatico);

                    ObjError.GrabarErrores(Convert.ToDateTime(str_fecha_hoy), Environment.MachineName, str_login_usrs, 9,
                                           str_descripcionErrores_exceptions, false,
                                           EnumEstadosProcesosPagos.codigo_estado_transaccion_proceso_no_data_exception,
                                           MgsDescripcionesProcesos.P_str_moduloServicio);
                }
            }
            else
            {
                filasAfectadas             = EnumEstadosProcesosPagos.codigo_estado_validacion_diaHabil;
                int_estadoProcesosInternos = EnumEstadosProcesosPagos.codigo_estado_validacion_diaHabil;
            }

            return(filasAfectadas);
        }
        public Boolean ActualizarMovDiaNG(string rutcliente,
                                          string demandante,
                                          string correlat,
                                          string cod_cajero,
                                          DateTime fecha_pago,
                                          string esta_liqui,
                                          string num_caja,
                                          string tip_pag,
                                          string estado,
                                          string tip_mov,
                                          string tip_liq,
                                          string tip_pag_tos,
                                          string cod_cli,
                                          Decimal mto_oper,
                                          string num_doc,
                                          string banco,
                                          DateTime fec_oper,
                                          string hor_oper,
                                          DateTime fec_dia,
                                          string cod_suc,
                                          string login_user,
                                          string folioND)
        {
            bool trans = false;
            PagoAutomaticoMov objPagoAu = new PagoAutomaticoMov();
            PagoAutomatico    ObjPA     = new PagoAutomatico();

            try
            {
                if (ObjPA.ActualizarPagoAutomaticoMov(rutcliente,
                                                      demandante,
                                                      correlat,
                                                      cod_cajero,
                                                      fecha_pago,
                                                      esta_liqui,
                                                      num_caja,
                                                      tip_pag,
                                                      estado,
                                                      tip_mov,
                                                      tip_liq,
                                                      tip_pag_tos,
                                                      cod_cli,
                                                      mto_oper,
                                                      num_doc,
                                                      banco,
                                                      fec_oper,
                                                      hor_oper,
                                                      fec_dia,
                                                      cod_suc,
                                                      login_user,
                                                      folioND) == true)
                {
                    trans = true;
                }
                else
                {
                    trans = false;
                }
            }
            catch (Exception ex)
            {
                objParam.GrabarErrores(FechaSis.Date, Environment.MachineName, Environment.MachineName, ParametrosPagoAutoData.P_int_codigo_modulo, "Error SqlException : " + ex.ToString(), false,
                                       ParametrosPagoAutoData.P_int_codigo_error_Sql_exceptions,
                                       ParametrosPagoAutoData.P_str_codigo_moduloServicio + "/Negocio/ActualizarMovDiaNG");
            }

            return(trans);
        }
Esempio n. 7
0
        public bool DisponibilidadWSFinDeMes(string str_cod_cli)
        {
            bool           disponibilidadWS = true;
            DateTime       date             = DateTime.Now; // solo pruebas ya que se necesita fecha servidor
            DataTable      dt                 = new DataTable();
            DataSet        ds_diahabil        = new DataSet();
            DataSet        ds_diahabilmes     = new DataSet();
            DataSet        ds_fechas_servidor = new DataSet();
            PagoAutomatico ObjPagoAuto        = new PagoAutomatico();
            ParamsDates    ObjDate            = new ParamsDates();

            try
            {
                // se realiza la operacion de disponibilidad de dias
                ds_fechas_servidor = ObjDate.getFechasServidor();

                date = Convert.ToDateTime(ds_fechas_servidor.Tables[0].Rows[0]["fechahoramin"].ToString());

                str_mes  = Convert.ToString(date.Date.Month);
                str_dia  = Convert.ToString(date.Date.Day);
                str_ano  = Convert.ToString(date.Date.Year);
                str_hora = Convert.ToString(date.Hour) + ":" + Convert.ToString(date.Minute);


                str_fecha_actual = formatoDia(str_dia) + "-" + str_mes + "-" + str_ano;

                ds_diahabilmes = ObjPagoAuto.BuscarDiasHabilporMes(str_mes);

                if (ds_diahabilmes.Tables[0].Rows.Count == 0)
                {
                }
                else
                {
                    foreach (DataRow dataRow in ds_diahabilmes.Tables[0].Rows)
                    {
                        string str_diatemporal = Convert.ToString(Convert.ToString(dataRow["dia"]));

                        if (str_diatemporal.Equals(formatoDia(str_dia)))
                        {
                            str_dia_ultimo_vigente = Convert.ToString(Convert.ToString(dataRow["dia"]));
                        }
                    }
                }

                if (!string.IsNullOrEmpty(str_dia_ultimo_vigente))
                {
                    // date = Convert.ToDateTime("19-11-2011");
                    // str_fecha_ultimo_dia = Convert.ToString(FechaHabil(date, str_cod_cli));
                    str_fecha_ultimo_dia = formatoDia(str_dia_ultimo_vigente) + "-" + str_mes + "-" + str_ano;

                    //llamar rutina para obtencion de datos de bd

                    ds_diahabil = ObjPagoAuto.BuscarUltimoDiasHabil(str_fecha_ultimo_dia);
                }
                else
                {
                    ds_diahabil = null;
                }

                if (ds_diahabil == null || ds_diahabil.Tables[0].Rows.Count == 0)
                {
                    str_fecha = "";
                    str_corte = "";
                }
                else
                {
                    str_fecha = ds_diahabil.Tables[0].Rows[0]["fecha"].ToString();
                    str_corte = ds_diahabil.Tables[0].Rows[0]["corte"].ToString();
                }

                //verifica si fecha ultimo dia viene vacia desde BD
                //if (str_fecha == "" || string.IsNullOrEmpty(str_fecha))
                //{
                //    disponibilidadWS = false;

                //}else {

                if (str_fecha_actual == str_fecha)
                {
                    if (Convert.ToDateTime(str_hora).Hour >= Convert.ToDateTime(str_corte).Hour)
                    {
                        disponibilidadWS = false;
                    }
                    else
                    {
                        disponibilidadWS = true;
                    }
                }
                else
                {
                    disponibilidadWS = true;
                }
                //}
            }
            catch (Exception ex)
            {
                disponibilidadWS = false;
                objParam.GrabarErrores(FechaSis.Date, Environment.MachineName, Environment.MachineName, ParametrosPagoAutoData.P_int_codigo_modulo, "Error SqlException : " + ex.ToString(), false,
                                       ParametrosPagoAutoData.P_int_codigo_error_Sql_exceptions,
                                       ParametrosPagoAutoData.P_str_codigo_moduloServicio + "/Negocio/MDL_funciones/DisponibilidadWSFinDeMes");
            }
            return(disponibilidadWS);
        }