public void load_datos()
        {
            try
            {
                gridControlCancelacion.DataSource = BindLstPrestamo;


                listParaBan = paramBa_B.Get_List_Banco_Parametros(param.IdEmpresa);
                paramBa_I   = listParaBan.Find(delegate(ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info P) { return(P.CodTipoCbteBan == "NDBA"); });


                if (paramBa_I == null)
                {
                    MessageBox.Show("No puede continuar porque no han ingresado los parámetros de banco.. Ingréselos desde la pantalla de parámetros de banco", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    this.Close();
                }
                else
                {
                    if (paramBa_I.IdCtaCble == null || paramBa_I.IdCtaCble == "" || paramBa_I.IdTipoCbteCble == null || paramBa_I.IdTipoCbteCble < 1 || paramBa_I.IdTipoCbteCble_Anu == null || paramBa_I.IdTipoCbteCble_Anu < 1)
                    {
                        MessageBox.Show("No puede continuar porque están incompletos los parámetros de banco.. Ingréselos desde la pantalla de parámetros de banco", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                        this.Close();
                    }
                }

                _IdTipoCbte_ND = paramBa_I.IdTipoCbteCble;
            }
            catch (Exception ex)
            {
                string NameMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                MessageBox.Show(param.Get_Mensaje_sys(enum_Mensajes_sys.Error_comunicarse_con_sistemas) + ex.Message + " ", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                Log_Error_bus.Log_Error(NameMetodo + " - " + ex.ToString());
            }
        }
Esempio n. 2
0
 public void load_data()
 {
     try
     {
         listParaBan = paramBa_B.Get_List_Banco_Parametros(param.IdEmpresa);
         paramBa_I   = listParaBan.Find(delegate(ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info P) { return(P.CodTipoCbteBan == "DEPO"); });
         if (paramBa_I == null)
         {
             MessageBox.Show("No puede continuar porque no han ingresado los parámetros de banco.. \n Ingréselos desde la pantalla de parámetros de banco o, comuníquese  con sistemas", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
             //toolStripButton1.Enabled = false;
             //toolStripButtonAnular.Enabled = false;
             //toolStripButtonConsultar.Enabled = false;
             //toolStripButton2.Enabled = false;
         }
         //this.gridControlCbteBanDep.DataSource = CbteBan_B.ObtenerList(param.IdEmpresa, paramBa_I.IdTipoCbteCble, paramBa_I.IdTipoCbteCble, dtp_desde.Value, dtp_hasta.Value);
         this.gridControlCbteBanDep.DataSource = CbteBan_B.Get_List_Cbte_Ban(param.IdEmpresa
                                                                             , paramBa_I.IdTipoCbteCble, paramBa_I.IdTipoCbteCble
                                                                             , ucGe_Menu_Mantenimiento_x_usuario.fecha_desde, ucGe_Menu_Mantenimiento_x_usuario.fecha_hasta, ref MensajeError);
     }
     catch (Exception ex)
     {
         string NameMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
         MessageBox.Show(param.Get_Mensaje_sys(enum_Mensajes_sys.Error_comunicarse_con_sistemas) + ex.Message + " ", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
         Log_Error_bus.Log_Error(NameMetodo + " - " + ex.ToString());
     }
 }
Esempio n. 3
0
        public void AddRow(ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info info_det, decimal IdTransaccionSession)
        {
            int IdEmpresa = string.IsNullOrEmpty(SessionFixed.IdEmpresa) ? 0 : Convert.ToInt32(SessionFixed.IdEmpresa);

            List <ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info> list = get_list(IdTransaccionSession);

            info_det.Secuencia = list.Count == 0 ? 1 : list.Max(q => q.Secuencia) + 1;
            list.Add(info_det);
        }
Esempio n. 4
0
        public Boolean AnularDB(ba_transferencia_Info info, ref string msg)
        {
            Boolean res = true;

            try
            {
                ct_Cbtecble_Bus busCbte = new ct_Cbtecble_Bus();
                ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info parametros = new ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info();
                ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Bus  busParam   = new ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Bus();

                if (info != null)
                {
                    decimal rev = 0;
                    parametros = busParam.Get_List_Cbte_Ban_tipo_x_ct_CbteCble_tipo(info.IdEmpresa_origen).First(q => q.CodTipoCbteBan == "NDBA");
                    if (busCbte.ReversoCbteCble(info.IdEmpresa_origen, info.IdCbteCble_origen, info.IdTipocbte_origen, parametros.IdTipoCbteCble_Anu
                                                , ref rev, ref msg, info.IdUsuario_Anu, info.tr_MotivoAnulacion))
                    {
                        parametros = busParam.Get_List_Cbte_Ban_tipo_x_ct_CbteCble_tipo(info.IdEmpresa_destino).First(q => q.CodTipoCbteBan == "NCBA");

                        if (busCbte.ReversoCbteCble(info.IdEmpresa_destino, info.IdCbteCble_destino, info.IdTipocbte_destino, parametros.IdTipoCbteCble_Anu
                                                    , ref rev, ref msg, info.IdUsuario_Anu, info.tr_MotivoAnulacion))
                        {
                            if (data.AnularDB(info, ref msg))
                            {
                                return(true);
                            }
                            else
                            {
                                return(false);
                            }
                        }
                        else
                        {
                            return(false);
                        }
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    msg = "No existe el registro a anular..";
                }
                return(res);
            }
            catch (Exception ex)
            {
                Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
                throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "AnularDB", ex.Message), ex)
                      {
                          EntityType = typeof(ba_transferencia_Bus)
                      };
            }
        }
Esempio n. 5
0
        public void UpdateRow(ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info info_det, decimal IdTransaccionSession)
        {
            int IdEmpresa = string.IsNullOrEmpty(SessionFixed.IdEmpresa) ? 0 : Convert.ToInt32(SessionFixed.IdEmpresa);

            ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info edited_info = get_list(IdTransaccionSession).Where(m => m.Secuencia == info_det.Secuencia).First();

            edited_info.CodTipoCbteBan     = info_det.CodTipoCbteBan;
            edited_info.IdTipoCbteCble     = info_det.IdTipoCbteCble;
            edited_info.IdTipoCbteCble_Anu = info_det.IdTipoCbteCble_Anu;
            edited_info.Tipo_DebCred       = info_det.Tipo_DebCred;
        }
Esempio n. 6
0
        public ActionResult EditingUpdate([ModelBinder(typeof(DevExpressEditorsBinder))] ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info info_det)
        {
            if (ModelState.IsValid)
            {
                Lista_CbteBan_CbteCble.UpdateRow(info_det, Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
            }

            ba_parametros_Info model = new ba_parametros_Info();

            model.IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa);
            model.Lista_CbteBan_x_CbteCble = Lista_CbteBan_CbteCble.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual));
            cargar_combos(model.IdEmpresa);
            return(PartialView("_GridViewPartial_CbteBan_x_CbteCble", model));
        }
Esempio n. 7
0
        public void getGrid()
        {
            try
            {
                listaBancoParam = new List <ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info>();

                int focus = this.gridViewBancoParam.FocusedRowHandle;
                gridViewBancoParam.FocusedRowHandle = focus + 1;

                foreach (var item in ListaBind)
                {
                    ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info info = new ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info();
                    info.IdEmpresa          = param.IdEmpresa;
                    info.IdTipoCbteCble     = item.IdTipoCbteCble;
                    info.IdTipoCbteCble_Anu = item.IdTipoCbteCble_Anu;
                    info.IdCtaCble          = item.IdCtaCble;
                    info.Tipo_DebCred       = item.Tipo_DebCred == "Débito"?"D":"C";
                    info.CodTipoCbteBan     = item.CodTipoCbteBan;

                    listaBancoParam.Add(info);
                }


                InfoBancoOtroParam           = new ba_parametros_Info();
                InfoBancoOtroParam.IdEmpresa = param.IdEmpresa;
                InfoBancoOtroParam.El_Diario_Contable_es_modificable  = chkDiarioModi.Checked;
                InfoBancoOtroParam.CiudadDefaultParaCrearCheques      = cmbCiudad_Cheques.EditValue.ToString();
                InfoBancoOtroParam.IdTipoCbte_x_Prestamo              = cmbTipoCbteCble_x_Presta.get_TipoCbteCble().IdTipoCbte;
                InfoBancoOtroParam.IdTipoNota_ND_Can_Cuotas           = cmbTipoNotaDeb_x_Pres.get_TipoNotaInfo().IdTipoNota;
                InfoBancoOtroParam.Ruta_descarga_fila_x_PreAviso_cheq = txt_rutaDescarga_file_preAvisoChq.Text;
                if (ucCon_PlanCtaCmb.get_PlanCtaInfo().IdCtaCble != null)
                {
                    InfoBancoOtroParam.IdCtaCble_Interes = ucCon_PlanCtaCmb.get_PlanCtaInfo().IdCtaCble;
                }

                if (cmb_prestamos.get_PlanCtaInfo().IdCtaCble != null)
                {
                    InfoBancoOtroParam.IdCtaCble_prestamos = cmb_prestamos.get_PlanCtaInfo().IdCtaCble;
                }
            }
            catch (Exception ex)
            {
                string NameMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                MessageBox.Show(NameMetodo + " - " + ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Log_Error_bus.Log_Error(NameMetodo + " - " + ex.ToString());
            }
        }
Esempio n. 8
0
        public bool AnularDB(List <ba_Archivo_Transferencia_Det_Info> Lista)
        {
            try
            {
                ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info InfoParam_Banco = new ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info();
                ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Bus  BusParam_Banco  = new ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Bus();

                InfoParam_Banco = BusParam_Banco.Get_info_Cbte_Ban_tipo_x_ct_CbteCble_tipo(param.IdEmpresa, "NDBA");
                int IdTipo_rev = InfoParam_Banco.IdTipoCbteCble_Anu;

                string MensajeError = "";
                foreach (var item in Lista)
                {
                    oData.AnularDB(item);

                    Info_Comprobante_Bancario = Bus_Comprobante_Bancario.Get_Info_Cbte_Ban(Convert.ToInt32(item.IdEmpresa_pago), Convert.ToInt32(item.IdTipoCbte_pago), Convert.ToDecimal(item.IdCbteCble_pago), ref MensajeError);
                    if (Info_Comprobante_Bancario != null && Info_Comprobante_Bancario.IdEmpresa != 0)
                    {
                        ct_Cbtecble_Bus  CbteCble_B = new ct_Cbtecble_Bus();
                        ct_Cbtecble_Info CbteCble_I = new ct_Cbtecble_Info();

                        Info_Comprobante_Bancario.MotivoAnulacion = "Anulado por administrador de archivos";
                        Info_Comprobante_Bancario.IdUsuario_Anu   = param.IdUsuario;
                        Info_Comprobante_Bancario.FechaAnulacion  = param.Fecha_Transac;
                        decimal IdCbteCble_rev = 0;
                        CbteCble_B.ReversoCbteCble(Convert.ToInt32(item.IdEmpresa_pago), Convert.ToDecimal(item.IdCbteCble_pago), Convert.ToInt32(item.IdTipoCbte_pago), IdTipo_rev, ref IdCbteCble_rev, ref MensajeError, Info_Comprobante_Bancario.MotivoAnulacion);

                        Info_Comprobante_Bancario.IdTipoCbte_Anulacion = IdTipo_rev;
                        Info_Comprobante_Bancario.IdCbteCble_Anulacion = IdCbteCble_rev;
                        cp_orden_pago_cancelaciones_Bus OGPagos_B = new cp_orden_pago_cancelaciones_Bus();
                        OGPagos_B.Eliminar_OrdenPagoCancelaciones(Info_Comprobante_Bancario.IdEmpresa, Info_Comprobante_Bancario.IdTipocbte, Info_Comprobante_Bancario.IdCbteCble, ref MensajeError);
                        Bus_Comprobante_Bancario.AnularDB(Info_Comprobante_Bancario, ref MensajeError);
                    }
                }
                return(true);
            }
            catch (Exception ex)
            {
                Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
                throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "Get_List_Archivo_transferencia_Det", ex.Message), ex)
                      {
                          EntityType = typeof(ba_Archivo_Transferencia_Det_Bus)
                      };
            }
        }
        public Boolean ValidaParametros(string TipoCbtBan)
        {
            try
            {
                listParaBan = paramBa_B.Get_List_Banco_Parametros(param.IdEmpresa);
                paramBa_I   = listParaBan.Find(delegate(ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info P) { return(P.CodTipoCbteBan == TipoCbtBan); });

                if (paramBa_I == null)
                {
                    MessageBox.Show("No puede continuar porque no han ingresado los parámetros de banco..\n Ingréselos desde la pantalla de parámetros de banco o, comuníquese  con sistemas", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    ucGe_Menu.Visible_btnGuardar         = false;
                    ucGe_Menu.Visible_bntGuardar_y_Salir = false;
                    return(false);
                }
                else
                {
                    if (paramBa_I.IdTipoCbteCble == null || paramBa_I.IdTipoCbteCble < 1 || paramBa_I.IdTipoCbteCble_Anu == null || paramBa_I.IdTipoCbteCble_Anu < 1)
                    {
                        MessageBox.Show("No puede continuar porque están incompletos los parámetros de banco.. \n Ingréselos desde la pantalla de parámetros de banco o, comuníquese  con sistemas", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                        ucGe_Menu.Visible_btnGuardar         = false;
                        ucGe_Menu.Visible_bntGuardar_y_Salir = false;
                        return(false);
                    }
                    else
                    {
                        ucGe_Menu.Visible_btnGuardar         = true;
                        ucGe_Menu.Visible_bntGuardar_y_Salir = true;
                    }
                }



                IdTipoCbte = paramBa_I.IdTipoCbteCble;
                return(true);
            }
            catch (Exception ex)
            {
                string NameMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                MessageBox.Show(param.Get_Mensaje_sys(enum_Mensajes_sys.Error_comunicarse_con_sistemas) + ex.Message + " ", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                Log_Error_bus.Log_Error(NameMetodo + " - " + ex.ToString());
                return(false);
            }
        }
Esempio n. 10
0
        public List <ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info> Get_List_Banco_Parametros(int Idempresa)
        {
            try
            {
                List <ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info> lista = new List <ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info>();


                using (EntitiesBanco Entity = new EntitiesBanco())
                {
                    var Consulta = from q in Entity.vwba_Cbte_Ban_tipo_x_ct_CbteCble_tipo
                                   where q.IdEmpresa == Idempresa
                                   select q;

                    foreach (var item in Consulta)
                    {
                        ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info info = new ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info();

                        info.CodTipoCbteBan     = item.CodTipoCbteBan;
                        info.IdCtaCble          = item.IdCtaCble;
                        info.IdEmpresa          = item.IdEmpresa;
                        info.IdTipoCbteCble     = (item.IdTipoCbteCble == null) ? 0 : Convert.ToInt32(item.IdTipoCbteCble);
                        info.IdTipoCbteCble_Anu = (item.IdTipoCbteCble_Anu == null) ? 0 : Convert.ToInt32(item.IdTipoCbteCble_Anu);
                        info.Tipo_DebCred       = item.Tipo_DebCred;
                        info.nom_TipoCbteBan    = item.nom_TipoCbteBan;

                        lista.Add(info);
                    }


                    return(lista);
                }
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "",
                                                                                          "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                mensaje = ex.InnerException + " " + ex.Message;
                throw new Exception(ex.InnerException.ToString());
            }
        }
Esempio n. 11
0
        public FrmBA_Cancelacion_Cuotas()
        {
            try
            {
                InitializeComponent();
                ucGe_Menu.event_btnGuardar_Click         += ucGe_Menu_event_btnGuardar_Click;
                ucGe_Menu.event_btnGuardar_y_Salir_Click += ucGe_Menu_event_btnGuardar_y_Salir_Click;
                ucGe_Menu.event_btnSalir_Click           += ucGe_Menu_event_btnSalir_Click;


                listParaBan = paramBa_B.Get_List_Banco_Parametros(param.IdEmpresa);
                paramBa_I   = listParaBan.Find(delegate(ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info P) { return(P.CodTipoCbteBan == "NDBA"); });


                if (paramBa_I == null)
                {
                    MessageBox.Show("No puede continuar porque no han ingresado los parámetros de banco.. Ingréselos desde la pantalla de parámetros de banco", "SISTEMA", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    this.Close();
                }
                else
                {
                    if (paramBa_I.IdCtaCble == null || paramBa_I.IdCtaCble == "" || paramBa_I.IdTipoCbteCble == null || paramBa_I.IdTipoCbteCble < 1 || paramBa_I.IdTipoCbteCble_Anu == null || paramBa_I.IdTipoCbteCble_Anu < 1)
                    {
                        MessageBox.Show("No puede continuar porque están incompletos los parámetros de banco.. Ingréselos desde la pantalla de parámetros de banco", "SISTEMA", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        this.Close();
                    }
                }
            }
            catch (Exception ex)
            {
                string NameMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                NameMetodo = NameMetodo + " - " + ex.ToString();
                MessageBox.Show(NameMetodo + " " + param.Get_Mensaje_sys(enum_Mensajes_sys.Error_comunicarse_con_sistemas)
                                , param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                Log_Error_bus.Log_Error(NameMetodo + " - " + ex.ToString());
            }
        }
Esempio n. 12
0
        public bool Contabilizar_proceso(ba_Archivo_Transferencia_Info info_archivo, tb_banco_procesos_bancarios_x_empresa_Info info_procesos_x_empresa, string Origen)
        {
            try
            {
                bool res = false;
                if (info_archivo.Contabilizado != true)
                {
                    decimal IdCbteCble  = 0;
                    decimal Valor_total = 0;
                    string  Observacion = "";
                    int     cont        = 0;

                    info_Cbtecble_ban             = new ba_Cbte_Ban_Info();
                    info_cbte_ban_tipo_x_cbtecble = bus_cbte_ban_tipo_x_cbtecble.Get_info_Cbte_Ban_tipo_x_ct_CbteCble_tipo(info_archivo.IdEmpresa, "NDBA");
                    info_banco_cta = bus_banco_cta.Get_Info_Banco_Cuenta(info_archivo.IdEmpresa, info_archivo.IdBanco);

                    List <cp_orden_pago_cancelaciones_Info> list_op_cancelaciones    = new List <cp_orden_pago_cancelaciones_Info>();
                    List <ba_Archivo_Transferencia_Det>     list_archivo_detalle_act = new List <ba_Archivo_Transferencia_Det>();

                    switch (info_archivo.IdProceso_bancario)
                    {
                    case "PAGO_PROVEEDORES_BOL":
                        #region Pago a proveedores del bolivariano
                        var list_secuenciales = (from q in info_archivo.Lst_Archivo_Transferencia_Det
                                                 group q by new { q.Secuencial_reg_x_proceso }
                                                 into secuenciales
                                                 select new
                        {
                            secuencial = secuenciales.Key.Secuencial_reg_x_proceso == null ? 0 : Convert.ToDecimal(secuenciales.Key.Secuencial_reg_x_proceso)
                        });

                        foreach (var item in list_secuenciales.OrderBy(q => q.secuencial))
                        {
                            //OBTENGO LA LISTA DE OP PARA HACER DIARIOS POR PROVEEDOR
                            list_op_cancelaciones = new List <cp_orden_pago_cancelaciones_Info>();
                            List <decimal> list_op = new List <decimal>();


                            foreach (var det_archivo in info_archivo.Lst_Archivo_Transferencia_Det.Where(q => q.Secuencial_reg_x_proceso == item.secuencial).ToList())
                            {
                                list_op.Add(det_archivo.IdOrdenPago == null ? 0 : (decimal)det_archivo.IdOrdenPago);
                            }
                            List <cp_orden_pago_det_Info> list_op_det = new List <cp_orden_pago_det_Info>();
                            cp_orden_pago_det_Bus         bus_op_det  = new cp_orden_pago_det_Bus();

                            //OBTENGO LA LISTA DE LAS OP PARA MATAR CON LA NDBA
                            list_op_det = bus_op_det.Get_list_orden_pago_con_cta_acreedora(info_archivo.IdEmpresa, list_op);

                            #region Armo cabecera diario
                            info_Cbtecble_ban.info_Cbtecble      = new ct_Cbtecble_Info();
                            info_Cbtecble_ban.IdEmpresa          = info_Cbtecble_ban.info_Cbtecble.IdEmpresa = info_archivo.IdEmpresa;
                            info_Cbtecble_ban.IdTipocbte         = info_Cbtecble_ban.info_Cbtecble.IdTipoCbte = info_cbte_ban_tipo_x_cbtecble.IdTipoCbteCble;
                            info_Cbtecble_ban.IdCbteCble         = info_Cbtecble_ban.info_Cbtecble.IdCbteCble = 0;
                            info_Cbtecble_ban.IdPeriodo          = info_Cbtecble_ban.info_Cbtecble.IdPeriodo = (info_archivo.Fecha.Year * 100) + info_archivo.Fecha.Month;
                            info_Cbtecble_ban.cb_Fecha           = info_Cbtecble_ban.info_Cbtecble.cb_Fecha = info_archivo.Fecha;
                            info_Cbtecble_ban.cb_secuencia       = info_Cbtecble_ban.info_Cbtecble.Secuencia = 0;
                            info_Cbtecble_ban.info_Cbtecble.Anio = info_archivo.Fecha.Year;
                            info_Cbtecble_ban.info_Cbtecble.Mes  = info_archivo.Fecha.Month;
                            info_Cbtecble_ban.IdUsuario          = info_Cbtecble_ban.info_Cbtecble.IdUsuario = info_archivo.IdUsuario;
                            info_Cbtecble_ban.Fecha_Transac      = info_Cbtecble_ban.info_Cbtecble.cb_FechaTransac = DateTime.Now;

                            info_Cbtecble_ban.IdSucursal       = info_Cbtecble_ban.info_Cbtecble.IdSucursal = 1;
                            info_Cbtecble_ban.cb_ChequeImpreso = "N"; info_Cbtecble_ban.info_Cbtecble.Mayorizado = "N";
                            info_Cbtecble_ban.info_Cbtecble._cbteCble_det_lista_info = new List <ct_Cbtecble_det_Info>();
                            info_Cbtecble_ban.Estado = info_Cbtecble_ban.info_Cbtecble.Estado = "A";
                            #endregion

                            #region Armo detalle diario
                            Valor_total = 0;
                            Observacion = "OB# " + item.secuencial + " NDBA x " + info_archivo.IdProceso_bancario + " # " + info_archivo.IdArchivo.ToString();

                            cont = 0;
                            foreach (var det_op in list_op_det)
                            {
                                if (cont == 0)
                                {
                                    Observacion += " " + det_op.IdTipo_Persona + ": [" + det_op.IdEntidad.ToString() + "] " + det_op.pr_nombre.Trim();
                                    cont++;
                                }

                                //validacion si llega una op para adjuntar como referencia
                                if (det_op.Referencia == null)
                                {
                                    Observacion += ", OP#" + det_op.IdOrdenPago;
                                }
                                else
                                {
                                    Observacion += ", " + det_op.Referencia;
                                }

                                Valor_total += Convert.ToDecimal(Math.Round(det_op.Valor_a_pagar, 2, MidpointRounding.AwayFromZero));

                                ct_Cbtecble_det_Info Debe = new ct_Cbtecble_det_Info();
                                Debe.IdEmpresa      = info_Cbtecble_ban.info_Cbtecble.IdEmpresa;
                                Debe.IdTipoCbte     = info_Cbtecble_ban.info_Cbtecble.IdTipoCbte;
                                Debe.IdCbteCble     = 0;
                                Debe.secuencia      = 0;
                                Debe.IdCtaCble      = det_op.IdCtaCble_Acreedora;
                                Debe.dc_Valor       = Convert.ToDouble(Math.Round(Convert.ToDecimal(det_op.Valor_a_pagar), 2, MidpointRounding.AwayFromZero));
                                Debe.dc_Observacion = "OB# " + item.secuencial + " NDBA x " + info_archivo.IdProceso_bancario + " # " + info_archivo.IdArchivo.ToString() + " " + det_op.IdTipo_Persona + ": [" + det_op.IdEntidad.ToString() + "] " + det_op.pr_nombre.Trim() + " " + det_op.Referencia;
                                info_Cbtecble_ban.info_Cbtecble._cbteCble_det_lista_info.Add(Debe);

                                //Cabecera de cbte bancario necesita id proveedor
                                info_Cbtecble_ban.IdProveedor = det_op.IdEntidad;

                                #region Cancelaciones x op
                                cp_orden_pago_cancelaciones_Info info_op_cancelaciones = new cp_orden_pago_cancelaciones_Info();

                                info_op_cancelaciones.IdEmpresa        = info_archivo.IdEmpresa;
                                info_op_cancelaciones.Idcancelacion    = 0;
                                info_op_cancelaciones.Secuencia        = 0;
                                info_op_cancelaciones.IdEmpresa_op     = det_op.IdEmpresa;
                                info_op_cancelaciones.IdOrdenPago_op   = det_op.IdOrdenPago;
                                info_op_cancelaciones.Secuencia_op     = det_op.Secuencia;
                                info_op_cancelaciones.IdEmpresa_cxp    = det_op.IdEmpresa_cxp;
                                info_op_cancelaciones.IdTipoCbte_cxp   = det_op.IdTipoCbte_cxp;
                                info_op_cancelaciones.IdCbteCble_cxp   = det_op.IdCbteCble_cxp;
                                info_op_cancelaciones.MontoAplicado    = det_op.Valor_a_pagar;
                                info_op_cancelaciones.SaldoActual      = 0;
                                info_op_cancelaciones.SaldoAnterior    = 0;
                                info_op_cancelaciones.Observacion      = "Canc./ de OP con Archivo bancario x " + info_archivo.IdProceso_bancario + " #" + info_archivo.IdArchivo.ToString();
                                info_op_cancelaciones.fechaTransaccion = info_archivo.Fecha;

                                list_op_cancelaciones.Add(info_op_cancelaciones);
                                #endregion
                            }

                            ct_Cbtecble_det_Info Haber = new ct_Cbtecble_det_Info();
                            Haber.IdEmpresa         = info_Cbtecble_ban.info_Cbtecble.IdEmpresa;
                            Haber.IdTipoCbte        = info_Cbtecble_ban.info_Cbtecble.IdTipoCbte;
                            Haber.IdCbteCble        = 0;
                            Haber.secuencia         = 0;
                            Haber.IdCtaCble         = info_banco_cta.IdCtaCble;
                            Haber.dc_Valor          = Convert.ToDouble(Math.Round(Valor_total, 2, MidpointRounding.AwayFromZero)) * -1;
                            Haber.dc_Observacion    = Observacion;
                            Haber.dc_para_conciliar = true;
                            info_Cbtecble_ban.info_Cbtecble._cbteCble_det_lista_info.Add(Haber);
                            #endregion

                            info_Cbtecble_ban.cb_Valor       = info_Cbtecble_ban.info_Cbtecble.cb_Valor = Convert.ToDouble(Math.Round(Valor_total, 2, MidpointRounding.AwayFromZero));
                            info_Cbtecble_ban.cb_Observacion = info_Cbtecble_ban.info_Cbtecble.cb_Observacion = Observacion;
                            IdCbteCble = 0;

                            #region Grabar
                            if (bus_Cbtecble_conta.GrabarDB(info_Cbtecble_ban.info_Cbtecble, ref IdCbteCble, ref mensaje_error))
                            {
                                info_Cbtecble_ban.IdBanco    = info_archivo.IdBanco;
                                info_Cbtecble_ban.IdCbteCble = IdCbteCble;
                                info_Cbtecble_ban.IdTipoNota = info_procesos_x_empresa.IdTipoNota;

                                bus_Cbtecble_ban.GrabarDB(info_Cbtecble_ban, ref mensaje_error);

                                var list_agrup = (from q in list_op_cancelaciones
                                                  group q by new
                                {
                                    q.IdEmpresa,
                                    q.Idcancelacion,
                                    q.Secuencia,
                                    q.IdEmpresa_op,
                                    q.IdOrdenPago_op,
                                    q.Secuencia_op,
                                    q.IdEmpresa_cxp,
                                    q.IdTipoCbte_cxp,
                                    q.IdCbteCble_cxp,
                                    q.MontoAplicado,
                                    q.SaldoActual,
                                    q.SaldoAnterior,
                                    q.Observacion,
                                    q.fechaTransaccion
                                }
                                                  into Lista_agrupada
                                                  select new
                                {
                                    Lista_agrupada.Key.IdEmpresa,
                                    Lista_agrupada.Key.Idcancelacion,
                                    Lista_agrupada.Key.Secuencia,
                                    Lista_agrupada.Key.IdEmpresa_op,
                                    Lista_agrupada.Key.IdOrdenPago_op,
                                    Lista_agrupada.Key.Secuencia_op,
                                    Lista_agrupada.Key.IdEmpresa_cxp,
                                    Lista_agrupada.Key.IdTipoCbte_cxp,
                                    Lista_agrupada.Key.IdCbteCble_cxp,
                                    Lista_agrupada.Key.MontoAplicado,
                                    Lista_agrupada.Key.SaldoActual,
                                    Lista_agrupada.Key.SaldoAnterior,
                                    Lista_agrupada.Key.Observacion,
                                    Lista_agrupada.Key.fechaTransaccion
                                });
                                list_op_cancelaciones = new List <cp_orden_pago_cancelaciones_Info>();
                                foreach (var cancelacion in list_agrup)
                                {
                                    cp_orden_pago_cancelaciones_Info info_can = new cp_orden_pago_cancelaciones_Info();
                                    info_can.IdEmpresa        = cancelacion.IdEmpresa;
                                    info_can.Idcancelacion    = cancelacion.Idcancelacion;
                                    info_can.Secuencia        = cancelacion.Secuencia;
                                    info_can.IdEmpresa_op     = cancelacion.IdEmpresa_op;
                                    info_can.IdOrdenPago_op   = cancelacion.IdOrdenPago_op;
                                    info_can.Secuencia_op     = cancelacion.Secuencia_op;
                                    info_can.IdEmpresa_cxp    = cancelacion.IdEmpresa_cxp;
                                    info_can.IdTipoCbte_cxp   = cancelacion.IdTipoCbte_cxp;
                                    info_can.IdCbteCble_cxp   = cancelacion.IdCbteCble_cxp;
                                    info_can.MontoAplicado    = cancelacion.MontoAplicado;
                                    info_can.SaldoActual      = cancelacion.SaldoActual;
                                    info_can.SaldoAnterior    = cancelacion.SaldoAnterior;
                                    info_can.Observacion      = cancelacion.Observacion;
                                    info_can.fechaTransaccion = cancelacion.fechaTransaccion;
                                    info_can.IdEmpresa_pago   = info_Cbtecble_ban.info_Cbtecble.IdEmpresa;
                                    info_can.IdTipoCbte_pago  = info_Cbtecble_ban.info_Cbtecble.IdTipoCbte;
                                    info_can.IdCbteCble_pago  = IdCbteCble;
                                    list_op_cancelaciones.Add(info_can);
                                }
                                bus_op_cancelaciones.GuardarDB(list_op_cancelaciones, info_archivo.IdEmpresa, ref mensaje_error);
                            }

                            #endregion
                        }
                        res = true;
                        info_archivo.Contabilizado = true;
                        #endregion
                        break;

                    default:
                        if (info_archivo.Origen_Archivo != "RRHH")
                        {
                            #region Pago a proveedores que tengan op

                            //OBTENGO LA LISTA DE OP PARA HACER DIARIOS POR PROVEEDOR

                            List <decimal> list_op_x_canc = new List <decimal>();
                            foreach (var det_archivo in info_archivo.Lst_Archivo_Transferencia_Det)
                            {
                                list_op_x_canc.Add(det_archivo.IdOrdenPago == null ? 0 : (decimal)det_archivo.IdOrdenPago);
                            }
                            List <cp_orden_pago_det_Info> list_op_det_x_cancelar = new List <cp_orden_pago_det_Info>();
                            cp_orden_pago_det_Bus         bus_op_det_x_cancelar  = new cp_orden_pago_det_Bus();
                            //OBTENGO LA LISTA DE LAS OP PARA MATAR CON LA NDBA
                            list_op_det_x_cancelar = bus_op_det_x_cancelar.Get_list_orden_pago_con_cta_acreedora(info_archivo.IdEmpresa, list_op_x_canc);

                            foreach (var det_op in list_op_det_x_cancelar)
                            {
                                list_op_cancelaciones = new List <cp_orden_pago_cancelaciones_Info>();
                                #region Armo cabecera diario
                                info_Cbtecble_ban.info_Cbtecble      = new ct_Cbtecble_Info();
                                info_Cbtecble_ban.IdEmpresa          = info_Cbtecble_ban.info_Cbtecble.IdEmpresa = info_archivo.IdEmpresa;
                                info_Cbtecble_ban.IdTipocbte         = info_Cbtecble_ban.info_Cbtecble.IdTipoCbte = info_cbte_ban_tipo_x_cbtecble.IdTipoCbteCble;
                                info_Cbtecble_ban.IdCbteCble         = info_Cbtecble_ban.info_Cbtecble.IdCbteCble = 0;
                                info_Cbtecble_ban.IdPeriodo          = info_Cbtecble_ban.info_Cbtecble.IdPeriodo = (info_archivo.Fecha.Year * 100) + info_archivo.Fecha.Month;
                                info_Cbtecble_ban.cb_Fecha           = info_Cbtecble_ban.info_Cbtecble.cb_Fecha = info_archivo.Fecha;
                                info_Cbtecble_ban.cb_secuencia       = info_Cbtecble_ban.info_Cbtecble.Secuencia = 0;
                                info_Cbtecble_ban.info_Cbtecble.Anio = info_archivo.Fecha.Year;
                                info_Cbtecble_ban.info_Cbtecble.Mes  = info_archivo.Fecha.Month;
                                info_Cbtecble_ban.IdUsuario          = info_Cbtecble_ban.info_Cbtecble.IdUsuario = info_archivo.IdUsuario;
                                info_Cbtecble_ban.Fecha_Transac      = info_Cbtecble_ban.info_Cbtecble.cb_FechaTransac = DateTime.Now;

                                info_Cbtecble_ban.IdSucursal       = info_Cbtecble_ban.info_Cbtecble.IdSucursal = 1;
                                info_Cbtecble_ban.cb_ChequeImpreso = "N"; info_Cbtecble_ban.info_Cbtecble.Mayorizado = "N";
                                info_Cbtecble_ban.info_Cbtecble._cbteCble_det_lista_info = new List <ct_Cbtecble_det_Info>();
                                info_Cbtecble_ban.Estado = info_Cbtecble_ban.info_Cbtecble.Estado = "A";
                                #endregion

                                #region Armo detalle diario
                                Valor_total = 0;
                                Observacion = info_archivo.IdProceso_bancario + " # " + info_archivo.IdArchivo.ToString();

                                cont = 0;

                                if (cont == 0)
                                {
                                    Observacion += " " + det_op.IdTipo_Persona + ": [" + det_op.IdEntidad.ToString() + "] " + det_op.pr_nombre.Trim();
                                    cont++;
                                }
                                Observacion += ", " + det_op.Referencia;
                                Valor_total += Convert.ToDecimal(Math.Round(det_op.Valor_a_pagar, 2, MidpointRounding.AwayFromZero));

                                ct_Cbtecble_det_Info Debe = new ct_Cbtecble_det_Info();
                                Debe.IdEmpresa      = info_Cbtecble_ban.info_Cbtecble.IdEmpresa;
                                Debe.IdTipoCbte     = info_Cbtecble_ban.info_Cbtecble.IdTipoCbte;
                                Debe.IdCbteCble     = 0;
                                Debe.secuencia      = 0;
                                Debe.IdCtaCble      = det_op.IdCtaCble_Acreedora;
                                Debe.dc_Valor       = Convert.ToDouble(Math.Round(Convert.ToDecimal(det_op.Valor_a_pagar), 2, MidpointRounding.AwayFromZero));
                                Debe.dc_Observacion = info_archivo.IdProceso_bancario + " # " + info_archivo.IdArchivo.ToString() + " " + det_op.IdTipo_Persona + ": [" + det_op.IdEntidad.ToString() + "] " + det_op.pr_nombre.Trim() + " " + det_op.Referencia;
                                info_Cbtecble_ban.info_Cbtecble._cbteCble_det_lista_info.Add(Debe);

                                //Cabecera de cbte bancario necesita id proveedor
                                info_Cbtecble_ban.IdProveedor = det_op.IdEntidad;

                                #region Cancelaciones x op
                                cp_orden_pago_cancelaciones_Info info_op_cancelaciones = new cp_orden_pago_cancelaciones_Info();

                                info_op_cancelaciones.IdEmpresa        = info_archivo.IdEmpresa;
                                info_op_cancelaciones.Idcancelacion    = 0;
                                info_op_cancelaciones.Secuencia        = 0;
                                info_op_cancelaciones.IdEmpresa_op     = det_op.IdEmpresa;
                                info_op_cancelaciones.IdOrdenPago_op   = det_op.IdOrdenPago;
                                info_op_cancelaciones.Secuencia_op     = det_op.Secuencia;
                                info_op_cancelaciones.IdEmpresa_cxp    = det_op.IdEmpresa_cxp;
                                info_op_cancelaciones.IdTipoCbte_cxp   = det_op.IdTipoCbte_cxp;
                                info_op_cancelaciones.IdCbteCble_cxp   = det_op.IdCbteCble_cxp;
                                info_op_cancelaciones.MontoAplicado    = det_op.Valor_a_pagar;
                                info_op_cancelaciones.SaldoActual      = 0;
                                info_op_cancelaciones.SaldoAnterior    = 0;
                                info_op_cancelaciones.Observacion      = "Canc./ de OP con Archivo bancario x " + info_archivo.IdProceso_bancario + " #" + info_archivo.IdArchivo.ToString();
                                info_op_cancelaciones.fechaTransaccion = info_archivo.Fecha;

                                list_op_cancelaciones.Add(info_op_cancelaciones);
                                #endregion


                                ct_Cbtecble_det_Info Haber_op = new ct_Cbtecble_det_Info();
                                Haber_op.IdEmpresa         = info_Cbtecble_ban.info_Cbtecble.IdEmpresa;
                                Haber_op.IdTipoCbte        = info_Cbtecble_ban.info_Cbtecble.IdTipoCbte;
                                Haber_op.IdCbteCble        = 0;
                                Haber_op.secuencia         = 0;
                                Haber_op.IdCtaCble         = info_banco_cta.IdCtaCble;
                                Haber_op.dc_Valor          = Convert.ToDouble(Math.Round(Valor_total, 2, MidpointRounding.AwayFromZero)) * -1;
                                Haber_op.dc_Observacion    = Observacion;
                                Haber_op.dc_para_conciliar = true;
                                info_Cbtecble_ban.info_Cbtecble._cbteCble_det_lista_info.Add(Haber_op);
                                #endregion

                                info_Cbtecble_ban.cb_Valor       = info_Cbtecble_ban.info_Cbtecble.cb_Valor = Convert.ToDouble(Math.Round(Valor_total, 2, MidpointRounding.AwayFromZero));
                                info_Cbtecble_ban.cb_Observacion = info_Cbtecble_ban.info_Cbtecble.cb_Observacion = Observacion;
                                IdCbteCble = 0;

                                #region Grabar
                                if (bus_Cbtecble_conta.GrabarDB(info_Cbtecble_ban.info_Cbtecble, ref IdCbteCble, ref mensaje_error))
                                {
                                    info_Cbtecble_ban.IdBanco    = info_archivo.IdBanco;
                                    info_Cbtecble_ban.IdCbteCble = IdCbteCble;
                                    info_Cbtecble_ban.IdTipoNota = info_procesos_x_empresa.IdTipoNota;

                                    bus_Cbtecble_ban.GrabarDB(info_Cbtecble_ban, ref mensaje_error);

                                    ba_Archivo_Transferencia_Det_Info info_archivo_det = new ba_Archivo_Transferencia_Det_Info();

                                    info_archivo_det = info_archivo.Lst_Archivo_Transferencia_Det.FirstOrDefault(q => q.IdEmpresa_OP == det_op.IdEmpresa && q.IdOrdenPago == det_op.IdOrdenPago && q.Secuencia_OP == det_op.Secuencia);
                                    if (info_archivo_det != null)
                                    {
                                        info_archivo_det.IdEmpresa_pago  = info_Cbtecble_ban.IdEmpresa;
                                        info_archivo_det.IdTipoCbte_pago = info_Cbtecble_ban.IdTipocbte;
                                        info_archivo_det.IdCbteCble_pago = info_Cbtecble_ban.IdCbteCble;
                                        bus_archivo_det.ModificarDB(info_archivo_det);
                                    }

                                    var list_agrup = (from q in list_op_cancelaciones
                                                      group q by new
                                    {
                                        q.IdEmpresa,
                                        q.Idcancelacion,
                                        q.Secuencia,
                                        q.IdEmpresa_op,
                                        q.IdOrdenPago_op,
                                        q.Secuencia_op,
                                        q.IdEmpresa_cxp,
                                        q.IdTipoCbte_cxp,
                                        q.IdCbteCble_cxp,
                                        q.MontoAplicado,
                                        q.SaldoActual,
                                        q.SaldoAnterior,
                                        q.Observacion,
                                        q.fechaTransaccion
                                    }
                                                      into Lista_agrupada
                                                      select new
                                    {
                                        Lista_agrupada.Key.IdEmpresa,
                                        Lista_agrupada.Key.Idcancelacion,
                                        Lista_agrupada.Key.Secuencia,
                                        Lista_agrupada.Key.IdEmpresa_op,
                                        Lista_agrupada.Key.IdOrdenPago_op,
                                        Lista_agrupada.Key.Secuencia_op,
                                        Lista_agrupada.Key.IdEmpresa_cxp,
                                        Lista_agrupada.Key.IdTipoCbte_cxp,
                                        Lista_agrupada.Key.IdCbteCble_cxp,
                                        Lista_agrupada.Key.MontoAplicado,
                                        Lista_agrupada.Key.SaldoActual,
                                        Lista_agrupada.Key.SaldoAnterior,
                                        Lista_agrupada.Key.Observacion,
                                        Lista_agrupada.Key.fechaTransaccion
                                    });
                                    list_op_cancelaciones = new List <cp_orden_pago_cancelaciones_Info>();
                                    foreach (var cancelacion in list_agrup)
                                    {
                                        cp_orden_pago_cancelaciones_Info info_can = new cp_orden_pago_cancelaciones_Info();
                                        info_can.IdEmpresa        = cancelacion.IdEmpresa;
                                        info_can.Idcancelacion    = cancelacion.Idcancelacion;
                                        info_can.Secuencia        = cancelacion.Secuencia;
                                        info_can.IdEmpresa_op     = cancelacion.IdEmpresa_op;
                                        info_can.IdOrdenPago_op   = cancelacion.IdOrdenPago_op;
                                        info_can.Secuencia_op     = cancelacion.Secuencia_op;
                                        info_can.IdEmpresa_cxp    = cancelacion.IdEmpresa_cxp;
                                        info_can.IdTipoCbte_cxp   = cancelacion.IdTipoCbte_cxp;
                                        info_can.IdCbteCble_cxp   = cancelacion.IdCbteCble_cxp;
                                        info_can.MontoAplicado    = cancelacion.MontoAplicado;
                                        info_can.SaldoActual      = cancelacion.SaldoActual;
                                        info_can.SaldoAnterior    = cancelacion.SaldoAnterior;
                                        info_can.Observacion      = cancelacion.Observacion;
                                        info_can.fechaTransaccion = cancelacion.fechaTransaccion;
                                        info_can.IdEmpresa_pago   = info_Cbtecble_ban.info_Cbtecble.IdEmpresa;
                                        info_can.IdTipoCbte_pago  = info_Cbtecble_ban.info_Cbtecble.IdTipoCbte;
                                        info_can.IdCbteCble_pago  = IdCbteCble;
                                        list_op_cancelaciones.Add(info_can);
                                    }
                                    bus_op_cancelaciones.GuardarDB(list_op_cancelaciones, info_archivo.IdEmpresa, ref mensaje_error);
                                }
                            }

                            #endregion

                            res = true;
                            info_archivo.Contabilizado = true;
                            #endregion
                        }

                        break;
                    }
                    Actualizar_estado_contabilizacion(info_archivo);
                }

                return(res);
            }
            catch (Exception ex)
            {
                Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message);
                throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "Get_List_Archivo_transferencia", ex.Message), ex)
                      {
                          EntityType = typeof(ba_Archivo_Transferencia_Bus)
                      };
            }
        }
        private void Actualizar_Registros()
        {
            try
            {
                ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info InfoParam_Banco = new ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Info();
                ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Bus  BusParam_Banco  = new ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo_Bus();

                InfoParam_Banco = BusParam_Banco.Get_info_Cbte_Ban_tipo_x_ct_CbteCble_tipo(param.IdEmpresa, "NDBA");
                int     IdTipo_rev  = InfoParam_Banco.IdTipoCbteCble_Anu;
                Boolean Actualizado = false;

                if (info_Archivo.IdProceso_bancario == "ROL_ELECTRONICO_BG")
                {
                    BList_Archivo_Excel[0].Secuencia = 1;
                }

                var lst = (from A in BList_Archivo_Actualizado
                           join E in BList_Archivo_Excel
                           on A.Id_Item equals E.Id_Item
                           select new
                {
                    id_Item = A.Id_Item,
                    IdEstadoRegistro_cat = A.IdEstadoRegistro_cat,
                    nom_EstadoRegistro = E.nom_EstadoRegistro,
                    IdArchivo = E.IdArchivo,
                    IdEmpresa = E.IdEmpresa,
                    Secuencia = E.Secuencia,
                    Valor_cobrado = E.Valor_procesado,
                    Genera_anulacion = A.Genera_anulacion,

                    IdEmpresa_pago = A.IdEmpresa_pago,
                    IdTipoCbte_pago = A.IdTipoCbte_pago,
                    IdCbteCble_pago = A.IdCbteCble_pago,
                    cb_Estado = A.cb_Estado
                });
                progressBarActualizacion.Properties.Step        = 1;
                progressBarActualizacion.Properties.PercentView = true;
                progressBarActualizacion.Properties.Maximum     = lst.Count();
                progressBarActualizacion.Properties.Minimum     = 0;

                foreach (var item in lst)
                {
                    info_Archivo.Lst_Archivo_Transferencia_Det.FirstOrDefault(q => q.Secuencia == item.Secuencia).IdEstadoRegistro_cat = BList_Archivo_Actualizado.FirstOrDefault(q => q.Id_Item == item.id_Item).IdEstadoRegistro_cat = item.IdEstadoRegistro_cat;
                    info_Archivo.Lst_Archivo_Transferencia_Det.FirstOrDefault(q => q.Secuencia == item.Secuencia).nom_EstadoRegistro   = BList_Archivo_Actualizado.FirstOrDefault(q => q.Id_Item == item.id_Item).nom_EstadoRegistro = item.nom_EstadoRegistro;
                    BList_Archivo_Actualizado.FirstOrDefault(q => q.Id_Item == item.id_Item).IdArchivo          = item.IdArchivo;
                    BList_Archivo_Actualizado.FirstOrDefault(q => q.Id_Item == item.id_Item).IdEmpresa          = item.IdEmpresa;
                    BList_Archivo_Actualizado.FirstOrDefault(q => q.Id_Item == item.id_Item).Secuencia          = item.Secuencia;
                    BList_Archivo_Actualizado.FirstOrDefault(q => q.Id_Item == item.id_Item).Valor_cobrado      = item.Valor_cobrado;
                    BList_Archivo_Actualizado.FirstOrDefault(q => q.Id_Item == item.id_Item).IdProceso_bancario = info_Archivo.IdProceso_bancario;
                    Actualizado = BList_Archivo_Actualizado.FirstOrDefault(q => q.Id_Item == item.id_Item).Actualizado = bus_Archivo_Det.Actualizar_registro(BList_Archivo_Actualizado.FirstOrDefault(q => q.Id_Item == item.id_Item));

                    if (!Actualizado)
                    {
                        MessageBox.Show("No se pudo actualizar los registros", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                        break;
                    }
                    else
                    {
                        if (item.Genera_anulacion == true && item.cb_Estado == "A")
                        {
                            ba_Cbte_Ban_Bus  bus_cbteBan  = new ba_Cbte_Ban_Bus();
                            ba_Cbte_Ban_Info info_cbteBan = new ba_Cbte_Ban_Info();
                            info_cbteBan = bus_cbteBan.Get_Info_Cbte_Ban(Convert.ToInt32(item.IdEmpresa_pago), Convert.ToInt32(item.IdTipoCbte_pago), Convert.ToDecimal(item.IdCbteCble_pago), ref MensajeError);
                            if (info_cbteBan != null && info_cbteBan.IdEmpresa != 0)
                            {
                                ct_Cbtecble_Bus  CbteCble_B = new ct_Cbtecble_Bus();
                                ct_Cbtecble_Info CbteCble_I = new ct_Cbtecble_Info();

                                info_cbteBan.MotivoAnulacion = "Anulado x actualización de archivo";
                                info_cbteBan.IdUsuario_Anu   = param.IdUsuario;
                                info_cbteBan.FechaAnulacion  = param.Fecha_Transac;
                                decimal IdCbteCble_rev = 0;
                                CbteCble_B.ReversoCbteCble(Convert.ToInt32(item.IdEmpresa_pago), Convert.ToDecimal(item.IdCbteCble_pago), Convert.ToInt32(item.IdTipoCbte_pago), IdTipo_rev, ref IdCbteCble_rev, ref MensajeError, info_cbteBan.MotivoAnulacion);

                                info_cbteBan.IdTipoCbte_Anulacion = IdTipo_rev;
                                info_cbteBan.IdCbteCble_Anulacion = IdCbteCble_rev;
                                cp_orden_pago_cancelaciones_Bus OGPagos_B = new cp_orden_pago_cancelaciones_Bus();
                                OGPagos_B.Eliminar_OrdenPagoCancelaciones(info_cbteBan.IdEmpresa, info_cbteBan.IdTipocbte, info_cbteBan.IdCbteCble, ref MensajeError);
                                bus_cbteBan.AnularDB(info_cbteBan, ref MensajeError);
                            }
                        }
                    }
                    progressBarActualizacion.PerformStep();
                    progressBarActualizacion.Update();
                    gridControlActualizacion.RefreshDataSource();
                }
                BList_Archivo_Actualizado = new BindingList <ba_Archivo_Transferencia_Det_Info>(bus_Archivo_Det.Get_List_Archivo_transferencia_Det(info_Archivo.IdEmpresa, info_Archivo.IdArchivo));
                gridControlActualizacion.RefreshDataSource();

                Actualizado = bus_Archivo.Actualizar_Archivo(info_Archivo);
                if (Actualizado)
                {
                    MessageBox.Show("Archivo actualizado exitosamente", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
            }
            catch (Exception ex)
            {
                string NameMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                MessageBox.Show(param.Get_Mensaje_sys(enum_Mensajes_sys.Error_comunicarse_con_sistemas) + ex.Message + " ", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
                Log_Error_bus.Log_Error(NameMetodo + " - " + ex.ToString());
            }
        }
Esempio n. 14
0
 private void FrmBA_Administracion_Archivos_PreAvisoCheques_Mant_Load(object sender, EventArgs e)
 {
     InfoTipoCbte_x_CbteCble = BusTipoCbte_x_CbteCble.Get_List_Cbte_Ban_tipo_x_ct_CbteCble_tipo(param.IdEmpresa).FirstOrDefault(v => v.CodTipoCbteBan == "CHEQ");
     dtpFechadesde.Value     = DateTime.Now.AddMonths(-1);
     dtpFechaHasta.Value     = DateTime.Now.AddMonths(1);
 }