Пример #1
0
        private void Actualizar_Registros()
        {
            try
            {
                Boolean Actualizado = false;

                info_parametro_cxc = bus_parametro_cxc.Get_Info_parametro(param.IdEmpresa);

                progressBarActualizacion.Properties.Step        = 1;
                progressBarActualizacion.Properties.PercentView = true;
                progressBarActualizacion.Properties.Maximum     = BList_Archivo_Actualizado.Count();
                progressBarActualizacion.Properties.Minimum     = 0;

                foreach (var item in BList_Archivo_Actualizado)
                {
                    if (item.Saldo > 0)
                    {
                        if (item.Valor_cobrado != 0)
                        {
                            info_factura = bus_factura.Get_Info_factura(Convert.ToInt32(item.IdEmpresa_fac), Convert.ToInt32(item.IdSucursal_fac), Convert.ToInt32(item.IdBodega_fac), Convert.ToDecimal(item.IdCbteVta_fac));
                            if (info_factura.IdEmpresa != 0)
                            {
                                //Hago cobro normal
                                if (bus_cobro.generar_cobro_x_factura(info_factura, Convert.ToDouble(item.Valor_cobrado), info_parametro_cxc.pa_IdCobro_tipo_default, DateTime.Now.Date, info_Archivo.IdBanco))
                                {
                                    item.Fecha_Proceso = BList_Archivo_Excel.FirstOrDefault(q => q.IdEmpresa == item.IdEmpresa && q.IdArchivo == item.IdArchivo && q.Secuencia == item.Secuencia).Fecha_Proceso;
                                    item.Contabilizado = true;
                                    item.Valor_cobrado = item.Valor_cobrado;
                                    item.Actualizado   = bus_Archivo_Det.Actualizar_registro(item);
                                    Actualizado        = item.Actualizado;
                                }
                                if (item.Valor_comision != 0)
                                {
                                    //Cobro por comision
                                    if (bus_cobro.generar_cobro_x_factura(info_factura, Convert.ToDouble(item.Valor_comision), info_parametro_cxc.pa_IdCobro_tipo_Comision_TC, DateTime.Now.Date, info_Archivo.IdBanco))
                                    {
                                        item.Valor_cobrado = item.Valor_cobrado + item.Valor_comision;
                                        item.Actualizado   = bus_Archivo_Det.Actualizar_registro(item);
                                        Actualizado        = item.Actualizado;
                                    }
                                }
                            }

                            if (!Actualizado)
                            {
                                MessageBox.Show("No se pudo actualizar los registros", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                                break;
                            }
                        }
                    }
                    info_Archivo.Fecha_Proceso = item.Fecha_Proceso;

                    progressBarActualizacion.PerformStep();
                    progressBarActualizacion.Update();
                    gridControlActualizacion.RefreshDataSource();
                }
                info_Archivo.Contabilizado = Actualizado;
                info_Archivo.Contabilizado = true;
                gridControlActualizacion.RefreshDataSource();
                if (bus_Archivo.Generar_deposito(info_Archivo))
                {
                    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());
            }
        }
        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());
            }
        }