예제 #1
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            bool estaValidado = ValidarFormulario();

            if (!estaValidado)
            {
                return;
            }

            LetraBe registro = JsonConvert.DeserializeObject <LetraBe>(JsonConvert.SerializeObject(letraPadre));

            registro.CodigoLetra        = 0;
            registro.FechaVencimiento   = dtpFechaVencimiento.Value;
            registro.Dias               = (registro.FechaVencimiento - letraPadre.FechaVencimiento).Days;
            registro.Monto              = decimal.Parse(txtMonto.Text);
            registro.Estado             = (int)EstadoLetra.Pendiente;
            registro.CodigoLetraInicial = letraPadre.CodigoLetraInicial.HasValue ? letraPadre.CodigoLetraInicial.Value : letraPadre.CodigoLetra;
            registro.CodigoLetraPadre   = letraPadre.CodigoLetra;

            int  codigoLetra = 0, numeroLetra = 0;
            bool seGuardoRegistro = letraBl.GuardarLetra(registro, out codigoLetra, out numeroLetra);

            if (seGuardoRegistro)
            {
                DialogResult = MessageBox.Show("¡Se asignó el mora correctamente!", "¡Bien hecho!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                Close();
            }
            else
            {
                MessageBox.Show("¡Ocurrió un error! Contáctese con el administrador del sistema", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #2
0
        private void btnRetirar_Click(object sender, EventArgs e)
        {
            bool estaValidado = ValidarFormulario();

            if (!estaValidado)
            {
                return;
            }

            bool    seRegenera = chkRegenerar.Checked;
            LetraBe registro   = seRegenera ? letraBl.ObtenerLetra(letra.CodigoLetra) : new LetraBe();

            registro.CodigoLetra        = letra.CodigoLetra;
            registro.FechaVencimiento   = dtpFechaVencimiento.Value;
            registro.Dias               = (registro.FechaVencimiento - letra.FechaVencimiento).Days;
            registro.Observacion        = txtObservacion.Text.Trim();
            registro.Estado             = letra.Estado;
            registro.CodigoLetraInicial = letra.CodigoLetraInicial;
            registro.CodigoLetraPadre   = letra.CodigoLetraPadre;

            bool seGuardoRegistro = letraBl.Retirar(registro, seRegenera);

            if (seGuardoRegistro)
            {
                DialogResult = MessageBox.Show("¡Se asignó el mora correctamente!", "¡Bien hecho!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                Close();
            }
            else
            {
                MessageBox.Show("¡Ocurrió un error! Contáctese con el administrador del sistema", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #3
0
        private void FrmCalculoCronogramaPago_Load(object sender, EventArgs e)
        {
            txtImporteFactura.Text            = totalImporte.ToString("0.00");
            dgvResultados.AutoGenerateColumns = false;

            if (_Lista == null)
            {
                decimal cuota = totalImporte / cantidadLetrasCredito;

                DateTime fechaPagoActual = fechaHoraEmision;
                for (int i = 0; i < cantidadLetrasCredito; i++)
                {
                    var item = new LetraBe
                    {
                        Fila             = i + 1,
                        Dias             = cantidadDiasXDefecto,
                        FechaHoraEmision = fechaHoraEmision,
                        FechaVencimiento = fechaPagoActual,
                        Monto            = cuota,
                        Estado           = (int)EstadoLetra.PorAsignarBanco
                    };

                    fechaPagoActual = fechaPagoActual.AddDays(cantidadDiasXDefecto);

                    _Lista = _Lista ?? new List <LetraBe>();
                    _Lista.Add(item);
                }
            }

            ListarCronograma();
        }
예제 #4
0
파일: LetraBl.cs 프로젝트: RSEANCAS/pm
        public bool AsignarMora(LetraBe registro)
        {
            bool seGuardo = false;

            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    cn.Open();
                    seGuardo = letraDa.AsignarMora(registro, cn);

                    if (seGuardo)
                    {
                        scope.Complete();
                    }
                    cn.Close();
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }
            finally { if (cn.State == ConnectionState.Open)
                      {
                          cn.Close();
                      }
            }

            return(seGuardo);
        }
예제 #5
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            bool estaValidado = ValidarFormulario();

            if (!estaValidado)
            {
                return;
            }

            LetraBe registro = new LetraBe();

            registro.CodigoLetra = letra.CodigoLetra;
            registro.Mora        = decimal.Parse(txtMora.Text.Trim());
            registro.Estado      = letra.Estado;

            bool seGuardoRegistro = letraBl.AsignarMora(registro);

            if (seGuardoRegistro)
            {
                DialogResult = MessageBox.Show("¡Se asignó el mora correctamente!", "¡Bien hecho!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                Close();
            }
            else
            {
                MessageBox.Show("¡Ocurrió un error! Contáctese con el administrador del sistema", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #6
0
        public List <LetraBe> ListarLetraPorCodigoLetraInicial(int codigoLetraInicial, SqlConnection cn)
        {
            List <LetraBe> resultados = null;

            try
            {
                using (SqlCommand cmd = new SqlCommand("dbo.usp_letra_listar_x_codigoletrainicial", cn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@codigoLetraInicial", codigoLetraInicial.GetNullable());

                    using (SqlDataReader dr = cmd.ExecuteReader())
                    {
                        if (dr.HasRows)
                        {
                            resultados = new List <LetraBe>();

                            while (dr.Read())
                            {
                                LetraBe item = new LetraBe();

                                item.CodigoLetra              = dr.GetData <int>("CodigoLetra");
                                item.Numero                   = dr.GetData <int>("Numero");
                                item.FechaHoraEmision         = dr.GetData <DateTime>("FechaHoraEmision");
                                item.FechaVencimiento         = dr.GetData <DateTime>("FechaVencimiento");
                                item.Dias                     = dr.GetData <int>("Dias");
                                item.CodigoTipoComprobanteRef = dr.GetData <int>("CodigoTipoComprobanteRef");
                                item.CodigoComprobanteRef     = dr.GetData <int>("CodigoComprobanteRef");
                                item.CodigoGuiaRemision       = dr.GetData <int>("CodigoGuiaRemision");
                                item.CodigoMoneda             = dr.GetData <int>("CodigoMoneda");
                                item.CodigoCliente            = dr.GetData <int>("CodigoCliente");
                                item.CodigoBanco              = dr.GetData <int>("CodigoBanco");
                                item.CodigoUnicoBanco         = dr.GetData <string>("CodigoUnicoBanco");
                                item.Monto                    = dr.GetData <decimal>("Monto");
                                item.Mora                     = dr.GetData <decimal>("Mora");
                                item.Protesto                 = dr.GetData <decimal>("Protesto");
                                item.Estado                   = dr.GetData <int>("Estado");
                                item.CodigoLetraPadre         = dr.GetData <int?>("CodigoLetraPadre");
                                item.CodigoLetraInicial       = dr.GetData <int?>("CodigoLetraInicial");
                                item.FlagAval                 = dr.GetData <bool>("FlagAval");
                                item.DireccionAval            = dr.GetData <string>("DireccionAval");
                                item.NombrePaisAval           = dr.GetData <string>("NombrePaisAval");
                                item.NombreDepartamentoAval   = dr.GetData <string>("NombreDepartamentoAval");
                                item.NombreProvinciaAval      = dr.GetData <string>("NombreProvinciaAval");
                                item.NombreDistritoAval       = dr.GetData <string>("NombreDistritoAval");
                                item.FlagCancelado            = dr.GetData <bool>("FlagCancelado");
                                item.FlagActivo               = dr.GetData <bool>("FlagActivo");

                                resultados.Add(item);
                            }
                        }
                    }
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }

            return(resultados);
        }
예제 #7
0
        public bool GuardarLetra(LetraBe registro, SqlConnection cn, out int codigoLetra, out int numero)
        {
            codigoLetra = 0;
            numero      = 0;
            bool seGuardo = false;

            try
            {
                using (SqlCommand cmd = new SqlCommand("dbo.usp_letra_guardar", cn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add(new SqlParameter {
                        ParameterName = "@codigoLetra", Value = registro.CodigoLetra.GetNullable(), Direction = ParameterDirection.InputOutput
                    });
                    cmd.Parameters.Add(new SqlParameter {
                        ParameterName = "@numero", SqlDbType = SqlDbType.Int, Direction = ParameterDirection.Output
                    });
                    cmd.Parameters.AddWithValue("@fechaHoraEmision", registro.FechaHoraEmision.GetNullable());
                    cmd.Parameters.AddWithValue("@fechaVencimiento", registro.FechaVencimiento.GetNullable());
                    cmd.Parameters.AddWithValue("@dias", registro.Dias.GetNullable());
                    cmd.Parameters.AddWithValue("@codigoTipoComprobanteRef", registro.CodigoTipoComprobanteRef.GetNullable());
                    cmd.Parameters.AddWithValue("@codigoComprobanteRef", registro.CodigoComprobanteRef.GetNullable());
                    cmd.Parameters.AddWithValue("@codigoGuiaRemision", registro.CodigoGuiaRemision.GetNullable());
                    cmd.Parameters.AddWithValue("@codigoCliente", registro.CodigoCliente.GetNullable());
                    cmd.Parameters.AddWithValue("@codigoBanco", registro.CodigoBanco.GetNullable());
                    cmd.Parameters.AddWithValue("@codigoUnicoBanco", registro.CodigoUnicoBanco.GetNullable());
                    cmd.Parameters.AddWithValue("@codigoMoneda", registro.CodigoMoneda.GetNullable());
                    cmd.Parameters.AddWithValue("@monto", registro.Monto.GetNullable());
                    cmd.Parameters.AddWithValue("@mora", registro.Mora.GetNullable());
                    cmd.Parameters.AddWithValue("@protesto", registro.Protesto.GetNullable());
                    cmd.Parameters.AddWithValue("@estado", registro.Estado.GetNullable());
                    cmd.Parameters.AddWithValue("@codigoLetraPadre", registro.CodigoLetraPadre.GetNullable());
                    cmd.Parameters.AddWithValue("@codigoLetraInicial", registro.CodigoLetraInicial.GetNullable());
                    cmd.Parameters.AddWithValue("@flagAval", registro.FlagAval.GetNullable());
                    cmd.Parameters.AddWithValue("@codigoAval", registro.CodigoAval.GetNullable());
                    cmd.Parameters.AddWithValue("@direccionAval", registro.DireccionAval.GetNullable());
                    cmd.Parameters.AddWithValue("@nombrePaisAval", registro.NombrePaisAval.GetNullable());
                    cmd.Parameters.AddWithValue("@nombreDepartamentoAval", registro.NombreDepartamentoAval.GetNullable());
                    cmd.Parameters.AddWithValue("@nombreProvinciaAval", registro.NombreProvinciaAval.GetNullable());
                    cmd.Parameters.AddWithValue("@nombreDistritoAval", registro.NombreDistritoAval.GetNullable());
                    cmd.Parameters.AddWithValue("@codigoDistritoAval", registro.CodigoDistritoAval.GetNullable());
                    cmd.Parameters.AddWithValue("@flagCancelado", registro.FlagCancelado.GetNullable());
                    cmd.Parameters.AddWithValue("@usuarioModi", registro.UsuarioModi.GetNullable());
                    int filasAfectadas = cmd.ExecuteNonQuery();

                    seGuardo = filasAfectadas > 0;

                    if (seGuardo)
                    {
                        codigoLetra = (int)cmd.Parameters["@codigoLetra"].Value;
                        numero      = (int)cmd.Parameters["@numero"].Value;
                    }
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }

            return(seGuardo);
        }
예제 #8
0
        public List <LetraBe> ListarLetraPorRef(int codigoTipoComprobanteRef, int codigoSerieRef, int numeroRef, SqlConnection cn)
        {
            List <LetraBe> resultados = null;

            try
            {
                using (SqlCommand cmd = new SqlCommand("dbo.usp_letra_listar_x_ref", cn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@codigoTipoComprobanteRef", codigoTipoComprobanteRef.GetNullable());
                    cmd.Parameters.AddWithValue("@codigoSerieRef", codigoSerieRef.GetNullable());
                    cmd.Parameters.AddWithValue("@numeroRef", numeroRef.GetNullable());

                    using (SqlDataReader dr = cmd.ExecuteReader())
                    {
                        if (dr.HasRows)
                        {
                            resultados = new List <LetraBe>();

                            while (dr.Read())
                            {
                                LetraBe item = new LetraBe();
                                item.Fila                         = dr.GetData <int>("Fila");
                                item.CodigoLetra                  = dr.GetData <int>("CodigoLetra");
                                item.Numero                       = dr.GetData <int>("Numero");
                                item.FechaHoraEmision             = dr.GetData <DateTime>("FechaHoraEmision");
                                item.FechaVencimiento             = dr.GetData <DateTime>("FechaVencimiento");
                                item.CodigoTipoComprobanteRef     = dr.GetData <int>("CodigoTipoComprobanteRef");
                                item.CodigoComprobanteRef         = dr.GetData <int>("CodigoComprobanteRef");
                                item.CodigoSerieComprobanteRef    = dr.GetData <int>("CodigoSerieComprobanteRef");
                                item.SerialSerieComprobanteRef    = dr.GetData <string>("SerialSerieComprobanteRef");
                                item.NroComprobanteComprobanteRef = dr.GetData <int>("NroComprobanteComprobanteRef");
                                item.CodigoGuiaRemision           = dr.GetData <int>("CodigoGuiaRemision");
                                item.CodigoSerieGuiaRemision      = dr.GetData <int>("CodigoSerieGuiaRemision");
                                item.SerialSerieGuiaRemision      = dr.GetData <string>("SerialSerieGuiaRemision");
                                item.NroComprobanteGuiaRemision   = dr.GetData <int>("NroComprobanteGuiaRemision");
                                item.CodigoCliente                = dr.GetData <int>("CodigoCliente");
                                item.CodigoBanco                  = dr.GetData <int>("CodigoBanco");
                                item.CodigoUnicoBanco             = dr.GetData <string>("CodigoUnicoBanco");
                                item.CodigoMoneda                 = dr.GetData <int>("CodigoMoneda");
                                item.Monto                        = dr.GetData <decimal>("Monto");
                                item.Estado                       = dr.GetData <int?>("Estado");
                                item.FlagCancelado                = dr.GetData <bool>("FlagCancelado");

                                resultados.Add(item);
                            }
                        }
                    }
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }

            return(resultados);
        }
예제 #9
0
파일: FrmLetra.cs 프로젝트: RSEANCAS/pm
        private void mitMora_Click(object sender, EventArgs e)
        {
            MenuItem mitControl = (MenuItem)sender;

            LetraBe obj = (LetraBe)mitControl.Tag;

            FrmLetraAsignarMora frm = new FrmLetraAsignarMora(obj);

            frm.ShowInTaskbar = false;
            frm.BringToFront();
            DialogResult dr = frm.ShowDialog();

            if (dr == DialogResult.OK)
            {
                BuscarLetras();
            }
        }
예제 #10
0
파일: LetraBl.cs 프로젝트: RSEANCAS/pm
        public LetraBe ObtenerLetra(int codigoLetra)
        {
            LetraBe item = null;

            try
            {
                cn.Open();
                item = letraDa.ObtenerLetra(codigoLetra, cn);
            }
            catch (Exception ex) { log.Error(ex.Message); }
            finally { if (cn.State == ConnectionState.Open)
                      {
                          cn.Close();
                      }
            }

            return(item);
        }
예제 #11
0
파일: FrmLetra.cs 프로젝트: RSEANCAS/pm
        private void mitRegenerarLetra_Click(object sender, EventArgs e)
        {
            MenuItem mitControl = (MenuItem)sender;

            LetraBe obj = (LetraBe)mitControl.Tag;

            obj = letraBl.ObtenerLetra(obj.CodigoLetra);

            FrmLetraRegenerar frm = new FrmLetraRegenerar(obj);

            frm.ShowInTaskbar = false;
            frm.BringToFront();
            DialogResult dr = frm.ShowDialog();

            if (dr == DialogResult.OK)
            {
                BuscarLetras();
            }
        }
예제 #12
0
파일: LetraBl.cs 프로젝트: RSEANCAS/pm
        public bool GuardarLetra(LetraBe registro, out int codigoLetra, out int numero)
        {
            codigoLetra = 0;
            numero      = 0;
            bool seGuardo = false;

            try
            {
                cn.Open();
                seGuardo = letraDa.GuardarLetra(registro, cn, out codigoLetra, out numero);
            }
            catch (Exception ex) { log.Error(ex.Message); }
            finally { if (cn.State == ConnectionState.Open)
                      {
                          cn.Close();
                      }
            }

            return(seGuardo);
        }
예제 #13
0
파일: LetraBl.cs 프로젝트: RSEANCAS/pm
        public bool AsignarBanco(LetraBe registro)
        {
            bool seGuardo = false;

            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    cn.Open();
                    seGuardo = letraDa.AsignarBanco(registro, cn);

                    if (seGuardo)
                    {
                        switch ((EstadoLetra)registro.Estado)
                        {
                        case EstadoLetra.PorAsignarBanco:
                            if ((registro.CodigoUnicoBanco ?? "").Trim() != "")
                            {
                                registro.Estado = (int)EstadoLetra.Pendiente;
                            }
                            seGuardo = letraDa.CambiarEstadoLetra(registro, cn);
                            break;
                        }
                    }

                    if (seGuardo)
                    {
                        scope.Complete();
                    }
                    cn.Close();
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }
            finally { if (cn.State == ConnectionState.Open)
                      {
                          cn.Close();
                      }
            }

            return(seGuardo);
        }
예제 #14
0
파일: LetraBl.cs 프로젝트: RSEANCAS/pm
        public bool AsignarProtesto(LetraBe registro)
        {
            bool seGuardo = false;

            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    cn.Open();
                    seGuardo = letraDa.AsignarProtesto(registro, cn);

                    if (seGuardo)
                    {
                        switch ((EstadoLetra)registro.Estado)
                        {
                        case EstadoLetra.Pendiente:
                        case EstadoLetra.Renovada:
                            registro.Estado = (int)EstadoLetra.Protestada;
                            seGuardo        = letraDa.CambiarEstadoLetra(registro, cn);
                            break;
                        }
                    }

                    if (seGuardo)
                    {
                        scope.Complete();
                    }
                    cn.Close();
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }
            finally { if (cn.State == ConnectionState.Open)
                      {
                          cn.Close();
                      }
            }

            return(seGuardo);
        }
예제 #15
0
        public bool CambiarFlagCanceladoLetra(LetraBe registro, SqlConnection cn)
        {
            bool seGuardo = false;

            try
            {
                using (SqlCommand cmd = new SqlCommand("dbo.usp_letra_cambiar_flagcancelado", cn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@codigoLetra", registro.CodigoLetra.GetNullable());
                    cmd.Parameters.AddWithValue("@flagCancelado", registro.FlagCancelado.GetNullable());
                    cmd.Parameters.AddWithValue("@usuarioModi", registro.UsuarioModi.GetNullable());

                    int filasAfectadas = cmd.ExecuteNonQuery();

                    seGuardo = filasAfectadas > 0;
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }

            return(seGuardo);
        }
예제 #16
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            bool estaValidado = ValidarFormulario();

            if (!estaValidado)
            {
                return;
            }

            LetraBe registro = new LetraBe();

            registro.CodigoLetra      = letra.CodigoLetra;
            registro.CodigoBanco      = (int)cbbCodigoBanco.SelectedValue;
            registro.CodigoUnicoBanco = txtCodigoUnico.Text.Trim();
            registro.Estado           = letra.Estado;
            //switch ((EstadoLetra)letra.Estado)
            //{
            //    case EstadoLetra.PorAsignarBanco:
            //        registro.Estado = (int)EstadoLetra.Pendiente;
            //        break;
            //    default:
            //        registro.Estado = letra.Estado;
            //        break;
            //}

            bool seGuardoRegistro = letraBl.AsignarBanco(registro);

            if (seGuardoRegistro)
            {
                DialogResult = MessageBox.Show("¡Se asignó el banco correctamente!", "¡Bien hecho!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                Close();
            }
            else
            {
                MessageBox.Show("¡Ocurrió un error! Contáctese con el administrador del sistema", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #17
0
        public List <LetraBe> BuscarLetra(DateTime?fechaEmisionDesde, DateTime?fechaEmisionHasta, string numero, string nroDocIdentidadCliente, string nombresCliente, int?estado, bool flagCancelado, bool flagActivo, SqlConnection cn)
        {
            List <LetraBe> resultados = null;

            try
            {
                using (SqlCommand cmd = new SqlCommand("dbo.usp_letra_buscar", cn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@fechaEmisionDesde", fechaEmisionDesde.GetNullable());
                    cmd.Parameters.AddWithValue("@fechaEmisionHasta", fechaEmisionHasta.GetNullable());
                    cmd.Parameters.AddWithValue("@numero", numero.GetNullable());
                    cmd.Parameters.AddWithValue("@nroDocumentoIdentidadCliente", nroDocIdentidadCliente.GetNullable());
                    cmd.Parameters.AddWithValue("@nombresCliente", nombresCliente.GetNullable());
                    cmd.Parameters.AddWithValue("@estado", estado.GetNullable());
                    cmd.Parameters.AddWithValue("@flagCancelado", flagCancelado.GetNullable());
                    cmd.Parameters.AddWithValue("@flagActivo", flagActivo.GetNullable());

                    using (SqlDataReader dr = cmd.ExecuteReader())
                    {
                        if (dr.HasRows)
                        {
                            resultados = new List <LetraBe>();

                            while (dr.Read())
                            {
                                LetraBe item = new LetraBe();
                                item.Fila                     = dr.GetData <int>("Fila");
                                item.CodigoLetra              = dr.GetData <int>("CodigoLetra");
                                item.Numero                   = dr.GetData <int>("Numero");
                                item.FechaHoraEmision         = dr.GetData <DateTime>("FechaHoraEmision");
                                item.FechaVencimiento         = dr.GetData <DateTime>("FechaVencimiento");
                                item.Dias                     = dr.GetData <int>("Dias");
                                item.CodigoTipoComprobanteRef = dr.GetData <int>("CodigoTipoComprobanteRef");
                                item.TipoComprobanteRef       = new TipoComprobanteBe();
                                item.TipoComprobanteRef.CodigoTipoComprobante = dr.GetData <int>("CodigoTipoComprobanteRef");
                                item.TipoComprobanteRef.Nombre    = dr.GetData <string>("NombreTipoComprobanteRef");
                                item.CodigoComprobanteRef         = dr.GetData <int>("CodigoComprobanteRef");
                                item.CodigoSerieComprobanteRef    = dr.GetData <int>("CodigoSerieComprobanteRef");
                                item.SerialSerieComprobanteRef    = dr.GetData <string>("SerialSerieComprobanteRef");
                                item.NroComprobanteComprobanteRef = dr.GetData <int>("NroComprobanteComprobanteRef");
                                item.CodigoGuiaRemision           = dr.GetData <int?>("CodigoGuiaRemision");
                                item.CodigoSerieGuiaRemision      = dr.GetData <int?>("CodigoSerieGuiaRemision");
                                item.SerialSerieGuiaRemision      = dr.GetData <string>("SerialSerieGuiaRemision");
                                item.NroComprobanteGuiaRemision   = dr.GetData <int?>("NroComprobanteGuiaRemision");
                                item.CodigoCliente         = dr.GetData <int>("CodigoCliente");
                                item.Cliente               = new ClienteBe();
                                item.Cliente.CodigoCliente = dr.GetData <int>("CodigoCliente");
                                item.Cliente.CodigoTipoDocumentoIdentidad = dr.GetData <int>("CodigoTipoDocumentoIdentidadCliente");
                                item.Cliente.TipoDocumentoIdentidad       = new TipoDocumentoIdentidadBe();
                                item.Cliente.TipoDocumentoIdentidad.CodigoTipoDocumentoIdentidad = dr.GetData <int>("CodigoTipoDocumentoIdentidadCliente");
                                item.Cliente.TipoDocumentoIdentidad.Descripcion = dr.GetData <string>("DescripcionTipoDocumentoIdentidadCliente");
                                item.Cliente.NroDocumentoIdentidad = dr.GetData <string>("NroDocumentoIdentidadCliente");
                                item.Cliente.Nombres    = dr.GetData <string>("NombresCliente");
                                item.Cliente.FlagActivo = dr.GetData <bool>("FlagActivoCliente");
                                item.CodigoUnicoBanco   = dr.GetData <string>("CodigoUnicoBanco");
                                item.CodigoBanco        = dr.GetData <int?>("CodigoBanco");
                                if (item.CodigoBanco.HasValue)
                                {
                                    item.Banco             = new BancoBe();
                                    item.Banco.CodigoBanco = dr.GetData <int>("CodigoBanco");
                                    item.Banco.Nombre      = dr.GetData <string>("NombreBanco");
                                }
                                item.CodigoMoneda     = dr.GetData <int>("CodigoMoneda");
                                item.Monto            = dr.GetData <decimal>("Monto");
                                item.Mora             = dr.GetData <decimal>("Mora");
                                item.Protesto         = dr.GetData <decimal>("Protesto");
                                item.Estado           = dr.GetData <int>("Estado");
                                item.FlagActivo       = dr.GetData <bool>("FlagActivo");
                                item.FlagCancelado    = dr.GetData <bool>("FlagCancelado");
                                item.CodigoLetraPadre = dr.GetData <int?>("CodigoLetraPadre");
                                if (item.CodigoLetraPadre.HasValue)
                                {
                                    item.LetraPadre          = new LetraBe();
                                    item.LetraPadre.Numero   = dr.GetData <int>("NumeroLetraPadre");
                                    item.LetraPadre.Monto    = dr.GetData <decimal>("MontoLetraPadre");
                                    item.LetraPadre.Mora     = dr.GetData <decimal>("MoraLetraPadre");
                                    item.LetraPadre.Protesto = dr.GetData <decimal>("ProtestoLetraPadre");
                                }
                                item.CodigoLetraInicial = dr.GetData <int?>("CodigoLetraInicial");
                                if (item.CodigoLetraInicial.HasValue)
                                {
                                    item.LetraInicial          = new LetraBe();
                                    item.LetraInicial.Numero   = dr.GetData <int>("NumeroLetraInicial");
                                    item.LetraInicial.Monto    = dr.GetData <decimal>("MontoLetraInicial");
                                    item.LetraInicial.Mora     = dr.GetData <decimal>("MoraLetraInicial");
                                    item.LetraInicial.Protesto = dr.GetData <decimal>("ProtestoLetraInicial");
                                }

                                resultados.Add(item);
                            }
                        }
                    }
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }

            return(resultados);
        }
예제 #18
0
        public bool GuardarComprobantePago(ComprobantePagoBe registro)
        {
            bool seGuardo = false;

            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    cn.Open();
                    int codigoComprobantePago = 0, nroComprobante = 0;
                    seGuardo = comprobantePagoDa.GuardarComprobantePago(registro, cn, out codigoComprobantePago, out nroComprobante);
                    if (registro.ListaComprobantePagoDetalle != null && seGuardo)
                    {
                        foreach (ComprobantePagoDetalleBe item in registro.ListaComprobantePagoDetalle)
                        {
                            if (item.CodigoComprobantePago == 0)
                            {
                                item.CodigoComprobantePago = codigoComprobantePago;
                            }
                            if (!seGuardo)
                            {
                                break;
                            }
                            seGuardo = comprobantePagoDetalleDa.GuardarComprobantePagoDetalle(item, cn);
                            if (!seGuardo)
                            {
                                break;
                            }
                            TipoDocumentoPago tipoDocumentoPago = (TipoDocumentoPago)item.CodigoTipoDocumentoPago;
                            switch (tipoDocumentoPago)
                            {
                            case TipoDocumentoPago.Factura:
                                FacturaVentaBe documentoPagoFactura = new FacturaVentaBe
                                {
                                    CodigoFacturaVenta = item.CodigoDocumentoPago,
                                    FlagCancelado      = true,
                                    UsuarioModi        = item.UsuarioModi
                                };
                                seGuardo = facturaVentaDa.CambiarFlagCanceladoFacturaVenta(documentoPagoFactura, cn);
                                break;

                            case TipoDocumentoPago.Boleta:
                                BoletaVentaBe documentoPagoBoleta = new BoletaVentaBe
                                {
                                    CodigoBoletaVenta = item.CodigoDocumentoPago,
                                    FlagCancelado     = true,
                                    UsuarioModi       = item.UsuarioModi
                                };
                                seGuardo = boletaVentaDa.CambiarFlagCanceladoBoletaVenta(documentoPagoBoleta, cn);
                                break;

                            case TipoDocumentoPago.Letra:
                                LetraBe letra      = letraDa.ObtenerLetra(item.CodigoDocumentoPago, cn);
                                bool    porRenovar = item.ImportePagar < letra.Total;

                                if (!porRenovar)
                                {
                                    int codigoLetraInicial     = letra.CodigoLetraInicial.HasValue ? letra.CodigoLetraInicial.Value : letra.CodigoLetra;
                                    var listaLetrasPorCancelar = letraDa.ListarLetraPorCodigoLetraInicial(codigoLetraInicial, cn);

                                    if (listaLetrasPorCancelar != null)
                                    {
                                        foreach (var letraPorCancelar in listaLetrasPorCancelar)
                                        {
                                            LetraBe documentoPagoLetra = new LetraBe
                                            {
                                                CodigoLetra   = letraPorCancelar.CodigoLetra,
                                                FlagCancelado = true,
                                                UsuarioModi   = letraPorCancelar.UsuarioModi
                                            };
                                            seGuardo = letraDa.CambiarFlagCanceladoLetra(documentoPagoLetra, cn);
                                            if (!seGuardo)
                                            {
                                                break;
                                            }
                                        }
                                    }
                                }

                                if (seGuardo && porRenovar)
                                {
                                    letra.Estado      = (int)EstadoLetra.Renovada;
                                    letra.UsuarioModi = registro.UsuarioModi;
                                    seGuardo          = letraDa.CambiarEstadoLetra(letra, cn);

                                    if (!seGuardo)
                                    {
                                        break;
                                    }

                                    LetraBe nuevaLetra = new LetraBe
                                    {
                                        FechaHoraEmision             = letra.FechaHoraEmision,
                                        FechaVencimiento             = letra.FechaVencimiento.AddMonths(1),
                                        Dias                         = (letra.FechaVencimiento.AddMonths(1) - letra.FechaVencimiento).Days,
                                        CodigoTipoComprobanteRef     = letra.CodigoTipoComprobanteRef,
                                        CodigoComprobanteRef         = letra.CodigoComprobanteRef,
                                        CodigoSerieComprobanteRef    = letra.CodigoSerieComprobanteRef,
                                        NroComprobanteComprobanteRef = letra.NroComprobanteComprobanteRef,
                                        CodigoGuiaRemision           = letra.CodigoGuiaRemision,
                                        CodigoSerieGuiaRemision      = letra.CodigoSerieGuiaRemision,
                                        NroComprobanteGuiaRemision   = letra.NroComprobanteGuiaRemision,
                                        CodigoCliente                = letra.CodigoCliente,
                                        CodigoBanco                  = letra.CodigoBanco,
                                        CodigoUnicoBanco             = letra.CodigoUnicoBanco,
                                        CodigoMoneda                 = letra.CodigoMoneda,
                                        Monto                        = letra.Monto - item.MontoPagar,
                                        Mora                         = letra.Mora - item.MoraPagar,
                                        Protesto                     = letra.Protesto - item.ProtestoPagar,
                                        Estado                       = (int)EstadoLetra.Pendiente,
                                        CodigoLetraPadre             = letra.CodigoLetra,
                                        CodigoLetraInicial           = letra.CodigoLetraInicial.HasValue ? letra.CodigoLetraInicial.Value : letra.CodigoLetra,
                                        FlagAval                     = letra.FlagAval,
                                        CodigoAval                   = letra.CodigoAval,
                                        DireccionAval                = letra.DireccionAval,
                                        NombrePaisAval               = letra.NombrePaisAval,
                                        NombreDepartamentoAval       = letra.NombreDepartamentoAval,
                                        NombreProvinciaAval          = letra.NombreProvinciaAval,
                                        CodigoDistritoAval           = letra.CodigoDistritoAval,
                                        NombreDistritoAval           = letra.NombreDistritoAval,
                                        FlagCancelado                = letra.FlagCancelado,
                                        FlagActivo                   = letra.FlagActivo,
                                        FlagEliminado                = letra.FlagEliminado
                                    };

                                    int nuevoCodigoLetra = 0, nuevoNumeroLetra = 0;
                                    seGuardo = letraDa.GuardarLetra(nuevaLetra, cn, out nuevoCodigoLetra, out nuevoNumeroLetra);
                                    if (!seGuardo)
                                    {
                                        break;
                                    }
                                }
                                break;
                            }
                            if (!seGuardo)
                            {
                                break;
                            }
                        }
                    }

                    if (registro.ListaComprobantePagoDetalleEliminar != null && seGuardo)
                    {
                        foreach (int codigoComprobantePagoDetalle in registro.ListaComprobantePagoDetalleEliminar)
                        {
                            seGuardo = comprobantePagoDetalleDa.EliminarComprobantePagoDetalle(codigoComprobantePagoDetalle, registro.UsuarioModi, cn);
                            if (!seGuardo)
                            {
                                break;
                            }
                        }
                    }

                    if (seGuardo)
                    {
                        scope.Complete();
                    }
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }
            finally { if (cn.State == ConnectionState.Open)
                      {
                          cn.Close();
                      }
            }

            return(seGuardo);
        }
예제 #19
0
 public FrmLetraRegenerar(LetraBe letraPadre)
 {
     InitializeComponent();
     this.letraPadre = letraPadre;
 }
예제 #20
0
파일: LetraBl.cs 프로젝트: RSEANCAS/pm
        public bool Retirar(LetraBe registro, bool seRegenera = false)
        {
            bool seGuardo = false;

            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    cn.Open();
                    seGuardo = letraDa.AsignarObservacion(registro, cn);

                    if (seGuardo)
                    {
                        registro.Estado = (int)EstadoLetra.Retirada;
                        seGuardo        = letraDa.CambiarEstadoLetra(registro, cn);

                        if (seRegenera)
                        {
                            LetraBe nuevaLetra = new LetraBe
                            {
                                FechaHoraEmision             = registro.FechaHoraEmision,
                                FechaVencimiento             = registro.FechaVencimiento,
                                Dias                         = registro.Dias,
                                CodigoTipoComprobanteRef     = registro.CodigoTipoComprobanteRef,
                                CodigoComprobanteRef         = registro.CodigoComprobanteRef,
                                CodigoSerieComprobanteRef    = registro.CodigoSerieComprobanteRef,
                                NroComprobanteComprobanteRef = registro.NroComprobanteComprobanteRef,
                                CodigoGuiaRemision           = registro.CodigoGuiaRemision,
                                CodigoSerieGuiaRemision      = registro.CodigoSerieGuiaRemision,
                                NroComprobanteGuiaRemision   = registro.NroComprobanteGuiaRemision,
                                CodigoCliente                = registro.CodigoCliente,
                                CodigoBanco                  = registro.CodigoBanco,
                                CodigoUnicoBanco             = registro.CodigoUnicoBanco,
                                CodigoMoneda                 = registro.CodigoMoneda,
                                Monto                        = registro.Monto,
                                Mora                         = registro.Mora,
                                Protesto                     = registro.Protesto,
                                Estado                       = (int)EstadoLetra.Pendiente,
                                CodigoLetraPadre             = registro.CodigoLetra,
                                CodigoLetraInicial           = registro.CodigoLetraInicial.HasValue ? registro.CodigoLetraInicial.Value : registro.CodigoLetra,
                                FlagAval                     = registro.FlagAval,
                                CodigoAval                   = registro.CodigoAval,
                                DireccionAval                = registro.DireccionAval,
                                NombrePaisAval               = registro.NombrePaisAval,
                                NombreDepartamentoAval       = registro.NombreDepartamentoAval,
                                NombreProvinciaAval          = registro.NombreProvinciaAval,
                                CodigoDistritoAval           = registro.CodigoDistritoAval,
                                NombreDistritoAval           = registro.NombreDistritoAval,
                                FlagCancelado                = registro.FlagCancelado,
                                FlagActivo                   = registro.FlagActivo,
                                FlagEliminado                = registro.FlagEliminado
                            };
                            int nuevoCodigoLetra = 0; int nuevoNumeroLetra = 0;
                            letraDa.GuardarLetra(nuevaLetra, cn, out nuevoCodigoLetra, out nuevoNumeroLetra);
                        }
                    }

                    if (seGuardo)
                    {
                        scope.Complete();
                    }
                    cn.Close();
                }
            }
            catch (Exception ex) { log.Error(ex.Message); }
            finally { if (cn.State == ConnectionState.Open)
                      {
                          cn.Close();
                      }
            }

            return(seGuardo);
        }
예제 #21
0
 public FrmLetraAsignarProtesto(LetraBe letra)
 {
     InitializeComponent();
     this.letra = letra;
 }
예제 #22
0
파일: FrmLetra.cs 프로젝트: RSEANCAS/pm
        private void dgvResultados_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                int currentMouseOverRow = dgvResultados.HitTest(e.X, e.Y).RowIndex;

                if (currentMouseOverRow == -1)
                {
                    return;
                }

                bool     flagActivo       = (bool)dgvResultados.Rows[currentMouseOverRow].Cells["dgvResultados_FlagActivo"].Value;
                bool     flagCancelado    = (bool)dgvResultados.Rows[currentMouseOverRow].Cells["dgvResultados_FlagCancelado"].Value;
                int      codigoLetra      = (int)dgvResultados.Rows[currentMouseOverRow].Cells["dgvResultados_CodigoLetra"].Value;
                int      estado           = (int)dgvResultados.Rows[currentMouseOverRow].Cells["dgvResultados_Estado"].Value;
                int      diasPorVencer    = (int)dgvResultados.Rows[currentMouseOverRow].Cells["dgvResultados_DiasPorVencer"].Value;
                int      diasDeVencido    = (int)dgvResultados.Rows[currentMouseOverRow].Cells["dgvResultados_DiasDeVencido"].Value;
                dynamic  letraDynamic     = (dynamic)dgvResultados.Rows[currentMouseOverRow].DataBoundItem;
                DateTime fechaVencimiento = DateTime.ParseExact(letraDynamic.FechaVencimiento, "dd/MM/yyyy", Thread.CurrentThread.CurrentCulture);
                LetraBe  letra            = new LetraBe
                {
                    CodigoLetra        = letraDynamic.CodigoLetra,
                    CodigoBanco        = letraDynamic.CodigoBanco,
                    CodigoUnicoBanco   = letraDynamic.CodigoUnicoBanco,
                    FechaVencimiento   = fechaVencimiento,
                    CodigoLetraInicial = letraDynamic.CodigoLetraInicial,
                    CodigoLetraPadre   = letraDynamic.CodigoLetraPadre,
                    Estado             = letraDynamic.Estado
                };

                ContextMenu m = new ContextMenu();
                //MenuItem mitEditar = new MenuItem("Editar", mitEditar_Click);
                //mitEditar.Tag = codigoLetra;

                //MenuItem mitToggleActivar = new MenuItem(flagActivo ? "Inactivar" : "Activar", mitToggleActivar_Click);
                //mitToggleActivar.Tag = new { CodigoCliente = codigoCliente, FlagActivo = flagActivo };

                MenuItem mitPagar = new MenuItem("Pagar", mitPagar_Click);
                //mitPagar.Tag = letra;

                if (flagActivo && !flagCancelado && dgvResultados.SelectedRows.Count == 1)
                {
                    MenuItem mitAsignarBanco = new MenuItem("Asignar Banco", mitAsignarBanco_Click);
                    mitAsignarBanco.Tag = letra;

                    MenuItem mitMora = new MenuItem("Asignar Mora", mitMora_Click);
                    mitMora.Tag = letra;

                    MenuItem mitRetirar = new MenuItem("Retirar", mitRetirar_Click);
                    mitRetirar.Tag = letra;

                    MenuItem mitProtestar = new MenuItem("Protestar", mitProtestar_Click);
                    mitProtestar.Tag = letra;

                    MenuItem mitRegenerarLetra = new MenuItem("Regenerar Letra", mitRegenerarLetra_Click);
                    mitRegenerarLetra.Tag = letra;

                    switch ((EstadoLetra)estado)
                    {
                    case EstadoLetra.PorAsignarBanco:
                        m.MenuItems.Add(mitAsignarBanco);
                        break;

                    case EstadoLetra.Pendiente:
                        m.MenuItems.Add(mitAsignarBanco);
                        if (DateTime.Now <= fechaVencimiento)
                        {
                            m.MenuItems.Add(mitRetirar);
                        }
                        if (fechaVencimiento < DateTime.Now)
                        {
                            m.MenuItems.Add(mitProtestar);
                            m.MenuItems.Add(mitMora);
                        }
                        //if (DateTime.Now <= fechaVencimiento.AddDays(9)) m.MenuItems.Add(mitPagar);
                        break;

                    case EstadoLetra.Protestada:
                        if (!letra.CodigoLetraInicial.HasValue)
                        {
                            m.MenuItems.Add(mitRegenerarLetra);
                        }
                        break;

                    default:
                        break;
                    }
                    //m.MenuItems.Add(mitEditar);
                }

                if (dgvResultados.SelectedRows.Count >= 1)
                {
                    var listaLetrasSeleccionadas = dgvResultados.SelectedRows.Cast <DataGridViewRow>().Select(x => (dynamic)x.DataBoundItem).ToList();
                    int cantidadClientes         = listaLetrasSeleccionadas.Select(x => x.CodigoCliente).Distinct().Count();
                    int cantidadMonedas          = listaLetrasSeleccionadas.Select(x => x.CodigoMoneda).Distinct().Count();
                    int cantidadLetrasAPagar     = listaLetrasSeleccionadas.Count(x => DateTime.Now <= fechaVencimiento.AddDays(9) && x.Estado == (int)EstadoLetra.Pendiente);
                    if (cantidadLetrasAPagar == dgvResultados.SelectedRows.Count && cantidadClientes == 1 && cantidadMonedas == 1)
                    {
                        int codigoCliente = listaLetrasSeleccionadas.FirstOrDefault().CodigoCliente;
                        int codigoMoneda  = listaLetrasSeleccionadas.FirstOrDefault().CodigoMoneda;
                        mitPagar.Tag = new
                        {
                            CodigoCliente = codigoCliente,
                            CodigoMoneda  = codigoMoneda,
                            ListaLetra    = listaLetrasSeleccionadas
                        };
                        m.MenuItems.Add(mitPagar);
                    }

                    MenuItem mitVerFormato = new MenuItem("Ver Formato", mitVerFormato_Click);
                    //mitVerFormato.Tag = letra;
                    m.MenuItems.Add(mitVerFormato);
                }
                //m.MenuItems.Add(mitToggleActivar);

                m.Show(dgvResultados, new Point(e.X, e.Y));
            }
        }
예제 #23
0
 public FrmLetraRetirar(LetraBe letra)
 {
     InitializeComponent();
     this.letra = letra;
 }
예제 #24
0
 public FrmLetraAsignarMora(LetraBe letra)
 {
     InitializeComponent();
     this.letra = letra;
 }