Beispiel #1
0
        public void GuardarCambios(cCuentasCobrar Cuenta)
        {
            try
            {
                if (ValidacionDocumentos(Cuenta))
                {
                    //Si el almacen existe entonces actualizamos
                    if (CuentaCobrarDA.Existe(Cuenta.Codigo))
                    {
                        CuentaCobrarDA.Actualizar(Cuenta);
                    }
                    else
                    //Si el almacen es nuevo entonces creamos
                    {
                        if ((CuentaCobrarDA.Existe(Cuenta.CodigoDocumento.ToString(), (Int32)Cuenta.CodigoCliente)) == false || (ConcCxCDA.BuscarPorID((Int16)Cuenta.CodigoConcepto).Referencia == "S"))

                        {
                            if (ValidacionReferencia(Cuenta))
                            {
                                CuentaCobrarDA.Crear(Cuenta);
                            }
                        }
                        else
                        {
                            throw new Exception("El documento ya existe para el cliente seleccionado, favor revise nuevamente");
                        }
                    }
                }
            }
            catch (Exception Ex)
            {
                throw Ex;
            }
        }
Beispiel #2
0
        private Boolean ValidacionDocumentos(cCuentasCobrar Cuenta)

        {
            //Validacion de documento vacio
            if (Cuenta.CodigoDocumento == null)
            {
                throw new Exception("Debe especificar un numero de documento");
            }
            else
            {
                return(true);
            }
        }
Beispiel #3
0
        private void btnCancelar_Click(object sender, EventArgs e)
        {
            try
            {
                DialogResult Resultado = MessageBox.Show("Se procedera a eliminar el registro seleccionado y afectara las cuentas por cobrar, ¿Desea continuar?", "Eliminar registro", MessageBoxButtons.YesNo, MessageBoxIcon.Information);

                if (Resultado == DialogResult.Yes)
                {
                    //CANCELACION DE DOCUMENTOS EN CUENTAS POR COBRAR
                    CuentasCobrarBL ObjetoCuenta = new CuentasCobrarBL();
                    cCuentasCobrar  Cuenta       = ObjetoCuenta.BuscarPorID(CodigoCuenta);
                    ObjetoCuenta.CancelarDocumento(Cuenta);
                }
            }

            catch (Exception Ex)
            {
                MessageBox.Show(Ex.Message, "Error al cancelar transacción", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Beispiel #4
0
 private void CargarMovimiento(cCuentasCobrar Cuenta)
 {
     if (Cuenta != null)
     {
         //Cargamos el movimiento que se recibe como parametro para mostrarlo en los controles
         txtCodigo.Text             = Cuenta.Codigo.ToString();
         cbbClientes.SelectedValue  = Cuenta.CodigoCliente;
         cbbConcepto.SelectedValue  = Cuenta.CodigoConcepto;
         txtFactura.Text            = Cuenta.CodigoFactura.ToString();
         txtDocumentoPagar.Text     = Cuenta.CodigoDocumento.ToString();
         txtReferencia.Text         = Cuenta.CodigoReferencia;
         txtMonto.Text              = Cuenta.Monto.ToString();
         dtpFecha_Emision.Value     = Cuenta.FechaEmision;
         dtpFecha_Vencimiento.Value = Cuenta.FechaVencimiento;
         txtNotas.Text              = Cuenta.Notas;
     }
     else
     {
         MessageBox.Show("Error al mostrar datos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Beispiel #5
0
        private Boolean ValidacionReferencia(cCuentasCobrar Cuenta)
        {
            //Validamos si la referencia existe en caso de que el concepto asi lo requiera
            Byte Concepto = Convert.ToByte(Cuenta.CodigoConcepto);

            if (ConcCxCDA.BuscarPorID(Concepto).Referencia == "S")
            {
                if (Cuenta.CodigoReferencia.ToString() != String.Empty)
                {
                    return(true);
                }
                else
                {
                    throw new Exception("Error al guardar movimiento, Debe especificar la referencia del movimiento");
                }
            }
            else
            {
                return(true);
            }
        }
Beispiel #6
0
        private void InsertarPagos()
        {
            //Insertamos los datos que se encuentran en el datagrid de pagos
            try
            {
                CuentasCobrarBL ObjetoCuenta = new CuentasCobrarBL();

                if (dgvPagos.RowCount > 0)
                {
                    foreach (DataGridViewRow Item in dgvPagos.Rows)
                    {
                        cCuentasCobrar Cuenta = new cCuentasCobrar();
                        Cuenta.Codigo           = -1;
                        Cuenta.CodigoFactura    = -1;
                        Cuenta.CodigoConcepto   = Item.Cells[0].Value;
                        Cuenta.CodigoCliente    = ObtenerCliente();
                        Cuenta.CodigoDocumento  = Item.Cells[2].Value;
                        Cuenta.CodigoReferencia = Item.Cells[3].Value.ToString();
                        Cuenta.Notas            = Item.Cells[6].Value.ToString();
                        Cuenta.FechaEmision     = Convert.ToDateTime(Item.Cells[4].Value);
                        Cuenta.FechaVencimiento = Convert.ToDateTime(Item.Cells[4].Value);
                        Cuenta.Monto            = Convert.ToDecimal(Item.Cells[5].Value.ToString());
                        ObjetoCuenta.GuardarCambios(Cuenta);
                        this.Close();
                    }
                }
                else
                {
                    throw new Exception("Debe introducir al menos un pago para poder procesarse");
                }
            }
            catch (Exception Ex)
            {
                MessageBox.Show(Ex.Message + " Error al intentar insertar transaccion", "Error al guardar cambios", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Beispiel #7
0
        private cCuentasCobrar ObtenerDatos()
        {
            try
            {
                cCuentasCobrar Cuenta = new cCuentasCobrar();
                Cuenta.Codigo           = Convert.ToInt32(txtCodigo.Text);
                Cuenta.CodigoCliente    = ObtenerCliente();
                Cuenta.CodigoConcepto   = ObtenerConcepto();
                Cuenta.CodigoFactura    = ObtenerFactura();
                Cuenta.Estatus          = true;
                Cuenta.CodigoDocumento  = txtDocumentoPagar.Text;
                Cuenta.CodigoReferencia = ObtenerReferencia();
                Cuenta.FechaEmision     = dtpFecha_Emision.Value;
                Cuenta.FechaVencimiento = dtpFecha_Vencimiento.Value;
                Cuenta.Monto            = ObtenerMonto();
                Cuenta.Notas            = txtNotas.Text;

                return(Cuenta);
            }
            catch (Exception Ex)
            {
                throw Ex;
            }
        }
Beispiel #8
0
        public cCuentasCobrar BuscarPorID(String DocumentoID)
        {
            //Buscamos un cargo general por el documento que lo identifica
            try
            {
                cCuentasCobrar Cuenta = CuentaCobrarDA.BuscarPorID(DocumentoID);
                Int32          Codigo; //Variable de comprobacion

                //Validamos que retornamos un valor no nulo
                if (Cuenta.Codigo == 0)
                {
                    //Retornamos un error si no existe resultado
                    throw new Exception("El documento seleccionada no existe, favor verificar");
                }
                else
                {
                    return(Cuenta);
                }
            }
            catch (Exception Ex)
            {
                throw Ex;
            }
        }
Beispiel #9
0
        public void CancelarDocumento(cCuentasCobrar Cuenta)
        {
            //Cancelacion de un abono
            //Localizamos el concepto para verificar el tipo
            cConcepto Concepto = ConcCxCDA.BuscarPorID((Int16)Cuenta.CodigoConcepto);

            //Tipo Abono
            if (Concepto.Tipo.ToString() == "A")
            {
                //Verificamos si el documento es tipo Nota de Credito y si esta cancelado
                if (Concepto.Descripcion.ToString() == "Nota de Credito")
                {
                    //Documento Nota de Credito
                    cFactura stNotaCredito = FacturaDA.BuscarPorID(Cuenta.CodigoFactura, "D");
                    //Verificamos Si esta Cancelado
                    if (stNotaCredito.EstatusID.ToString() == "C")
                    {
                        //Cancelamos la transaccion
                        Cuenta.Estatus = false;
                        GuardarCambios(Cuenta);
                    }
                    else
                    {
                        throw new Exception("El documento no puede ser cancelado, la nota de credito se encuentra vigente en el sistema");
                    }
                }
                else
                {
                    //Si es un Abono cancelamos la transaccion
                    Cuenta.Estatus = false;
                    GuardarCambios(Cuenta);
                }
            }
            else
            {
                //Verificamos el estatus de la factura en caso de que sea
                if (Concepto.Descripcion.ToString() == "Factura")
                {
                    cFactura stFactura = FacturaDA.BuscarPorID(Cuenta.CodigoFactura, "F");

                    //Si la factura esta cancelada cancelamos la transaccion
                    if (stFactura.EstatusID.ToString() == "C")
                    {
                        Cuenta.Estatus = false;
                        GuardarCambios(Cuenta);
                    }
                    else
                    {
                        throw new Exception("El documento no puede ser cancelado, la factura se encuentra vigente en el sistema");
                    }
                }
                else
                {
                    //Si es un cargo aplicado verificamos que no tenga pagos vigentes
                    List <cCuentasCobrar> ListaPagos = (from c in ListaPagoCargos(Cuenta.CodigoFactura.ToString(), (Int32)Cuenta.CodigoCliente)
                                                        select c).ToList();

                    //Si tiene Cargos o pagos relacionados
                    if (ListaPagos.Count == 0)
                    {
                        Cuenta.Estatus = false;
                        GuardarCambios(Cuenta);
                    }
                    else
                    {
                        throw new Exception("El documento no puede ser cancelado, el documento contiene pagos o cargos aplicados");
                    }
                }
            }
        }