private RECIBO getRecibo(string numero)
 {
     try
     {
         RECIBO recibo = new RECIBO();
         recibo.NUMERO_RECIBO = numero;
         recibo = serviciosRECIBO.buscarPrimeroRECIBO(recibo);
         return(recibo);
     }
     catch (Exception exp)
     {
         return(null);
     }
 }
Ejemplo n.º 2
0
 private void pagarRecibo()
 {
     try
     {
         double   valorTmp = 0;
         double   valor    = recibo.VALOR;
         Pagos    pago;
         DateTime fechaPago = datFechaPago.Value;
         foreach (DataGridViewRow fila in grdFormaPago.Rows)
         {
             if (!fila.Cells["valor"].Value.ToString().Equals("0"))
             {
                 double diferencia;
                 pago              = new Pagos();
                 pago.FECHA_PAGO   = fechaPago;
                 pago.ID_RECIBO    = recibo.ID;
                 pago.ID_FORMAPAGO = int.Parse(fila.Cells["ID"].Value.ToString());
                 pago.VALOR        = double.Parse(fila.Cells["valor"].Value.ToString());
                 valorTmp         += pago.VALOR;
                 if (valorTmp > valor)
                 {
                     diferencia = valorTmp - valor;
                     pago.VALOR = pago.VALOR - diferencia;
                     serviciosPagos.crearPagos(pago);
                     break;
                 }
                 serviciosPagos.crearPagos(pago);
             }
         }
         recibo.ID_ESTADO = 2;
         myRecibo         = new RECIBO();
         myRecibo.ID      = recibo.ID;
         myRecibo         = serviciosRECIBO.buscarPrimeroRECIBO(myRecibo);
         if (myRecibo != null && myRecibo.ID > 0)
         {
             myRecibo.ID_ESTADO  = 2;
             myRecibo.FECHA_PAGO = fechaPago;
             serviciosRECIBO.editarRECIBO(myRecibo);
         }
         MessageBox.Show("Pago realizado correctamente", "Pago correcto", MessageBoxButtons.OK, MessageBoxIcon.Information);
         btnPagar.Enabled = false;
     }
     catch (Exception exp)
     {
         MessageBox.Show("Se presento el siguiente error: " + exp.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Ejemplo n.º 3
0
        private RECIBO liquidarCuota()
        {
            RECIBO recibo;

            wsServiciosLIQUIDACION.LIQUIDACION_DETALLE[] lstDetalles = new wsServiciosLIQUIDACION.LIQUIDACION_DETALLE[1];
            if (grdCuotas.Rows != null && grdCuotas.Rows.Count > 0 && grdCuotas.SelectedRows != null && grdCuotas.SelectedRows.Count > 0 &&
                view_myCliente != null && view_myCliente.ID > 0)
            {
                if (grdCuotas.SelectedRows[0].Cells["NUMERO_RECIBO"].Value != null &&
                    String.IsNullOrEmpty(grdCuotas.SelectedRows[0].Cells["NUMERO_RECIBO"].Value.ToString()) || String.IsNullOrWhiteSpace(grdCuotas.SelectedRows[0].Cells["NUMERO_RECIBO"].Value.ToString()))
                {
                    //***********************************************************************
                    String sql =
                        @"SELECT 
                        TARIFA_DETALLE.ID
                        FROM
                        TARIFA_DETALLE
                        INNER JOIN TARIFA_CONCEPTO ON (TARIFA_DETALLE.ID_TARIFA_CONCEPTO = TARIFA_CONCEPTO.ID)
                        WHERE 
                        TARIFA_CONCEPTO.NOMBRE = 'CUOTA ACUERDO PAGO'";
                    DataSet ds = serviciosSQL.consultaSQL(sql, "id");
                    if (ds != null && ds.Tables != null && ds.Tables["id"] != null && ds.Tables["id"].Rows.Count > 0)
                    {
                        wsServiciosLIQUIDACION.LIQUIDACION_DETALLE detalle = new wsServiciosLIQUIDACION.LIQUIDACION_DETALLE();
                        detalle.ID_TARIFA_DETALLE = int.Parse(ds.Tables["id"].Rows[0][0].ToString());
                        detalle.VALOR_CONCEPTO    = float.Parse(grdCuotas.SelectedRows[0].Cells["VALOR"].Value.ToString());
                        lstDetalles[0]            = detalle;
                        //************************************************************************
                        wsServiciosLIQUIDACION.LIQUIDACION liquidacion = new wsServiciosLIQUIDACION.LIQUIDACION();
                        liquidacion.ID_CLIENTE = view_myCliente.ID;
                        TIPO_LIQUIDACION tipo = new TIPO_LIQUIDACION();
                        tipo.TIPO = "AP";
                        tipo      = serviciosTIPO_LIQUIDACION.buscarPrimeroTIPO_LIQUIDACION(tipo);
                        if (tipo != null && tipo.ID > 0)
                        {
                            liquidacion.ID_TIPO_LIQUIDACION = tipo.ID;
                        }
                        liquidacion.TOTAL = float.Parse(grdCuotas.SelectedRows[0].Cells["VALOR"].Value.ToString());

                        var clienteSerializado = JsonConvert.SerializeObject(view_myCliente);
                        wsServiciosLIQUIDACION.VIEW_CLIENTE clienteDesserializado = JsonConvert.DeserializeObject <wsServiciosLIQUIDACION.VIEW_CLIENTE>(clienteSerializado);

                        liquidacion = serviciosLIQUIDACION.crearMultipleLIQUIDACION_2(liquidacion, lstDetalles, clienteDesserializado);
                        if (liquidacion != null && liquidacion.ID > 0)
                        {
                            WSServiciosRECIBO.ServiciosRECIBO servicio = new WSServiciosRECIBO.ServiciosRECIBO();

                            var liquidacionSerializado = JsonConvert.SerializeObject(liquidacion);
                            WSServiciosRECIBO.LIQUIDACION liquidacionDesserializado = JsonConvert.DeserializeObject <WSServiciosRECIBO.LIQUIDACION>(liquidacionSerializado);

                            WSServiciosRECIBO.LIQUIDACION_DETALLE[] lstLiquidacionDetalle = new WSServiciosRECIBO.LIQUIDACION_DETALLE[1];
                            var detalleSerializado = JsonConvert.SerializeObject(lstDetalles[0]);
                            WSServiciosRECIBO.LIQUIDACION_DETALLE detalleDesserializado = JsonConvert.DeserializeObject <WSServiciosRECIBO.LIQUIDACION_DETALLE>(detalleSerializado);
                            lstLiquidacionDetalle[0] = detalleDesserializado;

                            clienteSerializado = JsonConvert.SerializeObject(clienteDesserializado);
                            WSServiciosRECIBO.VIEW_CLIENTE clienteTmp = JsonConvert.DeserializeObject <WSServiciosRECIBO.VIEW_CLIENTE>(clienteSerializado);

                            recibo = servicio.generarRECIBO(liquidacionDesserializado, lstLiquidacionDetalle, clienteTmp);
                            if (recibo != null && recibo.ID > 0)
                            {
                                MessageBox.Show("Liquidación realizada correctamente", "Liquidación correcta", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                return(recibo);
                            }
                            else
                            {
                                MessageBox.Show("Ocurrio algún problema y la liquidación fue incorrecta", "Liquidación incorrecta", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                return(null);
                            }
                        }
                        else
                        {
                            MessageBox.Show("Ocurrio un error desconocido y la liquidación no se realizó correctamente", "Liquidación incorrecta", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return(null);
                        }
                    }
                    else
                    {
                        MessageBox.Show("La liquidación no puede continuar ya que no se a configurado el concepto y el detalle de la tarifa para CUOTA ACUERDO PAGO", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return(null);
                    }
                }
                else
                {
                    if (grdCuotas.SelectedRows[0].Cells["NUMERO_RECIBO"].Value != null &&
                        !String.IsNullOrEmpty(grdCuotas.SelectedRows[0].Cells["NUMERO_RECIBO"].Value.ToString()) &&
                        !String.IsNullOrWhiteSpace(grdCuotas.SelectedRows[0].Cells["NUMERO_RECIBO"].Value.ToString()))
                    {
                        recibo = new RECIBO();
                        recibo.NUMERO_RECIBO = grdCuotas.SelectedRows[0].Cells["NUMERO_RECIBO"].Value.ToString();
                        recibo = serviciosRECIBO.buscarPrimeroRECIBO(recibo);
                        return(recibo);
                    }
                    else
                    {
                        return(null);
                    }
                }
            }
            else
            {
                MessageBox.Show("No se seleccionó ningúna cuota de la lista", "Seleccione una cuota", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return(null);
            }
        }